Hi!!
This is my first attempt for a CPU based DEM (discreet elements method) simulator ( more info here: http://http.developer.nvidia.com/GPUGems3/gpugems3_ch29.html )
It's based on a Nvidia demo I saw running with the GPU, It was really cool, so I tried to do the same but with the CPU and multithreaded. Of course is not so fast as the GPU version, but it´s not too bad. 100000 particles - 18 fps.
Note that the drawing is not optimized at all, so it´s much slower when I draw spheres. Probably it could be used for a sand simulation or something like that. I made tests at around 1fps with one million particles. I'm now writing a plugin for Houdini.
Cheers!!
2 comments:
Hi Tony,
Really cool. Did you use sse apart from multithreading? What approach did you take to parallelize the demo, just plain threads (ie, boost::threads), openmp or a task scheduler (ie, tbb)?
Keep the good work!
Cheers,
Ruben Penalva
http://www.rpenalva.com
Hi Ruben!
Thanks, I'm glad you like it :)
Nope, I didn't use sse, nor boost. In fact, what I did is a very simple multithreading system. I used Qt threads, I just divided the grid and sent a bunch of particles for every thread to process. So it's really simple, and I think there's a lot of room for improvement.
I'll work on that :)
Cheers!
Tony
Post a Comment