TinkerTools / tinker9

Tinker9: Next Generation of Tinker with GPU Support
Other
48 stars 27 forks source link

Compilation recommendations? #163

Closed markyoder closed 2 years ago

markyoder commented 3 years ago

Would it be possible to provide some compilation recommendations? Following the project documentation, borrowing from the "successful compiles", and conferring with some colleagues, I am (currently) following a general strategy like:

module purge
module load devel/
module load cmake/3.20.3
#
module load gcc/10.1.0
CUDA_VER=11.3.1
module load cuda/${CUDA_VER}
module load nvhpc/21.5

# a bunch of variables get set and other minor stuff happens here...

CC=${CC} CXX=${CXX} FC=${gFC} ACC=${ACC} cmake -DCOMPUTE_CAPABILITY=70 -DSTD=14 -DCMAKE_INSTALL_PREFIX=${TARGET_DIR} -DCUDA_DIR=${CUDA_PATH} ..

Where my understanding is that nvhpc replaces the pgi compilers, and then following at least one successful-install example, we force the gnu gfortran compiler.

Additionally, if I try to just use the nvhpc compilers out of the box, I get an error that the Fortran compiler cannot be identified. Fixing this might be straight forward and could significantly simply the compile process. Thanks in advance!

zhi-wang commented 3 years ago

There is a long lasting bug in the PGI Fortran compilers that effectively prohibits the cross link between the Fortran module objects and C/C++ objects. Last time when I tested it in NVHPC 20.11, it was still not fixed. I'll test it on the 2021 version later. If it's fixed, I'll see what I can do to help.

markyoder commented 3 years ago

@zhi-wang: Thanks for that info. Makes sense to use gfortran then. Can I tack on -- or at least further pursue, a second issue here? I've gotten the compile to the very end but error off with:

[ 75%] Built target __t9_cpp_o
[ 75%] Building CXX object src/CMakeFiles/__t9_version_related_o.dir/info_x.cc.o
[ 76%] Building CXX object src/CMakeFiles/__t9_version_related_o.dir/promo.cc.o
[ 76%] Built target __t9_version_related_o
[ 77%] Linking CXX static library libtinker9_cpp.a
[ 77%] Built target tinker9_cpp
/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/libtinker9_cpp.a(info_x.cc.o): In function `tinker::x_info(int, char**)':
info_x.cc:(.text+0x2b9): undefined reference to `tinker::acc_compiler_name[abi:cxx11]()'
pgacclnk: child process exit status 1: /usr/bin/ld
make[2]: *** [CMakeFiles/tinker9] Error 2
make[1]: *** [CMakeFiles/tinker9.dir/all] Error 2
make: *** [all] Error 2

I could be missing something, but what I see is:

zhi-wang commented 3 years ago

Can you do the following and paste your verbose log here?

touch src-acc/compilers_acc.cpp
cd build
make tinker9 VERBOSE=1

I want to see how this source file was compiled and how tinker9 was linked.

markyoder commented 3 years ago

Ok. I load some modules and set some variables, so I modified my script to do a clean compile, then touch,make. I think that accomplishes what you're looking for.

FYI, compiler info is at the top of this output but in summary:

(base) [myoder96@sh03-05n71 /scratch/users/myoder96/Downloads/tinker] (job 28676128) $ ./compile_tinker9.sh The following modules were not unloaded: (Use "module --force purge" to unload all):

