Early Results Using Fortran's `Do Concurrent` Standard Parallelism on Intel GPUs with the IFX Compiler

Writing GPU-accelerated code often requires specialized language extensions or directive APIs like OpenACC or OpenMP. Using features within standard languages to achieve GPU-acceleration has gained interest, as it allows for portable code that is easier to develop and understand, and has increased (vendor independent) longevity. For our production Fortran codes, we have successfully used the language’s `Do Concurrent` (DC) construct for GPU acceleration on NVIDIA GPUs with the nvfortran compiler. While using DC alone was possible, adding some directives was desired for efficiency. Here, we demonstrate early results of running one of our Fortran codes on an Intel MAX GPU using the recent DC GPU support in the OneAPI IFX compiler. The code runs correctly and exhibits good compute performance, but suffers from excessive data movement. We discuss some paths forward in mitigating this problem, and look forward to further development and testing of our more complex DC codes.

Download Presentation


Learn about joining the UXL Foundation:

Join now