Im new and planning how to convert a LARGE serial Fortran program to run on GPU. The code is a finite differnce model and I suspect very parallelizable. Advice on below would be much appreciated.
My plan is to convert the FORTRAN to C++, check all works through visual studio express then move to CUDA
and test different methods for speedup. I saw Portland Group have released CUDA Fortran which sounds like would skip the onerous step 1 however this is (Â£?)800 and beyond budget (unless speedup is extreme which I dont know yet).
I have tried (automated) OpenMP implementation with the intel copmpiler on the Fortran code and have had limited success. Certainly not the speedup hoping for. I am certain have got the options correct but suspect CPU parallelisation (at least letting the compiler decide where to parallelize) is not the answer. This is why im lookiing to GPU/CUDA
I want to develop and initially test on my ‘good last year’ gaming machine and if initial results look promising upgrade to a more intensive system.
When complete will make the code open source
A few specific questions:
Im willing to learn C, but would rather C++. For the purposes of CUDA would C++ be usable?
The program runs in double precission (required). Do I need a more specialist card?
Do you see any ‘not good plans’ in above?
I am new to CUDA and would appreciate any advice.