1) math 2) devel in build dir: /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build Compiler info: CC: gcc:: gcc (GCC) 10.1.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n CXX: c++:: c++ (GCC) 10.1.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n FC: gfortran:: GNU Fortran (GCC) 10.1.0 Copyright (C) 2020 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n ACC: nvc++:: nvc++ 21.5-0 LLVM 64-bit target on x86-64 Linux -tp zen NVIDIA Compilers and Tools Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.\n CUDACXX: nvcc: nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2021 NVIDIA Corporation Built on Mon_May__3_19:15:13_PDT_2021 Cuda compilation tools, release 11.3, V11.3.109 Build cuda_11.3.r11.3/compiler.29920130_0 which(CXX): /share/software/user/open/gcc/10.1.0/bin/c++ DEBUG: CUDA_HOME: /share/software/user/open/cuda/11.3.1 ** Do the things. Current path: /scratch/users/myoder96/Downloads/tinker/tinker9/build /share/software/user/open/cmake/3.20.3/bin/cmake -S/scratch/users/myoder96/Downloads/tinker/tinker9 -B/scratch/users/myoder96/Downloads/tinker/tinker9/build --check-build-system CMakeFiles/Makefile.cmake 0 make -f CMakeFiles/Makefile2 tinker9 make[1]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' /share/software/user/open/cmake/3.20.3/bin/cmake -S/scratch/users/myoder96/Downloads/tinker/tinker9 -B/scratch/users/myoder96/Downloads/tinker/tinker9/build --check-build-system CMakeFiles/Makefile.cmake 0 /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_progress_start /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles 77 make -f CMakeFiles/Makefile2 CMakeFiles/tinker9.dir/all make[2]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f src-f/CMakeFiles/tinker9_f.dir/build.make src-f/CMakeFiles/tinker9_f.dir/depend make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/src-f /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-f /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-f/CMakeFiles/tinker9_f.dir/DependInfo.cmake --color= make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f src-f/CMakeFiles/tinker9_f.dir/build.make src-f/CMakeFiles/tinker9_f.dir/build make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make[3]: Nothing to be done forsrc-f/CMakeFiles/tinker9_f.dir/build'. make[3]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 1%] Built target tinker9_f make -f CMakeFiles/src-libtinker.dir/build.make CMakeFiles/src-libtinker.dir/depend make[3]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles/src-libtinker.dir/DependInfo.cmake --color= make[3]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f CMakeFiles/src-libtinker.dir/build.make CMakeFiles/src-libtinker.dir/build make[3]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make[3]: Nothing to be done for CMakeFiles/src-libtinker.dir/build'. make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 7%] Built target src-libtinker make -f CMakeFiles/src-acc.dir/build.make CMakeFiles/src-acc.dir/depend make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles/src-acc.dir/DependInfo.cmake --color= make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f CMakeFiles/src-acc.dir/build.make CMakeFiles/src-acc.dir/build make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 9%] Performing build step for 'src-acc' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc && make make[4]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' /share/software/user/open/cmake/3.20.3/bin/cmake -S/scratch/users/myoder96/Downloads/tinker/tinker9/src-acc -B/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc --check-build-system CMakeFiles/Makefile.cmake 0 /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_progress_start /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/CMakeFiles /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[5]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' make -f CMakeFiles/tinker9_acc.dir/build.make CMakeFiles/tinker9_acc.dir/depend make[6]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9/src-acc /scratch/users/myoder96/Downloads/tinker/tinker9/src-acc /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/CMakeFiles/tinker9_acc.dir/DependInfo.cmake --color= Dependee "/scratch/users/myoder96/Downloads/tinker/tinker9/src-acc/compilers_acc.cpp" is newer than depender "CMakeFiles/tinker9_acc.dir/compilers_acc.cpp.o". Clearing dependencies in "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/CMakeFiles/tinker9_acc.dir/depend.make". Scanning dependencies of target tinker9_acc make[6]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' make -f CMakeFiles/tinker9_acc.dir/build.make CMakeFiles/tinker9_acc.dir/build make[6]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' [ 1%] Building CXX object CMakeFiles/tinker9_acc.dir/compilers_acc.cpp.o /share/software/user/open/nvhpc/Linux_x86_64/21.5/compilers/bin/nvc++ -DTINKER9_DIR=/scratch/users/myoder96/Downloads/tinker/tinker9 -DTINKER_CUDART -DTINKER_GFORTRAN -DTINKER_MIXED_PRECISION -I/scratch/users/myoder96/Downloads/tinker/tinker9/include -I/scratch/users/myoder96/Downloads/tinker/tinker9/include/syntax/acc -I/scratch/users/myoder96/Downloads/tinker/tinker9/build/fftw/include -I/scratch/users/myoder96/Downloads/tinker/tinker9/ext/ext -I/share/software/user/open/cuda/11.3.1/include -fast -O3 -DNDEBUG -ta=tesla:fastmath,cc70 CUDA_HOME=/share/software/user/open/cuda/11.3.1 -acc verystrict -Minfo=accel --c++14 --gnu_extensions -o CMakeFiles/tinker9_acc.dir/compilers_acc.cpp.o -c /scratch/users/myoder96/Downloads/tinker/tinker9/src-acc/compilers_acc.cpp /scratch/users/myoder96/Downloads/tinker/tinker9/src-acc/compilers_acc.cpp: [ 3%] Linking CXX static library libtinker9_acc.a /share/software/user/open/cmake/3.20.3/bin/cmake -P CMakeFiles/tinker9_acc.dir/cmake_clean_target.cmake /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_link_script CMakeFiles/tinker9_acc.dir/link.txt --verbose=1 /usr/bin/ar qc libtinker9_acc.a CMakeFiles/tinker9_acc.dir/alterchg_acc.cpp.o CMakeFiles/tinker9_acc.dir/box_acc.cpp.o CMakeFiles/tinker9_acc.dir/compilers_acc.cpp.o CMakeFiles/tinker9_acc.dir/cudalib_acc.cpp.o CMakeFiles/tinker9_acc.dir/dcflux_acc.cpp.o CMakeFiles/tinker9_acc.dir/device_zero_acc.cpp.o CMakeFiles/tinker9_acc.dir/eangle_acc.cpp.o CMakeFiles/tinker9_acc.dir/eangtor_acc.cpp.o CMakeFiles/tinker9_acc.dir/ebond_acc.cpp.o CMakeFiles/tinker9_acc.dir/echarge_acc.cpp.o CMakeFiles/tinker9_acc.dir/echgtrn_acc.cpp.o CMakeFiles/tinker9_acc.dir/edisp_acc.cpp.o CMakeFiles/tinker9_acc.dir/egeom_acc.cpp.o CMakeFiles/tinker9_acc.dir/ehal_acc.cpp.o CMakeFiles/tinker9_acc.dir/eimprop_acc.cpp.o CMakeFiles/tinker9_acc.dir/eimptor_acc.cpp.o CMakeFiles/tinker9_acc.dir/elj_acc.cpp.o CMakeFiles/tinker9_acc.dir/empole_chgpen_acc.cpp.o CMakeFiles/tinker9_acc.dir/empole_ewald_acc.cpp.o CMakeFiles/tinker9_acc.dir/empole_nonewald_acc.cpp.o CMakeFiles/tinker9_acc.dir/empole_opbend_acc.cpp.o CMakeFiles/tinker9_acc.dir/eopbend_acc.cpp.o CMakeFiles/tinker9_acc.dir/epitors_acc.cpp.o CMakeFiles/tinker9_acc.dir/epolar_chgpen_acc.cpp.o CMakeFiles/tinker9_acc.dir/epolar_dot_acc.cpp.o CMakeFiles/tinker9_acc.dir/epolar_ewald_acc.cpp.o CMakeFiles/tinker9_acc.dir/epolar_nonewald_acc.cpp.o CMakeFiles/tinker9_acc.dir/erepel_acc.cpp.o CMakeFiles/tinker9_acc.dir/estrbnd_acc.cpp.o CMakeFiles/tinker9_acc.dir/estrtor_acc.cpp.o CMakeFiles/tinker9_acc.dir/etors_acc.cpp.o CMakeFiles/tinker9_acc.dir/etortor_acc.cpp.o CMakeFiles/tinker9_acc.dir/eurey_acc.cpp.o CMakeFiles/tinker9_acc.dir/field_chgpen_acc.cpp.o CMakeFiles/tinker9_acc.dir/field_ewald_acc.cpp.o CMakeFiles/tinker9_acc.dir/field_nonewald_acc.cpp.o CMakeFiles/tinker9_acc.dir/induce_acc.cpp.o CMakeFiles/tinker9_acc.dir/induce_donly_acc.cpp.o CMakeFiles/tinker9_acc.dir/mathfunc_parallel_acc.cpp.o CMakeFiles/tinker9_acc.dir/mddebug_acc.cpp.o CMakeFiles/tinker9_acc.dir/mdegv_acc.cpp.o CMakeFiles/tinker9_acc.dir/mdintg_acc.cpp.o CMakeFiles/tinker9_acc.dir/mdpq_acc.cpp.o CMakeFiles/tinker9_acc.dir/mdpt_acc.cpp.o CMakeFiles/tinker9_acc.dir/minimize_acc.cpp.o CMakeFiles/tinker9_acc.dir/nblist_acc.cpp.o CMakeFiles/tinker9_acc.dir/osrw_acc.cpp.o CMakeFiles/tinker9_acc.dir/pmestuf_acc.cpp.o CMakeFiles/tinker9_acc.dir/rattle_acc.cpp.o CMakeFiles/tinker9_acc.dir/rotpole_acc.cpp.o CMakeFiles/tinker9_acc.dir/torque_acc.cpp.o /usr/bin/ranlib libtinker9_acc.a make[6]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' [100%] Built target tinker9_acc make[5]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_progress_start /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/CMakeFiles 0 make[4]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' [ 10%] Performing install step for 'src-acc' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc && make install make[4]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' /share/software/user/open/cmake/3.20.3/bin/cmake -S/scratch/users/myoder96/Downloads/tinker/tinker9/src-acc -B/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc --check-build-system CMakeFiles/Makefile.cmake 0 /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_progress_start /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/CMakeFiles /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc//CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[5]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' make -f CMakeFiles/tinker9_acc.dir/build.make CMakeFiles/tinker9_acc.dir/depend make[6]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9/src-acc /scratch/users/myoder96/Downloads/tinker/tinker9/src-acc /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/CMakeFiles/tinker9_acc.dir/DependInfo.cmake --color= make[6]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' make -f CMakeFiles/tinker9_acc.dir/build.make CMakeFiles/tinker9_acc.dir/build make[6]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' make[6]: Nothing to be done for CMakeFiles/tinker9_acc.dir/build'. make[6]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' [100%] Built target tinker9_acc make[5]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_progress_start /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/CMakeFiles 0 make -f CMakeFiles/Makefile2 preinstall make[5]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' make[5]: Nothing to be done for preinstall'. make[5]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' Install the project... /share/software/user/open/cmake/3.20.3/bin/cmake -P cmake_install.cmake -- Install configuration: "Release" make[4]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc && /share/software/user/open/cmake/3.20.3/bin/cmake -E touch /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/src/src-acc-stamp/src-acc-install [ 10%] Completed 'src-acc' /share/software/user/open/cmake/3.20.3/bin/cmake -E make_directory /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles /share/software/user/open/cmake/3.20.3/bin/cmake -E touch /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles/src-acc-complete /share/software/user/open/cmake/3.20.3/bin/cmake -E touch /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/src/src-acc-stamp/src-acc-done make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 12%] Built target src-acc make -f CMakeFiles/tinker9_main.dir/build.make CMakeFiles/tinker9_main.dir/depend make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles/tinker9_main.dir/DependInfo.cmake --color= Dependencies file "CMakeFiles/tinker9_main.dir/src-main/main_tinker9.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles/tinker9_main.dir/compiler_depend.internal". Consolidate compiler generated dependencies of target tinker9_main make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f CMakeFiles/tinker9_main.dir/build.make CMakeFiles/tinker9_main.dir/build make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make[3]: Nothing to be done forCMakeFiles/tinker9_main.dir/build'. make[3]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 14%] Built target tinker9_main make -f CMakeFiles/__t9_copy_shell_exe.dir/build.make CMakeFiles/__t9_copy_shell_exe.dir/depend make[3]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles/t9_copy_shell_exe.dir/DependInfo.cmake --color= make[3]: Leaving directory `/scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f CMakeFiles/__t9_copy_shell_exe.dir/build.make CMakeFiles/t9_copy_shell_exe.dir/build make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' /share/software/user/open/cmake/3.20.3/bin/cmake -E copy /scratch/users/myoder96/Downloads/tinker/tinker9/shell/analyze9.sh /scratch/users/myoder96/Downloads/tinker/tinker9/build /share/software/user/open/cmake/3.20.3/bin/cmake -E copy /scratch/users/myoder96/Downloads/tinker/tinker9/shell/bar9.sh /scratch/users/myoder96/Downloads/tinker/tinker9/build /share/software/user/open/cmake/3.20.3/bin/cmake -E copy /scratch/users/myoder96/Downloads/tinker/tinker9/shell/dynamic9.sh /scratch/users/myoder96/Downloads/tinker/tinker9/build /share/software/user/open/cmake/3.20.3/bin/cmake -E copy /scratch/users/myoder96/Downloads/tinker/tinker9/shell/info9.sh /scratch/users/myoder96/Downloads/tinker/tinker9/build /share/software/user/open/cmake/3.20.3/bin/cmake -E copy /scratch/users/myoder96/Downloads/tinker/tinker9/shell/minimize9.sh /scratch/users/myoder96/Downloads/tinker/tinker9/build /share/software/user/open/cmake/3.20.3/bin/cmake -E copy /scratch/users/myoder96/Downloads/tinker/tinker9/shell/testgrad9.sh /scratch/users/myoder96/Downloads/tinker/tinker9/build /share/software/user/open/cmake/3.20.3/bin/cmake -E copy /scratch/users/myoder96/Downloads/tinker/tinker9/shell/chkver.py /scratch/users/myoder96/Downloads/tinker/tinker9/build make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 14%] Built target t9_copy_shell_exe make -f src-cu/CMakeFiles/tinker9_cu.dir/build.make src-cu/CMakeFiles/tinker9_cu.dir/depend make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/src-cu /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/DependInfo.cmake --color= Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/compilers_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/echarge_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/echglj_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/echgtrn_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/edisp_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/ehal_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/elj_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/emplar_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/empole_chgpen_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/empole_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/epolar_chgpen_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/epolar_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/erepel_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/evalence_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/field_chgpen_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/field_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/induce_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/induce_donly_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/mathfunc_parallel_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/mdintg_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/mdpt_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/pcg_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/pcg_donly_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/pmestuf_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/rattle_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Dependencies file "src-cu/CMakeFiles/tinker9_cu.dir/spatial_cu.cu.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/CMakeFiles/tinker9_cu.dir/compiler_depend.internal". Consolidate compiler generated dependencies of target tinker9_cu make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f src-cu/CMakeFiles/tinker9_cu.dir/build.make src-cu/CMakeFiles/tinker9_cu.dir/build make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make[3]: Nothing to be done forsrc-cu/CMakeFiles/tinker9_cu.dir/build'. make[3]: Leaving directory `/scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 35%] Built target tinker9_cu make -f src/CMakeFiles/t9_cpp_o.dir/build.make src/CMakeFiles/t9_cpp_o.dir/depend make[3]: Entering directory `/scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/src /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/src /scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/DependInfo.cmake --color= Dependencies file "src/CMakeFiles/t9_cpp_o.dir/analyze_x.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/bar_x.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/__t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/box.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/cflux.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/compilers.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/couple.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/cudart/darray.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/cudart/error.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/cudart/execq.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/cudart/fft.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/cudart/gpu_card.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/__t9_cpp_o.dir/cudart/thrust_cache.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/dynamic_x.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/__t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/eangle.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/eangtor.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/ebond.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/echarge.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/echglj.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/echgtrn.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/edisp.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/egeom.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/eimprop.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/eimptor.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/elec.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/emplar.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/empole.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/__t9_cpp_o.dir/empole_chgpen.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/energy.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/energy_buffer.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/__t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/eopbend.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/epitors.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/epolar.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/__t9_cpp_o.dir/epolar_chgpen.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/erepel.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/error_nix.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/__t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/estrbnd.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/estrtor.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/etors.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/etortor.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/eurey.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/evalence.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/evdw.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/exec.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/fc.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/field.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/field_chgpen.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/group.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/induce.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/__t9_cpp_o.dir/induce_donly.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/initial.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/io_fort_str.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/io_text.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/__t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mdegv.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mdintg.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mdintg_respa.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/__t9_cpp_o.dir/mdintg_verlet.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mdpq.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mdpt.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mdsave.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mechanic.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mechanic2.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/minimize_x.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/__t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/mod.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/molecule.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/moments.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/nblist.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/nose.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/osrw.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/platform.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/pme.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/pmestuf.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/potent.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/random.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/rattle.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/rc_man.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/spatial.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/spatial2.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/switch.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/testgrad_x.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/__t9_cpp_o.dir/tinker_mod.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_cpp_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_cpp_o.dir/tinker_rt.cpp.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/__t9_cpp_o.dir/compiler_depend.internal". Consolidate compiler generated dependencies of target t9_cpp_o make[3]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f src/CMakeFiles/__t9_cpp_o.dir/build.make src/CMakeFiles/__t9_cpp_o.dir/build make[3]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make[3]: Nothing to be done for src/CMakeFiles/__t9_cpp_o.dir/build'. make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 97%] Built target t9_cpp_o make -f src/CMakeFiles/t9_version_related_o.dir/build.make src/CMakeFiles/t9_version_related_o.dir/depend make[3]: Entering directory `/scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/src /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/src /scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_version_related_o.dir/DependInfo.cmake --color= Dependencies file "src/CMakeFiles/t9_version_related_o.dir/info_x.cc.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_version_related_o.dir/compiler_depend.internal". Dependencies file "src/CMakeFiles/t9_version_related_o.dir/promo.cc.o.d" is newer than depends file "/scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/t9_version_related_o.dir/compiler_depend.internal". Consolidate compiler generated dependencies of target t9_version_related_o make[3]: Leaving directory `/scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f src/CMakeFiles/t9_version_related_o.dir/build.make src/CMakeFiles/t9_version_related_o.dir/build make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make[3]: Nothing to be done forsrc/CMakeFiles/__t9_version_related_o.dir/build'. make[3]: Leaving directory `/scratch/users/myoder96/Downloads/tinker/tinker9/build' [ 98%] Built target t9_version_related_o make -f src/CMakeFiles/tinker9_cpp.dir/build.make src/CMakeFiles/tinker9_cpp.dir/depend make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/src /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/src /scratch/users/myoder96/Downloads/tinker/tinker9/build/src/CMakeFiles/tinker9_cpp.dir/DependInfo.cmake --color= make[3]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f src/CMakeFiles/tinker9_cpp.dir/build.make src/CMakeFiles/tinker9_cpp.dir/build make[3]: Entering directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make[3]: Nothing to be done forsrc/CMakeFiles/tinker9_cpp.dir/build'. make[3]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' [100%] Built target tinker9_cpp make -f CMakeFiles/tinker9.dir/build.make CMakeFiles/tinker9.dir/depend make[3]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' cd /scratch/users/myoder96/Downloads/tinker/tinker9/build && /share/software/user/open/cmake/3.20.3/bin/cmake -E cmake_depends "Unix Makefiles" /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles/tinker9.dir/DependInfo.cmake --color= make[3]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make -f CMakeFiles/tinker9.dir/build.make CMakeFiles/tinker9.dir/build make[3]: Entering directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' /share/software/user/open/nvhpc/Linux_x86_64/21.5/compilers/bin/nvc++ CUDA_HOME=/share/software/user/open/cuda/11.3.1 -o tinker9 /scratch/users/myoder96/Downloads/tinker/tinker9/build/CMakeFiles/tinker9_main.dir/src-main/main_tinker9.cpp.o -Wl,--start-group /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-acc/libtinker9_acc.a /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-cu/libtinker9_cu.a /scratch/users/myoder96/Downloads/tinker/tinker9/build/src/libtinker9_cpp.a /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-f/libtinker9_f.a -Wl,--end-group /scratch/users/myoder96/Downloads/tinker/tinker9/build/src-libtinker/libtinker.a -L/share/software/user/open/gcc/10.1.0/lib64 -L/share/software/user/open/cuda/11.3.1/nvvm/lib64 -L/share/software/user/open/cuda/11.3.1/extras/Debugger/lib64 -L/share/software/user/open/cuda/11.3.1/extras/CUPTI/lib64 -L/share/software/user/open/gcc/10.1.0/lib/gcc/x86_64-pc-linux-gnu/10.1.0 -L/lib64 -L/usr/lib64 -L/share/software/user/open/gcc/10.1.0/lib -L/share/software/user/open/nvhpc/Linux_x86_64/21.5/compilers/lib -L/share/software/user/open/cuda/11.3.1/lib64 -L/share/software/user/open/curl/7.54.0/lib -L/share/software/user/open/libressl/2.5.3/lib -lgfortran -lm -lgcc_s -lgcc -lquadmath -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -acc -Mcudalib=cufft,cublas -O3 -DNDEBUG -ta=tesla:fastmath,cc70 /scratch/users/myoder96/Downloads/tinker/tinker9/build/src/libtinker9_cpp.a(info_x.cc.o): In function tinker::x_info(int, char**)': info_x.cc:(.text+0x2e6): undefined reference totinker::acc_compiler_name[abi:cxx11]()' pgacclnk: child process exit status 1: /usr/bin/ld make[3]: [CMakeFiles/tinker9] Error 2 make[3]: Leaving directory /scratch/users/myoder96/Downloads/tinker/tinker9/build' make[2]: *** [CMakeFiles/tinker9.dir/all] Error 2 make[2]: Leaving directory/scratch/users/myoder96/Downloads/tinker/tinker9/build' make[1]: [CMakeFiles/tinker9.dir/rule] Error 2 make[1]: Leaving directory `/scratch/users/myoder96/Downloads/tinker/tinker9/build' make: [tinker9] Error 2 (base) [myoder96@sh03-05n71 /scratch/users/myoder96/Downloads/tinker] (job 28676128) $

