Is there any possibility that GPU be apllied in the calculation of YADE?

Asked by xuelong14

Is there any possibility that GPU be apllied in the calculation of YADE if I made some modification to the source code of YADE?
If achieved, will it improve the calculation efficiency a lot ?

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
Bruno Chareyre
Solved:
Last query:
Last reply:
Revision history for this message
Bruno Chareyre (bruno-chareyre) said :
#1

Hello,
To the first question the answer is of course "yes".
Unfortunately it is difficult (for me at least) to answer the second one
before concrete implementation + benchmarking.
Are you familiar with GPU implementations?
Bruno

Revision history for this message
xuelong14 (xuelong03) said :
#2

Sorry, I am not familiar with GPU implementation.
I heard from some one else who said GPU implementation is almost impossible for YADE :(
DEM is really fit for GPU implementation and many people say the calculation efficiency may improve a lot if achieved.
I am really looking forward for someone who can achived the GPU implementation for YADE :)

Revision history for this message
Best Bruno Chareyre (bruno-chareyre) said :
#3

> GPU implementation is almost impossible for YADE

Not sure what it really means. If someone was going for GPU he would have to be prepared for big changes in the code of course, like for every other computer code. Wasn't it implicit in your question?

>DEM is really fit for GPU implementation

Not so sure. According to [1] GPU gives x7 speedup compared to single-core CPU. Which is pretty bad, we get nearly the same speedup from 12-cores OpenMP for large problems. In [2] the speedup was x10 but the comparison was unfair since the code tested on the GPU was a better re-implementation of the old sub-optimal code that was tested on the CPU, i.e. some small scale optimizations independent of CPU/GPU were also counted.
Nothing really impressive overall.

[1] https://arxiv.org/pdf/1301.1714
[2] https://hal.archives-ouvertes.fr/hal-00733674/document

Revision history for this message
xuelong14 (xuelong03) said :
#4

Thanks Bruno Chareyre, that solved my question.

Revision history for this message
xuelong14 (xuelong03) said :
#5

Thank you very much for your answers.
I have another question. The more cores, the better calculation efficiency for YADE, but is there an upper limit for the number of cores over which the calculation efficiency will improve very little ?

Revision history for this message
Klaus Thoeni (klaus.thoeni) said :
#6

Yes, there is an upper limit. It will depend on the type of simulation you are doing. We did some performance tests a couple of years ago [1,2]. Have a look.

Klaus

[1] https://yade-dem.org/wiki/Performance_Test
[2] https://yade-dem.org/wiki/Multicore_Performance