Porting to Accelerators with Hybrid Fortran

Print Friendly, PDF & Email

Over at Typhoon Computing, Michel Müller writes programmers looking to port their code to accelerators now have a new open-source tool called Hybrid Fortran. This python-based preprocessor parses annotations together with your Fortran code structure, declarations, accessors and procedure calls, and then writes separate versions of your code – once for CPU with OpenMP parallelization and once for GPU with CUDA Fortran.

 Hybrid Fortran unified code: Separate loop structures for CPU and GPU, automatic code conversion to higher dimensions when needed.


Hybrid Fortran unified code: Separate loop structures for CPU and GPU, automatic code conversion to higher dimensions when needed.


 

You’re hearing about your organization ordering a new cluster. In order to get closer to Exascale, this cluster will sport these fancy new accelerators. So all new HPC software projects should evaluate, if and how they can make use of coprocessors. You start reading yourself into the accelerator landscape. OpenCL, CUDA, OpenACC, OpenMP, ArrayFire, Tesla, Intel MIC, Parallela… Your head starts getting dizzy from all this stuff – all these hardware and software tools have lots of overlap, but also significant differences. Especially, they’re very different from x86 CPU architecture.

Read the Full Story.