[Beginner] Program in Fortran77 on GPU

Hi All,

I have a scientific program written in Fortran77 (about 220 lines without comments) with
library also in Fortran77 (about 5000 lines without comments). I want to
use this program on GPU card with CUDA acceleration. I would prefer to
avoid translation of this source code into C language. My question is how
to do it in the best way, to achieve the best performance? I will be
grateful for your help and guidance.

Thanks in advance

Hi All,

I have a scientific program written in Fortran77 (about 220 lines without comments) with
library also in Fortran77 (about 5000 lines without comments). I want to
use this program on GPU card with CUDA acceleration. I would prefer to
avoid translation of this source code into C language. My question is how
to do it in the best way, to achieve the best performance? I will be
grateful for your help and guidance.

Thanks in advance

You probably want to investigate the PGI fortran compiler for CUDA. It will probably be the easiest way to get some Gpu acceleration into a legacy fortran codebase, although the performance may not be quite as good as porting the data parallel parts to C by hand.

You probably want to investigate the PGI fortran compiler for CUDA. It will probably be the easiest way to get some Gpu acceleration into a legacy fortran codebase, although the performance may not be quite as good as porting the data parallel parts to C by hand.

Performances of CUDA Fortran are on par with CUDA C.

If you are talking about the directive based Fortran acceleration, it is another story: the results could be quite good or quite bad.

Performances of CUDA Fortran are on par with CUDA C.

If you are talking about the directive based Fortran acceleration, it is another story: the results could be quite good or quite bad.

I was referring to the Pgi accelerator fortran compiler.

I was referring to the Pgi accelerator fortran compiler.

Whether it is possible for example, linking only kernel procedures written in C, or some another form of language linking?

Whether it is possible for example, linking only kernel procedures written in C, or some another form of language linking?