zhi-wang commented 3 years ago

This gets interesting now. It seems to me that your source code src-acc/compilers_acc.cpp was compiled. Would you check if you are able to find compilers_acc.cpp.o under BUILD/src-acc/CMakeFiles/tinker9_acc.dir? I guess you are. I'd also like to compare the outputs of the following command. I pasted part of my result here as well.

$ nm -n src-acc/CMakeFiles/tinker9_acc.dir/compilers_acc.cpp.o
                 U memcpy
                 U memset
                 U snprintf
                 U _ZdlPv
                 U _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm
                 U _Znwm
                 U _ZSt20__throw_length_errorPKc
0000000000000000 r .S06859
0000000000000000 T _ZN6tinker17acc_compiler_nameB5cxx11Ev
000000000000000f r .S06530
0000000000000050 W _ZN6tinker6formatIA15_cJiiiEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_DpOT0_

You can see my compiler did generate tinker::acc_compiler_name[abi:cxx11]() (_ZN6tinker17acc_compiler_nameB5cxx11Ev). I tested with nvhpc 20.11 and both C++11 and 14. I am not sure if this is because of nvhpc 21.5 and C++14, or other configurations in your compilers.

I don't think 21.5 with C++11 will make a difference but I may be wrong and it's also worth trying.

markyoder commented 3 years ago

