SpeedIT FLOW: a GPU success story
A GPU Success Story in 5 steps* 
* Compare with Accelerated ANSYS Fluent presentation by Robert Strzodka (NVIDIA).
Step 1: Identify the application 
OpenFOAM Computational Fluid Dynamics 
Why OpenFOAM*: 
Free to use and open source, more...
Step 2: Identify the bottlenecks 
GPU 
◼Partial acceleration (see Fig.) is not effective. 
◼ofgpu (from Symscape), Culises...
Step 3: Parallelize the Algorithm 
◼Implement non-linear solvers fully on GPU: 
◼PISO and SIMPLE flow solvers* 
◼AMG preco...
Step 4: Create Production-ready 
Library 
◼Team of GPU specialists, physicists (Vratis, Wroclaw universities). 
◼Understan...
Step 5: Enjoy the acceleration 
Motorbike 
(OpenFOAM tutorial) 
6.5M cells. 
external, aero, turbulent 
flow. 
simpleFoam,...
Step 5: Enjoy the acceleration 
Aero* 
(based on Motorbike) 
3M cells 
external, aero, turbulent 
flow. 
simpleFoam, doubl...
Step 5: Enjoy the acceleration 
Solar Car* 
(based on Motorbike) 
3.7M cells 
external, aero, turbulent 
flow. 
simpleFoam...
SpeedIT FLOW: Hardware 
Hardware: 
CPU: 2 x Intel Xeon E5649 
12M Cache, 2.53 GHz, 5.86 GT/s Intel® QPI, 96GB RAM 
1333 MH...
SpeedIT FLOW: OpenFOAM accelerator 
Use your GPU as an external accelerator 
for your OpenFOAM cases and use CPU as 
usual...
What is SpeedIT FLOW ?
SpeedIT FLOW 1.0 
◼Integration: 
Dynamically linked library with public C-interface, Easy to use API. 
◼Reader/Writer of O...
SpeedIT FLOW: usage 
◼Run from command line 
simpleFoamToSpeedITflow -case ./myCaseInOF #OpenFOAM -> SpeedIT FLOW format c...
Don’t wait. Just SpeedIT. 
Vratis 
Muchoborska 18 
50-424 Wroclaw, Poland 
Questions? 
Contact us at: info@vratis.com
Upcoming SlideShare
Loading in...5
×

SpeedIT FLOW

1,069

Published on

SpeedIT FLOW is a RANS single-phase fluid flow solver that runs fully on GPU. It supports OpenFOAM format and is about 3x faster than OpenFOAM running on 2xCPU.

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,069
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

SpeedIT FLOW

  1. 1. SpeedIT FLOW: a GPU success story
  2. 2. A GPU Success Story in 5 steps* * Compare with Accelerated ANSYS Fluent presentation by Robert Strzodka (NVIDIA).
  3. 3. Step 1: Identify the application OpenFOAM Computational Fluid Dynamics Why OpenFOAM*: Free to use and open source, more and more popular in CFD community. Large user base across engineering industries, e.g. car, oil&gas, material, aviation, etc OPENFOAM® is a registered trademark of ESI Group. This offering is not approved or endorsed by ESI Group, the producer of the OpenFOAM software and owner of the OPENFOAM® and OpenCFD® trademarks.
  4. 4. Step 2: Identify the bottlenecks GPU ◼Partial acceleration (see Fig.) is not effective. ◼ofgpu (from Symscape), Culises (Fluidyna), NVIDIA (nvAMG) offer the mild acceleration for non-linear problems. ◼Maximal acceleration vs. Intel Xeon : ca. 1.8x (nvAMG). Problem: Amdahl’s Law should not be ignored. Solution: Implement the whole solver on GPU. Assemble Linear System of Equations Solve Linear System of Equations Converged ? ca. 40% of Runtime ca. 60% of Runtime Fig. Navier Stokes Equation calculation scheme.
  5. 5. Step 3: Parallelize the Algorithm ◼Implement non-linear solvers fully on GPU: ◼PISO and SIMPLE flow solvers* ◼AMG preconditioner (CUSP). ◼kOmegaSST turbulence model. ◼Various boundary conditions. * Acceleration of Iterative Navier-Stokes solvers on GPUs, Int J Comp Fluid Dynamics 07/2013; 27(4-5):201-209 GPU Assemble Linear System of Equations Solve Linear System of Equations Converged?
  6. 6. Step 4: Create Production-ready Library ◼Team of GPU specialists, physicists (Vratis, Wroclaw universities). ◼Understand the algorithm, parallelize with caution, adapt to GPU hardware limitations. ◼Invest in validation and testing with industrial partners. ◼Have fun working with industry leaders!
  7. 7. Step 5: Enjoy the acceleration Motorbike (OpenFOAM tutorial) 6.5M cells. external, aero, turbulent flow. simpleFoam, double precision Meshing on CPU Solving on GPU x.3.18 acceleration
  8. 8. Step 5: Enjoy the acceleration Aero* (based on Motorbike) 3M cells external, aero, turbulent flow. simpleFoam, double precision Meshing on CPU, solving on GPU x.2.76 acceleration * Geometry obtained from 4-id network.
  9. 9. Step 5: Enjoy the acceleration Solar Car* (based on Motorbike) 3.7M cells external, aero, turbulent flow. simpleFoam, double precision Meshing on CPU Solving on GPU x.2.85 acceleration * Geometry obtained from 4-id network.
  10. 10. SpeedIT FLOW: Hardware Hardware: CPU: 2 x Intel Xeon E5649 12M Cache, 2.53 GHz, 5.86 GT/s Intel® QPI, 96GB RAM 1333 MHz # cores: 2x6 # threads: 2x12 Software: OpenFOAM 2.1 GPU: Quadro K6000 12GB GDDR5 SDRAM OS: Ubuntu 12.04.4 LTS, 64 bit Software: SpeedIT FLOW
  11. 11. SpeedIT FLOW: OpenFOAM accelerator Use your GPU as an external accelerator for your OpenFOAM cases and use CPU as usual. 4 Aero Simulations on CPU: 4 x 5493 sec (12 CPU cores occupied) 4 Aero Simulations on GPU: 4 x 2100 sec. (1 CPU core occupied) … and your CPU is still not busy! You can use it for meshing, visualization, another simulations (Fig: 3xGPU + 1x11 CPU cores is 3.2x faster!).
  12. 12. What is SpeedIT FLOW ?
  13. 13. SpeedIT FLOW 1.0 ◼Integration: Dynamically linked library with public C-interface, Easy to use API. ◼Reader/Writer of OpenFOAM* cases. ◼GPU accelerated solvers: gico, gsimple, gpiso ◼Turbulence model: kOmegaSST. ◼Solves problem with geometries up to 7 million cells on a single card (with 12GB GPU RAM). ◼Supports AMD** and NVIDIA cards. * Tested with OpenFOAM ver. 2.0.1 ** SpeedIT FLOWCL to be released.
  14. 14. SpeedIT FLOW: usage ◼Run from command line simpleFoamToSpeedITflow -case ./myCaseInOF #OpenFOAM -> SpeedIT FLOW format conversion gpiso ./myCaseInOF & #solves the case on GPU. Use CPU for other tasks. paraFoam -case ./myCaseInOF # visualize the result. ◼Use API
  15. 15. Don’t wait. Just SpeedIT. Vratis Muchoborska 18 50-424 Wroclaw, Poland Questions? Contact us at: info@vratis.com

×