Closed jefflarkin closed 2 years ago
Merged via commits: 8f369e1d038e30629d05c0b4b538d6e7d43c4c41 c07505b0e12ccc4390805fe7fb928c1438e67426 cbf3510ac239b1d8c1d1a47b04de8bb8b48a1047 76787b94a39e23ef541dca7f1ac27a361b051971 82dcf4d3aa4544ac8cf152b32d08a1561091e2b8
This adds a version of the miniapp that uses Fortran's Do Concurrent loops.
Compiler Notes:
do concurrent
on GPUs relies on CUDA Unified memory and turns on-gpu=managed
by default.The initial CONCURRENT_LIST is NVHPC and PGI (legacy name for NVHPC). At least Intel will likely build the code correctly, but the reduction loops will not be parallelized because of lack of OpenACC support.
To build with nvfortran for NVIDIA GPUs, set -DCONCURRENT_FLAGS="-stdpar=gpu". To build with nvfortran for multi-core CPUs, set -DCONCURRENT_FLAGS="-stdpar=multicore". You may optionally add
-Minfo=stdpar
for compiler feedback about parallelization.