CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Installation (
-   -   OpenFoam on Linux + CUDA (

Phizz82 August 6, 2013 11:36

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!

chegdan August 6, 2013 13:41

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.

Good luck

Phizz82 August 6, 2013 15:12

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!

elvis August 7, 2013 03:43

Hi, Accelerating OpenFOAM with Parallel GPU Linear Solver from 8th OpenFOAM workshop
also on the previous OF workshop there is material =>Optimization & HPC Slide 15..

chegdan August 7, 2013 09:30

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.

Lukasz October 15, 2013 15:21

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 23:14.