I have successfully installed the serial and the parallel version of CHARMM c48a1. However, I am not able to install the ABPO module. I am using the following commands to install it.
./configure --with-abpo --add ENSEMBLE make -C build/cmake install
All the compilation ends without any error. However, I am getting the following error when I tried to run the testcase.
CHARMM> if ?ABPO .ne. 1 then RDCMND: can not substitute energy "?ABPO" Comparing "?ABPO" and "1". IF test evaluated as true. Performing command
CHARMM> echo "Test NOT performed." "Test NOT performed."
CHARMM> stop
Please suggest me the proper installation procedure or the possible error in the compilation.
Thank you for your suggestion. Here is the output of the ./configure . Hope it will help.
===== abpo selected ===== additional keywords ENSEMBLE ===== WARNING install prefix not specified depending on your system, executing make install may result in directories being written to /usr/local or somewhere similar ===== configuration using cmake continues using env /usr/bin/cmake -Dabpo=ON -Dadd_keywords=ENSEMBLE /depot/cbp/apps/charmm/c48a1
after configuration run make in /depot/cbp/apps/charmm/bld-abpo to compile and link the charmm executable ===== -- The C compiler identification is GNU 8.3.0 -- The CXX compiler identification is GNU 8.3.0 -- The Fortran compiler identification is GNU -- Check for working C compiler: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/bin/mpicc -- Check for working C compiler: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/bin/mpicc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/bin/mpiCC -- Check for working CXX compiler: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/bin/mpiCC -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working Fortran compiler: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/bin/mpif90 -- Check for working Fortran compiler: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/bin/mpif90 -- works -- Detecting Fortran compiler ABI info -- Detecting Fortran compiler ABI info - done -- Checking whether /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/bin/mpif90 supports Fortran 90 -- Checking whether /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/bin/mpif90 supports Fortran 90 -- yes -- Could NOT find FFTW (missing: FFTW_INCLUDES FFTW_LIBRARIES) -- Could NOT find FFTWF (missing: FFTWF_LIBRARIES) CMake Warning at CMakeLists.txt:262 (message): Unable to find single precision FFTW
CMake Warning at CMakeLists.txt:267 (message): FFTW or MKL required for COLFFT; switching COLFFT OFF
-- Found MPI_C: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/lib/libmpi.so -- Found MPI_CXX: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/lib/libmpi_cxx.so;/apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/lib/libmpi.so -- Found MPI_Fortran: /apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/lib/libmpi_usempif08.so;/apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/lib/libmpi_usempi_ignore_tkr.so;/apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/lib/libmpi_mpifh.so;/apps/spack/halstead/apps/openmpi/3.1.4-gcc-8.3.0-yp6xjhj/lib/libmpi.so -- Try OpenMP C flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Success -- Try OpenMP CXX flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Success -- Found OpenMP: -fopenmp -- Try OpenMP Fortran flag = [-fopenmp] -- Performing Test OpenMP_FLAG_DETECTED -- Performing Test OpenMP_FLAG_DETECTED - Success -- Found OpenMP_Fortran: -fopenmp -- OpenMM : OPENMM_INCLUDE_DIRS NOT FOUND : OpenMM may not be available at run time -- Could NOT find OpenMM (missing: OPENMM_INCLUDE_DIRS OPENMM_LIBRARIES OPENMM_PLUGIN_DIR) -- Could NOT find ExaFMM (missing: ExaFMM_LIBRARY) CMake Warning at CMakeLists.txt:344 (message): COLFFT is required for DOMDEC; switching DOMDEC OFF
CUDA_TOOLKIT_ROOT_DIR not found or specified -- Could NOT find CUDA (missing: CUDA_TOOLKIT_ROOT_DIR CUDA_NVCC_EXECUTABLE CUDA_INCLUDE_DIRS CUDA_CUDART_LIBRARY) -- Looking for CL_VERSION_2_2 -- Looking for CL_VERSION_2_2 - not found -- Looking for CL_VERSION_2_1 -- Looking for CL_VERSION_2_1 - not found -- Looking for CL_VERSION_2_0 -- Looking for CL_VERSION_2_0 - not found -- Looking for CL_VERSION_1_2 -- Looking for CL_VERSION_1_2 - not found -- Looking for CL_VERSION_1_1 -- Looking for CL_VERSION_1_1 - not found -- Looking for CL_VERSION_1_0 -- Looking for CL_VERSION_1_0 - not found -- Could NOT find OpenCL (missing: OpenCL_LIBRARY OpenCL_INCLUDE_DIR) -- OpenCL not found -- full build chosen -- Configuring done -- Generating done -- Build files have been written to: /depot/cbp/apps/charmm/bld-abpo ===== you are now ready to run make in /depot/cbp/apps/charmm/bld-abpo
The main issue I see so far is performance related; the lack of a pointer to a supported FFTW implementation has disabled the DOMDEC engine. This will have a large impact on performance at the very least. The solution often requires building your own FFTW library. Also, the GCC version is a bit old, the current version is 12.2; I've been using gcc 11.x, with compatible FFTW and MPI libraries.
Go ahead and run the make command in the build directory; you can see the output and save the log at the same time via
make -j8 | tee abpo-bild.log
The -j8 option will use up to 8 threads during the build, which makes it faster. Check the log for references to abpo to see if there are any serious messages.
You should then run the entire test suite.
Note that for longer listings, we suggest the use of .txt attachments instead of pasting into the post directly.
I again installed the entire charmm and not able to find any serious message or warning related to abpo. However still I am not able to run abpo and not able to find the possible origin of this error. I also attached the log file for your reference. Any kind of lead will be helpful. Thank you
Thank you for your suggestion. I recompile the abpo alone, still not able to find any error in the time of installation. For your reference, I also attached the output.
What do you know about the history of ABPO, and when it was last compiled successfully?
My suspicion is that KEY_ABPO may not be defined properly, but we need log messages from the compiler to verify that, and output.txt does not have compiler messages.
I can confirm that KEY_ABPO is not being set when the --with-abpo flag to configure is used, which points to a cmake configure issue. I also tried '-a ABPO -a ENSEMBLE', but that didn't work either.
You can see this in the build directory via
cat CMakeFiles/charmm.dir/flags.make
Do you have any contacts at the U. Mich. lab that manages the charmm distribution? They've done most of cmake setup.
Added note: Thanks to Josh for the fix.
Last edited by rmv; 11/14/2207:29 PM. Reason: Solution
Thank you Josh and Rick for the patch file and valuable suggestions. Everything is working fine now. Thank you very much for taking the time to help me on this matter.