[CP2K-user] [CP2K:20284] Re: Running cp2k on GPU

Johann Pototschnig pototschnig.johann at gmail.com
Fri Jun 7 16:52:33 UTC 2024


It links to cuda, there should be no problem, but you are missing the 
mpirun / srun:

mpirun -n 1 -x OMP_NUM_THREADS=$...  /cp2k_plumed_gpu/cp2k-2024.1/exe/local_cuda/cp2k.psmp 
-i colvars.inp -o colvars.out


depending on your system there might be additional options for mpirun/srun 
necessary. 

The following program can help to figure out bindings:
https://code.ornl.gov/olcf/hello_jobstep

On Friday, June 7, 2024 at 5:18:47 PM UTC+2 Hemanth Haridas wrote:

> CC          = 
> /gcc-8.5.0/openmpi-4.1.6-chhfokbbf3fbb2t4uo7ns4ukaripskzj/bin/mpicc
>
> CXX         = 
> /gcc-8.5.0/openmpi-4.1.6-chhfokbbf3fbb2t4uo7ns4ukaripskzj/bin/mpic++
>
> AR          = ar -r
>
> FC          = 
> /gcc-8.5.0/openmpi-4.1.6-chhfokbbf3fbb2t4uo7ns4ukaripskzj/bin/mpifort
>
> LD          = 
> /gcc-8.5.0/openmpi-4.1.6-chhfokbbf3fbb2t4uo7ns4ukaripskzj/bin/mpifort
>
> #
>
> DFLAGS      = -D__OFFLOAD_CUDA -D__DBCSR_ACC  -D__LIBXSMM  -D__parallel 
> -D__MKL -D__FFTW3  -D__SCALAPACK -D__LIBINT -D__LIBXC -D__LIBGRPP -D__GSL 
> -D__PLUMED2 -D__SPGLIB  -D__OFFLOAD_GEMM  -D__SPLA
>
> #
>
> WFLAGS      = -Werror=aliasing -Werror=ampersand -Werror=c-binding-type 
> -Werror=intrinsic-shadow -Werror=intrinsics-std -Werror=line-truncation 
> -Werror=tabs -Werror=target-lifetime -Werror=underflow 
> -Werror=unused-but-set-variable -Werror=unused-variable 
> -Werror=unused-dummy-argument -Werror=unused-parameter -Werror=unused-label 
> -Werror=conversion -Werror=zerotrip -Wno-maybe-uninitialized 
> -Wuninitialized -Wuse-without-only
>
> #
>
> FCDEBFLAGS  = -fbacktrace -ffree-form -fimplicit-none -std=f2008
>
> CFLAGS      = -fno-omit-frame-pointer -fopenmp -g -mtune=native  -O3 
> -funroll-loops $(PROFOPT)  
> -I/gcc-8.5.0/openmpi-4.1.6-chhfokbbf3fbb2t4uo7ns4ukaripskzj/include 
> -pthread  -m64 
> -I/gcc-8.5.0/intel-oneapi-mkl-2023.2.0-etwucm5d3s2qu7eiuaaxastbiukj2ori/mkl/2023.2.0/include 
> -I/gcc-8.5.0/intel-oneapi-mkl-2023.2.0-etwucm5d3s2qu7eiuaaxastbiukj2ori/mkl/2023.2.0/include/fftw 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/include' 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libxc-6.2.2/include' 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libgrpp-main-20231215/include' 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libxsmm-1.17/include' 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/gsl-2.7/include' 
> -I/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/spglib-1.16.2/include 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/SpLA-1.5.5/include/spla' 
> -std=c11 -Wall -Wextra -Werror -Wno-vla-parameter 
> -Wno-deprecated-declarations $(DFLAGS) 
> -I/gcc-8.5.0/cuda-11.8.0-3wlxktsbgw2ui4wvdnsy7w7xyxlkkwju/include
>
> FCFLAGS     = -fno-omit-frame-pointer -fopenmp -g -mtune=native  -O3 
> -funroll-loops $(PROFOPT)  
> -I/gcc-8.5.0/openmpi-4.1.6-chhfokbbf3fbb2t4uo7ns4ukaripskzj/include 
> -pthread  -m64 
> -I/gcc-8.5.0/intel-oneapi-mkl-2023.2.0-etwucm5d3s2qu7eiuaaxastbiukj2ori/mkl/2023.2.0/include 
> -I/gcc-8.5.0/intel-oneapi-mkl-2023.2.0-etwucm5d3s2qu7eiuaaxastbiukj2ori/mkl/2023.2.0/include/fftw 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/include' 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libxc-6.2.2/include' 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libgrpp-main-20231215/include' 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libxsmm-1.17/include' 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/gsl-2.7/include' 
> -I/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/spglib-1.16.2/include 
> -I'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/SpLA-1.5.5/include/spla' 
> $(FCDEBFLAGS) $(WFLAGS) $(DFLAGS)
>
> CXXFLAGS    = -O2 -fPIC -fno-omit-frame-pointer -fopenmp -g -march=native 
> -mtune=native --std=c++14 $(DFLAGS) -Wno-deprecated-declarations 
> -I/gcc-8.5.0/cuda-11.8.0-3wlxktsbgw2ui4wvdnsy7w7xyxlkkwju/include
>
> #
>
> LDFLAGS     =  $(FCFLAGS) -Wl,--enable-new-dtags -pthread 
> -L/gcc-8.5.0/openmpi-4.1.6-chhfokbbf3fbb2t4uo7ns4ukaripskzj/lib 
> -L/gcc-8.5.0/ucx-1.14.0-cupo7hrn2exqqwfyatdigeuiiqijaulw/lib -L/uufs/
> chpc.utah.edu/sys/spack/v019/linux-rocky8-x86_64/gcc-8.5.0/zlib-1.2.13-dcpzngybj4fisn6ojapnels3yfwcxqgk/lib 
> -Wl,-rpath 
> -Wl,/gcc-8.5.0/openmpi-4.1.6-chhfokbbf3fbb2t4uo7ns4ukaripskzj/lib 
> -Wl,-rpath -Wl,/gcc-8.5.0/ucx-1.14.0-cupo7hrn2exqqwfyatdigeuiiqijaulw/lib 
> -Wl,-rpath -Wl,/gcc-8.5.0/zlib-1.2.13-dcpzngybj4fisn6ojapnels3yfwcxqgk/lib  
>   
> -L'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libint-v2.6.0-cp2k-lmax-5/lib' 
> -L'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libxc-6.2.2/lib' 
> -Wl,-rpath,'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libxc-6.2.2/lib' 
> -L'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libgrpp-main-20231215/lib' 
> -Wl,-rpath,'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libgrpp-main-20231215/lib' 
> -L'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libxsmm-1.17/lib' 
> -Wl,-rpath,'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/libxsmm-1.17/lib' 
> -L'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/gsl-2.7/lib' 
> -Wl,-rpath,'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/gsl-2.7/lib' 
> -L'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/plumed-2.9.0/lib' 
> -Wl,-rpath,'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/plumed-2.9.0/lib' 
> -L'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/spglib-1.16.2/lib' 
> -Wl,-rpath,'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/spglib-1.16.2/lib' 
> -L'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/SpLA-1.5.5/lib/cuda' 
> -Wl,-rpath,'/cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/SpLA-1.5.5/lib/cuda' 
> -L'/gcc-8.5.0/cuda-11.8.0-3wlxktsbgw2ui4wvdnsy7w7xyxlkkwju/targets/x86_64-linux/lib' 
> -Wl,-rpath,'/gcc-8.5.0/cuda-11.8.0-3wlxktsbgw2ui4wvdnsy7w7xyxlkkwju/targets/x86_64-linux/lib' 
> -L'/usr/lib64' -Wl,-rpath,'/usr/lib64'
>
> LDFLAGS_C   =
>
> LIBS        = -lspla -lsymspg -l:libplumed.a -ldl -lstdc++ -lz -ldl -lgsl 
> -lxsmmf -lxsmm -ldl -lpthread -llibgrpp -lxcf03 -lxc -lint2   -lmpi_cxx 
> -lmpi  
> -L/gcc-8.5.0/intel-oneapi-mkl-2023.2.0-etwucm5d3s2qu7eiuaaxastbiukj2ori/mkl/2023.2.0/lib/intel64 
> -Wl,-rpath,/gcc-8.5.0/intel-oneapi-mkl-2023.2.0-etwucm5d3s2qu7eiuaaxastbiukj2ori/mkl/2023.2.0/lib/intel64 
> -lmkl_scalapack_lp64 -Wl,--start-group -lmkl_gf_lp64 -lmkl_sequential 
> -lmkl_core -lmkl_blacs_openmpi_lp64 -Wl,--end-group -lpthread -lm -ldl 
> -lstdc++ -lcudart -lnvrtc -lcuda -lcufft -lcublas -lrt
>
> #
>
> GPUVER        = A100
>
> OFFLOAD_CC    = nvcc
>
> OFFLOAD_FLAGS = -g -arch sm_80 -O3 -allow-unsupported-compiler 
> -Xcompiler='-fopenmp -Wall -Wextra -Werror' --std=c++11 $(DFLAGS)
>
> OFFLOAD_TARGET = cuda
>
> #
>
> FYPPFLAGS   = -n --line-marker-format=gfortran5
> On Friday, June 7, 2024 at 1:51:34 AM UTC-6 Johann Pototschnig wrote:
>
>> Can you provide the local_cuda.psmp  file which you find in the arch 
>> folder?
>>
>> On Thursday, June 6, 2024 at 9:10:38 PM UTC+2 Hemanth Haridas wrote:
>>
>>> I am trying to run CP2K on a linux cluster with GPU support. I have 
>>> successfully complied the code with CUDA support. But the utilization of 
>>> GPU is zero, even though the program is running , meaning that the code is 
>>> running on cpu cores.
>>>
>>> This is the script that I am using to run cp2k 
>>>
>>> #!/bin/bash
>>>
>>> #SBATCH --job-name=LiCl                 ### Job Name
>>>
>>> #SBATCH --output=cp2k.out               ### File in which to store job 
>>> output
>>>
>>> #SBATCH --error=cp2k.err                ### File in which to store job 
>>> error messages
>>>
>>> #SBATCH --time=3-00:00:00               ### Wall clock time limit in 
>>> Days-HH:MM:SS              
>>>
>>> #SBATCH --ntasks=64
>>>
>>> #SBATCH --gres=gpu:1
>>>
>>> #SBATCH --cpus-per-task=1
>>>
>>>
>>> module load gcc cuda/11.8.0 openmpi/4.1.6-gpu intel-oneapi-mkl/2022.0.2
>>>
>>>
>>> source /cp2k_plumed_gpu/cp2k-2024.1/tools/toolchain/install/setup
>>>
>>>
>>> export* OMP_NUM_THREADS=*$SLURM_NTASKS
>>>
>>>
>>> /cp2k_plumed_gpu/cp2k-2024.1/exe/local_cuda/cp2k.psmp -i colvars.inp -o 
>>> colvars.out
>>>
>>>
>>> Are there any additional flags that I need to use to run the code on 
>>> GPUs?
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+unsubscribe at googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cp2k/2996f04b-19f6-45a3-95e8-8068fb796382n%40googlegroups.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20240607/0dd7b36d/attachment-0001.htm>


More information about the CP2K-user mailing list