mrnorman / miniWeather

A parallel programming training mini app simulating weather-like flows
Other
145 stars 67 forks source link

DRAFT: Adds version using F18 Do Concurrent loop #4

Closed jefflarkin closed 2 years ago

jefflarkin commented 2 years ago

This adds a version of the miniapp that uses Fortran's Do Concurrent loops.

Compiler Notes:

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.

mrnorman commented 2 years ago

Merged via commits: 8f369e1d038e30629d05c0b4b538d6e7d43c4c41 c07505b0e12ccc4390805fe7fb928c1438e67426 cbf3510ac239b1d8c1d1a47b04de8bb8b48a1047 76787b94a39e23ef541dca7f1ac27a361b051971 82dcf4d3aa4544ac8cf152b32d08a1561091e2b8