My application for Cuda-Fortran is in the area of electromagnetic modeling. This involves creating matrices filled with complex (single and double) values, then solving the matrix and using the solution to create various predictions such as radar cross-section, RCS.
Integral to my work is the availability of BLAS and LAPACK routines. Preferably, these should be written in Fortran. Furthermore, they should be not “plug-ins” for CPU programs. Rather, I want to port as much of the application onto the GPU as feasible. This means that the BLAS/LAPACK routines need to be incorporated into the kernel, solve the matrix equations and then provide the data to calculate the RCS - all without interaction with the CPU.
I have been in touch with E M Photonics in connection with their CULA products, which have a Fortran interface. However they have nothing that is directly callable from within kernels.
The code recently released by the MAGMA group appears to be exclusively in C and Cuda-C. Furthermore, they appear to be performing a lot of load sharing between the CPU and the GPU.
My question to PGI is “what are you plans regarding BLAS and LAPACK in connection with Cuda-Fortran”? If you have no plans, what are your recommendations?