Yes; compilers_acc.cpp.o is there -- I'd also traced back the make output and saw that it compiled, and that 'group' linking syntax looks like it should work. I've tried C++11 and C++14 with identical errors, so that could still be an issue, but I don't think so (C++11 should have better compatibility?).

Note the difference in my nm output. In mine, acc_compiler_name does not have the cx11 specification yours (top), mine (bottom):

0000000000000000 T _ZN6tinker17acc_compiler_nameB5cxx11Ev
0000000000000000 T _ZN6tinker17acc_compiler_nameEv

So... am I somehow mixing compilers? I'll recompile with C++11 and then compare the nm output again.

full output:

 (job 28676128) $ nm -n src-acc/CMakeFiles/tinker9_acc.dir/compilers_acc.cpp.o 
                 U memcpy
                 U memset
                 U snprintf
                 U _ZdlPv
                 U _ZNSs4_Rep11_S_terminalE
                 U _ZNSs4_Rep20_S_empty_rep_storageE
                 U _ZNSs4_Rep9_S_createEmmRKSaIcE
                 U _Znwm
0000000000000000 r .S05252
0000000000000000 T _ZN6tinker17acc_compiler_nameEv
$
zhi-wang commented 3 years ago

There is definitely a difference in our compiler configurations. It's unclear to me if the config is related to Tinker9's CMake files. I'd guess it's not.

