OpenFOAM and OpenCL
I am working upon porting CFD equations to GPU, which is nothing but accelerating OpenFOAM by porting some of relatively more time consuming as well as parallelizable codes to OpenCL. There are some questions that i wanted to ask:
1. Which profiler should be best to use for OpenFOAM? If anyone has used a profiler or has an idea about them, please guide me through it.
2. As currently I have almost completely understood icoFoam and simpleFoam solvers and i will try to port some parts of those solvers only. So my question is, does anyone know, which parts of these solver codes are parallelizable, which can be ported to OpenCL?
If anyone else working on the same kind of things, then probably we can discuss a few things in this thread.
I find the callgrind tool in valgrind (with a kcachegrind post-process) most useful to get a relatively quick idea of the most expensive aspects of the code. You can also compile your code in profile-mode and use gprof.
I'm more than willing to bet that the most expensive aspect of any CFD solver would be the matrix-solvers (and more specifically, the sparse matrix multiply). I believe that there are a few folks who have already ported some solvers to CUDA, so you can take a cue from them.
|All times are GMT -4. The time now is 17:29.|