Page 1 of 2

CUDAFLOW plug-in

Posted: Mon Apr 04, 2011 4:30 pm
by kaistudio
I've test my ParticleSolverPlgSdk type plug-in named 'cudaflow' ver0.1 with a typical scene setting.
In the scene, I got 3.6x speed-up than CPU based solver. :)

Specification:
# of particles: 505832
# of Thread : 16 (2 Xeon CPUs: 2.27, 2.39 )
RAM: 8GB
# of GPU : 1 (GTX 580 with 1.5GB memory)

Here are some playback avi files.
http://taekwon.kaist.ac.kr/realflow/compare-cpuonly.avi
http://taekwon.kaist.ac.kr/realflow/com ... elease.avi

Re: cudaflow plug-in ver0.1

Posted: Mon Apr 04, 2011 4:45 pm
by kaistudio
FYI, there was no significant difference in speed btw debug, release version.

Re: cudaflow plug-in ver0.2

Posted: Tue Apr 05, 2011 9:03 am
by kaistudio
Now, the interaction with existing daemons is enabled!
It's now version 0.2 :)

Movie (79MB)
http://taekwon.kaist.ac.kr/realflow/cudaflow-daemon.avi

Re: CUDAFLOW plug-in

Posted: Sat Apr 09, 2011 5:06 pm
by kaistudio
Now, the CUDA based collision (fully compatible with realflow geometries ) enabled!
It's now version 0.3 ;)

Re: CUDAFLOW plug-in

Posted: Sun Apr 10, 2011 4:33 pm
by kaistudio
Now, UI (properties) for simulations and collisions are enabled!
It's now version 0.4 :)

Re: CUDAFLOW plug-in

Posted: Fri Apr 15, 2011 4:55 am
by kaistudio
Now, surface tracking (finding water surface particles) feature is added!
It's now version 0.5 8-)

Re: CUDAFLOW plug-in

Posted: Fri Apr 15, 2011 9:22 am
by IoSim
Very interesting project :)
It sounds like you're making good progress.

-Cheers Ole

Re: CUDAFLOW plug-in

Posted: Fri Apr 22, 2011 1:21 pm
by kaistudio
Thanks for the comment!
Now, I've added
+ sub-step according to collision particle size and velocity -> ver0.6 :)
+ PCISPH solver -> ver0.7 :)

Re: CUDAFLOW plug-in

Posted: Fri Jun 17, 2011 6:59 am
by kaistudio
2011 Apr 04 ~ 2011 May 17

ver0.1 Basic CUDA based ParticleSolverPlgSdk type plug-in
ver0.2 Interaction with deamon
ver0.3 Object collision handling
ver0.4 UI update
ver0.5 Surface tracking
ver0.6 Sub-step for accurate collision
ver0.7 PCISPH solver
ver0.8 File exporter (data: particle normal, magnitude of gradient of color field) for secondary particle generation
ver0.9 Sub-particles generation
ver1.0 Scalable gaussian kernel with negative radius

1) Rendered using Maxwell.
2) Visualization using a custom bitmap emitter.

Re: CUDAFLOW plug-in

Posted: Fri Jun 17, 2011 7:43 am
by kaistudio
Screenshot:
ui.jpg
A sceenshot of a test scene.
The bunny is an imported obj and have 9 bitmap emitters for generating sub-particles.
The 9 Bitmap emitters are exploited to use my custom emitter(type is 'debug' in my case).
The customization is simple; my 'debug' emitter is a kind of ParticleSolverPlgSdk which does nothing during integrate, computeInternalForces callback.

How to use:
1) User can apply CUDAFLOW plug-in by selecting the fluid type to 'CUDAFLOW' to an emitter.
(I have a plan to extend to support multiple emitters in short time ;) )
In the test scene, I've used Circle emitter.

2) Before the simulation, user should set up simulation options>Integration
as in attached file (Fixed with substep:1).
fxtime.jpg
This process is required that CUDAFLOW has its own sub-step procedure.

3) Run by clicking 'Simulate' button

Preparation:
User has to install CUDA toolkit
I recommand to download CUDA toolkit 3.2 for 'window xp/vista/7 with 64 bit binaries'
(http://developer.nvidia.com/cuda-toolkit-32-downloads)

Schedule:
I'll write a help document for parameters in CUDAFLOW.
After that, the dll files for CUDAFLOW, debug type will be uploaded with the tutorial.

Resource:
Source code and test dll(before release) are available upon a request
Send an email to: taekwon@kaist.ac.kr (http://taekwon.kaist.ac.kr)