This is new to me and I need to google around a bit more.

markyoder commented 3 years ago

Thanks; I'll do the same. Maybe there's a flag to tell nvc++ to include the C++ standard in the name mangling? Or maybe that coms from the gnu libraries? For now, I expect this is purely cosmetic. I expect that I can safely advise my users to -- for the time being, comment out the acc_compiler_name() call in info_x.cpp.

zhi-wang commented 3 years ago

One more thing we can test is to use the default gnu installation. I don't like 4.8.5 but I put in a lot of effort so it still works. If you loaded gcc 10 but didn't reconfigure nvhpc with gcc 10, it's not surprising there are issues.

I have a few notes in "prerequisites", which are linked from the README. If you read it through, it may give you more ideas what happened here.

zhi-wang commented 3 years ago

Thanks; I'll do the same. Maybe there's a flag to tell nvc++ to include the C++ standard in the name mangling? Or maybe that coms from the gnu libraries?

For now, I expect this is purely cosmetic. I expect that I can safely advise my users to -- for the time being, comment out the acc_compiler_name() call in info_x.cpp.

This may be the first of a series of linking failures you are about to see if compiler settings are incompatible.

markyoder commented 3 years ago

If I comment out the call to that function, the code compiles. It could still break, due to linking issues, at runtime though. I'll try some different compiler options. Recommendations? What do you use?

