Version 25.9 no longer compiles the MAS code, but 25.7 works

I recently update to the SDK 25.9.

Everything seemed to be working (including our old/production version of the MAS code).

However, when I try to compile the newer open-source version of MAS I get this compiler error:

nvvmCompileProgram: failed with error 9: NVVM_ERROR_COMPILATION
nvnvvmd: error: /tmp/nvaccJgThPBt57skM.gpu (308453, 260): parse constant expression type mismatch
NVFORTRAN-F-0155-Compiler failed to translate accelerator region (see -Minfo messages): Device compiler exited with error status code (mas_cpp.f90: 68965)
NVFORTRAN/x86-64 Linux 25.9-0: compilation aborted
make: *** [Makefile:25: mas.o] Error 2

The code line it is showing has not changed in years (I think it is the last accelerator region so the error thinks its there but it is really somewhere else).

The code in question is the current main branch of the git:

GitHub - predsci/MAS: Magnetohydrodynamic Algorithm outside a Sphere (MAS)

When I do a “module load nvhpc-hpcx/25.7” to switch back to 25.7, the code compiles fine.

I tried searching for changes since the old code that could result in the error above (with help from AI), specifically using integer(8) parameters in accelerator regions but I was not able to fix it.

This is a huge problem as it is making our current open-source code unable to be compiled for NVIDIA GPUs with the latest NVIDIA HPC SDK.

Is there a work-around or code change that can fix this?

– Ron

Thanks for the report Ron!

It appears to me that the compiler is generating a static initialization that’s ill-formed, though no static initialization was added in 25.7. I’m not sure why this was added in 25.9.

I filed a report, TPR #37955, and sent it to engineering for investigation.

-Mat

1 Like