OpenFoam on Linux + CUDA
This is a post to ask if anyone has had dealings with using CUDA and OpenFoam and if so, how you managed it and did it improve speed of results. It may be a little late for my current project but there is no harm preparing for the next one!
I did a side project in grad school on the topic and the code is now a slow moving (if that) project
where i gave a presentation a few years ago
Implementing Fast Parallel Linear System Solvers In OpenFOAM based on CUDA
CUFFLINK works in serial and in parallel, and uses the domain decomposition method that OpenFOAM uses for parallelization but it needs some help to improve its performance. There is some discussion on the topic on the forum
and there are some commercial versions that may work for you as well.
Did it improve my results? In some cases yes and in others not really..but there could be more improvements made to change this. This is still an active research topic. See the link to the forum discussion for more details.
Thanks Dan. Will have a look at it! I am just getting into CFD and had a couple of friends who ran simulations using CUDA for their theses in microbiology. Tis interesting stuff!
http://www.openfoamworkshop2013.org/...nakov-OFW8.tar Accelerating OpenFOAM with Parallel GPU Linear Solver from 8th OpenFOAM workshop
also on the previous OF workshop there is material =>Optimization & HPC
http://www.opencae.jp/attachment/wik...13_Hayashi.pdf Slide 15..
In addition to the links that Elvis provided, there has also been some work in using OpenCL instead of CUDA, but the vast majority of effort has been put towards using CUDA. If you wanted to do some things on your own, there are some sparse matrix math libraries that are extremely helpful including CUSP, THRUST, and CUSPARSE.
The latest release of SpeedIT will be interesting for your if you are running OpenFOAM on desktop computer with the AMD cards.
- OpenCL version of Conjugate Gradient, BiConjugate Gradient together with diagonal preconditioner.
- OpenCL version of Sparse Matrix-Vector Multiplication.
The performance has been tested on three cases: external flow simulation over a simplified model of a car Ahmedbody with 1.37M cells, and blood flow simulations through basiliary and caretoid arteries.
See the full report for details.
|All times are GMT -4. The time now is 00:58.|