I would like to know if the op
I would like to know if the openFOAM dev's are perhaps considering or have had a look at gpgpu: http://www.gpgpu.org ?
From the results obtained by these guys, ecspecially Brookgpu from stanford, it would seem the way to go to achieve a huge hardware computation speed up by utilising high end gpu's. This would of course require that all the solvers have to be modified to be able to use gpgpu. Personally I envision that a quad sli system, ie two dual core nvidia sli cards (with 1gig of memory each) on a sli system (with two iexpress x16 slots) could be the equivalent of a small cluster! Maybe we could soon get motherboards able to use 6 or more of these monsters. http://www.pcper.com/article.php?aid=195 and http://www.tomshardware.com/2005/12/14/sneak_preview_of_the_nvidia_quad_gpu_setu p/ Dewald |
Looks very interesting. Hadn't
Looks very interesting. Hadn't seen that one before. Does it run under Linux (our development platform)? In general these things could speed up simple, often repeated loops like e.g. in the linear solver. Our indirect addressing though tends to make this a bit harder (but probably not impossible)
Should make an interesting research project though! |
Yes gpgpu does run under linux
Yes gpgpu does run under linux and windows, brookgpu and Sh, the two main gpgpu langauges or c libraries both are linux based. I think a combination between gpu and cpu will probably be the best, this things looks like it is exploding, there is a lot of papers out, including some cfd and fem work.
|
Of course I'm talking about th
Of course I'm talking about things I don't know too much about (that's one of the things I'm really good at):
I'd agree with Mattjis that the most promising candidate for this would be the linear solver. If someone does this (introduce "vector-processor-like"-architectures to the linear solver) the interface should be general enough to accomodate similar technologies like the forthcoming Cell-processor (Sony/IBM) |
Hi Bernhard,
the following
Hi Bernhard,
the following info might be interesting regarding the Cell-processor and CFD: Re: StarCD and Cell Datum: 10.06.2005 23:59 Von: Stephen R Behling <sbehling@us.ibm.com> An: Jörn Beilke <joern@beilke-cfd.de> Hi Jörn, While the Cell processor is a very interesting processor, we are not yet planning to do a STAR-CD port. The processor is quite new and to get the performance out of the SPEs (extra functional units) an application's source code has to be modified to directly call the SPE access functions. As the Cell processor matures we might have compilers that do it automatically and then a port would be possible. However, the SPEs currently only support 32-bit floating point representations (Fortran REAL*4 or C float) and much of STAR-CD needs 64-bit floating point (Fortran REAL*8 or C double). |
Double precision accuracy with
Double precision accuracy with a combination of cpu and gpu.
http://numod.ins.uni-bonn.de/researc...Tu05double.pdf http://www.gpgpu.org/cgi-bin/blosxom...ing/index.html This paper by Dominik Göddeke, Robert Strzodka and Stefan Turek describes a preliminary algorithm to achieve double precision results by adding a CPU-based defect correction to iterative linear system solvers on the GPU. We demonstrate that identical accuracy as compared to a full CPU double precision solver is possible while still gaining a factor of 2 in speedup compared to a highly tuned cache-aware CPU reference implementation in double precision. (Accelerating Double Precision FEM Simulations with GPUs. Dominik Göddeke, Robert Strzodka and Stefan Turek. To appear in Proceedings of ASIM 2005 - 18th Symposium on Simulation Technique.) |
*bump*
So, has there been any progress with CUDA and OpenFOAM? I'm looking around (search enginewise) at the moment, in an effort to answer this but so far, few results...... BR, Mark. |
Hi Mark
I'm interested in using OpenFOAM through CUDA too so let us know if you find anything. I'm a mechanical engineer by training and with programming being a steep learning curve for me I assumed that coding for the nVidia route would be easier than the gpgpu route. Could someone let me know if I'm wrong. Typically I'm doing crossflow turbine simulations using a rotating domain within a static one or a rotating annulus in a static domain with a static central domain. How I chop it up for optimal parallelisation I have yet to investigate, although I guess that I base my decisions on grid density. Any pointers would be welcome Cheers Nick |
is anyone of you working on openCL / CUDA Solver for OpenFoam ?
If there is more interest, how about a forum/thread for sharing experiences ? I am trying to compile an OpenCL Solver, but I am still at the beginning |
Im gonna stick my chin out...just so that someone can punch me easier :)
CUDA and OpenFOAM...never gonna happen. I've looked into it and to my (limited) understanding its gonna require major recoding on a bottom level to utilize the architecture. So, it will require someone with deep foam knowledge (not that many) plus someone with the time and knowledge in recoding it for CUDA (not that many). Has anyone downloaded the CUDA SDK? These are the 3 files you get in the tutorials to calculate a scalar product. (just so you can get an idea of what kind of work that needs to be done) oh...and it must be compiled with the cuda compiler. Now, Id like someone to prove me wrong :) scalarProd.cu Code:
/* Code:
Code:
|
Hi Niklas,
I agree, that it wont be done in a few minutes. I read some diploma thesis about openFoam and Cuda. It seems that some universities have already compiled some files, but the Prof. I had asked, has not answered yet. I have installed the full OpenCL + Cuda SDK, tried the examples and they work really fine ! Now to Cuda. The first you have to do is to tell your machine, that it has to use the GPU. That is almost easy with openCL or Cuda. Now the main problem I guess: How to use all GPU cores with the most efficiency ? In a diploma thesis I read that the solver ran many times faster on the GPU but the data sharing between GPU and Host was many times slower with the consequence, that the full progress needs the same time. To come to this point would be a great success i think, because the next graphic cards (fermi) are special developed to handle more data. |
> I read some diploma thesis about openFoam and Cuda.
Is it available? I would be interested in this. |
Quote:
Both available but in german. One of them got the engineFoam running with CUDA |
I speak German.. link?
|
Quote:
|
There is another one here:
http://itec.uka.de/capp/diploma/da/doeffinger-2009.pdf I was unaware of these, thx for posting! |
Quote:
Are you already working with Cuda+OpenFoam ? |
> Are you already working with Cuda+OpenFoam ?
No right now I'm trying to understand how some things work in OF, but later maybe it would be interesting to use CUDA or OpenCL. |
Quote:
|
Hi Lukasz,
We've been working with cuda for our own code (not OpenFOAM related) inside my company but for other applications. Do you think it would be possible to try to help you in your development or testing phase in some way, maybe testing one of the solver on our machines? Really waiting forward to see your plugin released. Regards, Vincent |
All times are GMT -4. The time now is 12:59. |