|
[Sponsors] |
July 14, 2010, 08:19 |
GPU based CFD code
|
#1 |
New Member
Harry
Join Date: Mar 2009
Posts: 27
Rep Power: 17 |
is there some researches regarding the development of FVM based codes under GPU computational environments?
|
|
July 14, 2010, 09:59 |
Gpu cfd
|
#2 |
Senior Member
Richard Smith
Join Date: Mar 2009
Location: Enfield, NH, USA
Posts: 138
Blog Entries: 4
Rep Power: 17 |
Yes, check out SpeedIT Toolkit 0.9 for OpenFOAM.
__________________
Symscape, Computational Fluid Dynamics for all |
|
July 14, 2010, 10:13 |
|
#3 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,286
Rep Power: 34 |
Quote:
If yes how was the performance. From the link you posted , a quick glance only show matrix vector product timings. How about AMG in GPU??? PS: I recently tried BiCGstab but did not observe much speed up. (but my gpu only has 110 cores, it is gts 240) |
||
July 14, 2010, 13:07 |
|
#4 |
Member
Nuno Gomes
Join Date: May 2009
Location: Portugal
Posts: 39
Rep Power: 17 |
Sorry for my question, but what are the main differences between FVM based codes under GPU computational environments and FVM based codes under CPU computational environments?
If we want to write a code based under GPU enviroment what are the main points to take in mind? There is some literature? Thanks very many Nuno |
|
July 14, 2010, 20:42 |
|
#5 | |
New Member
Harry
Join Date: Mar 2009
Posts: 27
Rep Power: 17 |
Quote:
Hope we can see its complete release soon. Cheers, Harry |
||
July 14, 2010, 22:19 |
|
#6 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,286
Rep Power: 34 |
Quote:
Here are the basic rules of this game: A) You have many cores that take the task and do it. You divide them into troops and each troop take a part of the job and work on it. Within this troop you have worker, each worker can work on something. B) all the workers will do the same thing. Imagine that you want to calculate C[i] = A[i] + B[i]; each worker will do this , only difference is it will use different i, but the action is same. C) each worker should not interfere with other worker's work. Or in other words , the work each worker is doing is independent of others. For example c[i] = a[i] + b[i] is independent of other's values so could be programmed by GPU. but for c[i] = c[ i ] + c[ i-1] + c[ i - 2 ] c[ i] is dependent on i-1 and i-2 values, imagine that when worker on i is working on , the worker on i-1 and i-2 did not finish their job. This will cause error in results. So not directly parallelizable. There are some more basics, but this is main idea behind it. |
||
September 14, 2010, 12:53 |
|
#7 |
Senior Member
Andrea Pasquali
Join Date: Sep 2009
Location: Germany
Posts: 142
Rep Power: 17 |
Hi,
I'm interesting to GPU for OpenFOAM. I installed the SpeedIT Classic version but I have a problem you can see here: http://www.cfd-online.com/Forums/ope...-openfoam.html Could anyone help me? Thanks Andrea
__________________
Andrea Pasquali |
|
May 22, 2012, 11:12 |
|
#8 | |
Member
|
Quote:
See our benchmarks at vratis.com/blog & speed-it.vratis.com for details. |
||
May 22, 2012, 21:23 |
|
#9 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,286
Rep Power: 34 |
Quote:
Just one small comment. I think your comparison with GAMG is not fair. Smoothed aggregation is very fast compared to GAMG and hence if you run the both on CPUs also you will see that solver with smoothed aggregation is fast. |
||
May 23, 2012, 04:49 |
|
#10 |
Member
|
Could you be more specific and provide some examples where indeed CG+AMG is faster than GAMG? We did some tests with icoFoam and cavity3D, simpleFoam for Ahmedbody and Cabin cases: http://vratis.com/blog/?page_id=2
and in all these examples GAMG seemed to outperform other methods. Although we could only compare with CG+DIC/diagonal on CPU. Our multi GPU solution with AMG seems to be about 60% faster than OpenFOAM (1.6x acceleration of nGPU vs. N CPU, where n is the number of CPU cores and N is the number of GPU cards, measured for various cases for 10 first iterations). |
|
May 23, 2012, 05:20 |
|
#11 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,286
Rep Power: 34 |
Quote:
I can not at the moment (because i do not use openfoam) but I have implemented smoothed aggregation (both single matrix and coupled matrix (u,v,w and p) (iNavier uses smoothed aggregation preconditioned BiCGStab for press by default). It is my experience that BiCGStab preconditioned with smoothed aggregation is more than 2 times faster compared to simple AMG. the gap is much more bigger when mesh sizes increases. (It could even be more than 5 times). If you really want to see the difference try 5 million or more cells. This is based on my experience with smoothed aggregation, classical AMG and Bi CGSTab. Note: CG preconditioned with AMG is not that fast. (sound strange but it is true in practice). Edited to add: You are looking for timing of Navier stokes by changing Solvers. Which i think is not linearly related matrix solvers timing. You should be only comparing pressure equations convergence and time taken by matrix solvers. |
||
May 24, 2012, 14:36 |
|
#12 |
Member
|
This is interesting and we will remember this for future.
FYI, we have never used BCGstab+AMG as most of the time of our solver was spent in solving the pressure equation with CG. Solving u,v,w with BCGstab took much less time: a few iterations per time step comparing to hundreds to solve pressure equation. BTW, we are just writing a paper about ARAEL, our new Navier-Stokes solver that we completely implemented on GPU. Profiling analysis will be added there as well for several tests. if you are interested I could send you a camera-ready version once this is ready. |
|
May 24, 2012, 14:42 |
|
#13 |
Senior Member
cfdnewbie
Join Date: Mar 2010
Posts: 557
Rep Power: 20 |
This is interesting, Lukasz. May I ask what type of solver is it? compressible/incompressible? FV or something else?
|
|
May 24, 2012, 14:52 |
|
#15 |
Senior Member
cfdnewbie
Join Date: Mar 2010
Posts: 557
Rep Power: 20 |
Thanks a lot, very impressive.
|
|
May 24, 2012, 17:36 |
|
#16 | ||
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,286
Rep Power: 34 |
Quote:
Quote:
PS: I can not do AMG creation part in GPU. I know how CUSP lib does though. Please do send it to me. I am definitely very interested. Thank you. |
|||
September 12, 2024, 08:17 |
https://github.com/SimFlowCFD/RapidCFD-dev
|
#18 |
New Member
Join Date: Aug 2022
Posts: 19
Rep Power: 4 |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
A simple CFD code for teaching basic CFD? | Christoph Lund | Main CFD Forum | 13 | September 14, 2005 05:36 |
ASME CFD Symposium | Chris Kleijn | Main CFD Forum | 0 | August 22, 2001 07:41 |
Customer Services | Patrick Godon | Main CFD Forum | 32 | August 23, 1999 07:55 |
Commercial CFD code | Hanson G. He | Main CFD Forum | 1 | October 15, 1998 09:49 |
CFD Symposium (Call for Papers) | Chris R. Kleijn | Main CFD Forum | 0 | October 5, 1998 11:25 |