I've already seen that gcc@4.8.5 runs into, what look like, 'your compiler is too old' errors.

zhi-wang commented 3 years ago

I would either use the default gnu installation on your cluster because this is probably what your nvhpc is configured to, or try to configure nvhpc to the newer gnu compiler you loaded. The procedure is covered in the "prerequisites" documentation.

I think the CMake flags you have looked good to me.

zhi-wang commented 3 years ago

If I comment out the call to that function, the code compiles. It could still break, due to linking issues, at runtime though. I'll try some different compiler options. Recommendations? What do you use?

I've already seen that gcc@4.8.5 runs into, what look like, 'your compiler is too old' errors.

Sorry that "too old" warning scared people away... It was kind of intentional to discourage people to use an old gcc such 4.8.5, but the compilation would not abort and I thought warnings were invisible to most people anyway.

I made peace the reality that most clusters are still running CentOS or RedHat which obviously evolve pretty slowly, and I wish my warnings in the source code might help the ecosystem move forward even if just a little bit.

zhi-wang commented 3 years ago

Are you able to compile the code with 4.8.5, or to successfully configure nvhpc with gcc 10?

markyoder commented 3 years ago

No. At some point, I got those literal, "your compiler is too old" warnings I think, but with GCC 4.8.5, I get errors that legitimately look like the old compiler problems. I tried just walking the compiler back from 10.1 to 4.8.5 (10.1, 9.8, 8.1, 7.3. 7.1). I think I got the same outcome (compiles, but has the same linking failure) from 10.1 to at least 7.1; don't recall 6.x, but it just plain breaks for 4.8.5. I think the problem is with the nvc++ compiler, so I'm trying to build nvhpc/20.9 in Spack.

