CarpetX: avoid features not supported by nvhpc's compiler
This avoids two features not supported by nvhpc version nvc++ 24.3 ("nvc++ 24.3-0 linuxarm64 target on aarch64 Linux -tp neoverse-v2"):
- does not support custom OpenMP reductions
- RANK() is not a F90 function but a GNU extension
The former is the more annoying fix since I added an #ifdef. If one consider the possible loss in speed due to using a #pragma omp critical instead of (possibly) are more optimal implementation via #pragma reduction(...) negligible then one can remove the #ifdef.
I confirm the this change make CarpetX compile on vista with nvc compilers
Alright, I updated the C++ stuff with auto &foo = bar and ran through clang-format-19 which (predictably) indented lots of code :-(
@lwJi please click on "approve" if you are happy with the proposed change.
@lwJi please click on "approve" if you are happy with the proposed change.
I can't find a "approve" button on my side
@eschnett are you happy with the changes I had implemented? This would still be good to merge in.