Dear Ruoshi,
thanks for reporting.
* the problem with isnan and backslash are known (and fixed either in later releases, eg 5.0.4 or in the develop version).
Here the point is that the compiler is not recognised as pgi, so that the -D_PGI macro is not set (and neither is recognised as NVIDIA)..
This is make automatic in the fix...
* Also, I think that, due to the unrecognised environment/compiler, some relevant flags, eg to avoid double main problems, are not set (below you find some examples)...
* if you need to modify some compiler flags, you can do it once in config/setup, while macros can be added/modified here (I think)
config/mk/global/defs.mk
Here are the flags automatically detected in my case:
Code: Select all
#
# FC kind = nvfortran nvfortran 20.9-0 LLVM 64-bit target on x86-64 Linux -tp skylake
# MPI kind= Open MPI v3.1.5, package: Open MPI qa@build-lin64 Distribution, ident: 3.1.5, repo rev: v3.1.5, Nov 15, 2019
#
# [ CPP ] cpp -E -traditional -D_HDF5_LIB -D_HDF5_IO -D_MPI -D_FFTW -D_PGI -D_OPENMP -D_TIMING -D_CUDA -D_P2Y_QEXSD_HDF5
# [ FPP ] nvfortran -Mpreprocess -E -D_HDF5_LIB -D_HDF5_IO -D_MPI -D_FFTW -D_PGI -D_OPENMP -D_TIMING -D_CUDA
# [ CC ] mpicc -O2 -D_C_US -D_FORTRAN_US
# [ FC ] mpifort -O1 -gopt -Mnoframe -Mdalign -Mbackslash -cpp -mp -Mcuda=cuda10.1,cc70,nollvm -Mcudalib=cufft,cublas,cusolver
# [ FCUF] -O0 -g -Mbackslash -cpp -Mcuda=cuda10.1,cc70,nollvm -Mcudalib=cufft,cublas,cusolver
# [ F77 ] mpifort -O1 -gopt -Mnoframe -Mdalign -Mbackslash -cpp -Mcuda=cuda10.1,cc70,nollvm -Mcudalib=cufft,cublas,cusolver
# [ F77U] -O0 -g -Mbackslash -cpp -Mcuda=cuda10.1,cc70,nollvm -Mcudalib=cufft,cublas,cusolver
# [Cmain] -Mnomain
#
Andrea