zhi-wang commented 3 years ago

I am sorry. Compiling this code shouldn't be this difficult. There is a text file in the nvhpc bin directory where the configuration of nvc++ is stored. In my laptop, it is configured to work with gcc 9.3.0. If the version in this file doesn't match with the GCC you use, the linking procedure will then be messed up.

$ cat /opt/nvidia/hpc_sdk/Linux_x86_64/20.11/compilers/bin/localrc
set LFC=-lgfortran;
set LDSO=/lib64/ld-linux-x86-64.so.2;
set GCCDIR=/usr/lib/gcc/x86_64-linux-gnu/9;
set G77DIR=/usr/lib/gcc/x86_64-linux-gnu/9/;
set OEM_INFO=64-bit target on x86-64 Linux $INFOTPVAL;
set GNUATOMIC=-latomic;
set GCCINC= /usr/lib/gcc/x86_64-linux-gnu/9/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include;
set GPPDIR= /usr/include/c++/9 /usr/include/x86_64-linux-gnu/c++/9 /usr/include/c++/9/backward /usr/lib/gcc/x86_64-linux-gnu/9/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include;
set LOCALRC=YES;
set EXTENSION=__extension__=;
set COMPGCCINCDIR=include-gcc70;
set LC=$if(-Bstatic,-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc, -lgcc -lc -lgcc -lgcc_s);
set DEFSTDOBJDIR=/usr/lib/x86_64-linux-gnu;
# GLIBC version 2.31
# GCC version 9.3.0
set GCCVERSION=90300;
export PGI=$COMPBASE;
# makelocalrc executed by root Sat 23 Jan 2021

