woo

Acceleration with GPU

Asked by Henry

Hi all,
    Is the GPU acceleration has been added in WooDEM? I have some examples have been carried out on GPU "WooDEM: cloth in OpenCL (GPU, via clDem) and c++ (Woo) " [1].
   If so, how use this function in a simulation?
  Thanks a lot!

Best regard,
Henry

[1] http://www.youtube.com/watch?v=FEyPESSfzGI

Question information

Language:
English Edit question
Status:
Solved
For:
woo Edit question
Assignee:
No assignee Edit question
Solved by:
Henry
Solved:
Last query:
Last reply:
Revision history for this message
Václav Šmilauer (eudoxos) said :
#1

Hi Henry,

I uploaded to youtube videos of DEM running on the GPU, as presented at the conference in Grenoble in July. The result is that GPU is *NOT* suitable for the kind of DEM that WooDEM (and most other DEM codes) do, due to its inherent architecture limitations. It targets other computational problems. The presentation will be put to the Yade website soon, I put it temporarily to http://woodem.eu/gpu-grenoble-presentation.pdf . The following videos correspond to the three scripts showed life at the conference, on the last three slides.

https://www.youtube.com/watch?v=lum0yV-RrEM
https://www.youtube.com/watch?v=U6EN7yQ5xBo
https://www.youtube.com/watch?v=zFy5WK6KQgI

There are links to code in the presentation, but as it was much harder to code and slower to run, it has never become mainlined in Woo.

HTH, Václav

Revision history for this message
Václav Šmilauer (eudoxos) said :
#2

I forgot the slides have been updated, so the videos are linked at last three slides inline.

Revision history for this message
Henry (wenjiexu) said :
#3

Many thanks for your help.
According your tests, GPU is not suitable for the WooDEM. However, there are some references on the acceleration of GPU on DEM, and their tests results are very good. And I want to use GPU to accelerate the calculation of Yade, or next to WooDEM. May you give me an suggestion on this project?
Thanks a lot!
Best Regard,
Henry

Revision history for this message
Václav Šmilauer (eudoxos) said :
#4

I have yet to see some persuasive references for this. People claim things, but then the problem is in the detail; they have all spheres of the same radius, or they have very primitive contact law, they don't use anything but sphres, they process half of the simulation on the CPU (see nVidia tutorials on OpenCL where they use particles) and such.

You can also judge by the fact that there is no commercial DEM package offering GPU acceleration (with the exception of Metariver's Samadii, which I never tested, and is very likely severely limited in many ways) -- but I stand corrected if there is some offer on the market now.

If you want to work on GPu acceleration, by all means go ahead, but learn first about GPU architecture so that you understand what this "acceleration" involves (writing code from scratch). I've left this path having spent 6 months full-time on that, you may have more luck, but get the theory right first. I'd advise to code something independent, which runs, and which runs really quickly; if you use Woo as the basis, no problem, but the existing c++ code will not help you on the GPU at all.

HTH, Václav

Revision history for this message
Henry (wenjiexu) said :
#5

Many thanks to Václav. Your suggestions is very useful to me.
Thanks a lot!

Best regard,
Henry