Related https://github.com/TinkerTools/tinker9/discussions/140#discussioncomment-568841

markyoder commented 3 years ago

Oh, that's crazy helpful! ...and these things are always hard to compile -- such is the way with compiling! So yeah, nvhpc is set up for gcc/4.8.5. The weird (to me) thing is that so is the Spack installation of nvhpc, and I know for a fact that I compiled it with gcc/10.1.0.
Is that configuration file meant to reflect the configuration, or can it be changed -- without recompiling I mean? Or can those variables be overridden in a runtime- or module-script?

zhi-wang commented 3 years ago

This localrc file is generated when nvhpc is installed from the tarball. The installation scripts in the tarball detect the toolchain available. Thus 4.8.5 was saved and stored in this localrc file. It doesn't matter how nvhpc itself was compiled. Actually I have never tried to compile an nvhpc compiler.

Most users don't have root privilege on a supercomputer, therefore you can't modify this file directly. It is still possible to generate another localrc file in the home dir, and export the new localrc file in their bashrc file. The procedures are described in "prerequisites". You can either click the link on the README page, or use https://github.com/TinkerTools/tinker9/blob/master/doc/manual/m/install/preq.rst . See section "More About Using PGI Compiler on the Clusters".

zhi-wang commented 3 years ago

I tested the following code snippet on https://godbolt.org/ with flags -c -std=c++11

#include <string>

namespace tinker {
extern std::string acc_compiler_name();
}

std::string f() {
    return tinker::acc_compiler_name();
}

It turned out that before gcc 5.1 (4.9.4 and below), the symbol it generated was _ZN6tinker17acc_compiler_nameEv and with 5.1+ the symbol was _ZN6tinker17acc_compiler_nameB5cxx11Ev. Since they agreed with our result, it is a good indication the problem you saw was caused by the mismatch between nvhpc and gcc.

markyoder commented 3 years ago

This is all very helpful. Still can't seem to reconcile the compiler config and linking, even when I reset the configuration. I seem to always have a mismatch somewhere -- either that end cxx11 linking problem or header mismatches (usually around ATOMIC ). At some point, I'd seen a message that something was not supported for gcc>9, so I'm going to consult with our sysadmin, look at using Spack to do a gcc@8.x build (build/install nvhpc and all components with gcc@8.x or gcc@9.x maybe) and try a container. Thanks again for the help. When we crack this, I'll post a solution (or two).

zhi-wang commented 3 years ago

I checked the nvhpc 21.5. The bug in the Fortran compiler is still not fixed yet.

I have also updated the CMake files recently. The entire code doesn't require g++ any more as I've set the default c++ compiler to nvc++. Hopefully this would help the C++11 Abi problem (if it still exists).