diff --git a/images/wechat-group-qr.png b/images/wechat-group-qr.png index bce6c94fa0f1aced0f1c4cad8f397446d5d0749e..2c38010de3b685fdcd30162f17ee44b1ddcc894c 100644 Binary files a/images/wechat-group-qr.png and b/images/wechat-group-qr.png differ diff --git a/src/dataService.py b/src/dataService.py index 7f8b46c0dd87a9bfb460aee640a05d41c2e9c65b..3fe03cf26bed92fce2638ff9f2d6fa877dcbaa89 100644 --- a/src/dataService.py +++ b/src/dataService.py @@ -102,9 +102,9 @@ class DataService(object,metaclass=Singleton): DataService.case_dir = data['case_dir'] def set_perf_info(self, data): - DataService.perf_para = data['perf'] - DataService.nsys_para = data['nsys'] - DataService.ncu_para = data['ncu'] + DataService.perf_para = data['perf'] if 'perf' in data else '' + DataService.nsys_para = data['nsys'] if 'nsys' in data else '' + DataService.ncu_para = data['ncu'] if 'ncu' in data else '' def split_two_part(self, data): split_list = data.split(' ', 1) diff --git a/templates/CP2K/7.1/bisheng/Linux-x86-64-gfortran.psmp b/templates/CP2K/7.1/bisheng/Linux-arm-clang.psmp similarity index 100% rename from templates/CP2K/7.1/bisheng/Linux-x86-64-gfortran.psmp rename to templates/CP2K/7.1/bisheng/Linux-arm-clang.psmp diff --git a/templates/CP2K/7.1/bisheng/data.CP2K.arm.cpu.config b/templates/CP2K/7.1/bisheng/data.CP2K.arm.cpu.config index 031a5a5f1fd2b7df1b8ef06a420ed4d3754d136e..17b1e4ca0637dd7496e77f6334e5cd277900a151 100644 --- a/templates/CP2K/7.1/bisheng/data.CP2K.arm.cpu.config +++ b/templates/CP2K/7.1/bisheng/data.CP2K.arm.cpu.config @@ -5,7 +5,6 @@ cp2k/7.1 https://github.com/cp2k/cp2k/archive/v7.1.0.tar.gz cp2k-7.1.tar.gz dbcsr/2.0.1 https://github.com/cp2k/dbcsr/releases/download/v2.0.1/dbcsr-2.0.1.tar.gz - [DEPENDENCY] module purge module use ./software/modulefiles @@ -66,18 +65,17 @@ tar -xvf dbcsr-2.0.1.tar.gz cd dbcsr-2.0.1 mv * ../ cd ../../../arch -mv Linux-x86-64-gfortran.psmp Linux-x86-64-gfortran.psmp.bak -cp ${JARVIS_ROOT}/templates/CP2K/8.2/bisheng/Linux-x86-64-gfortran.psmp ./ -sed -i "10s%path1%${JARVIS_ROOT}/software/libs/bisheng2/hmpi1%g" Linux-x86-64-gfortran.psmp -sed -i "11s%path2%${JARVIS_ROOT}/software/libs/bisheng2%g" Linux-x86-64-gfortran.psmp +mv Linux-arm-clang.psmp Linux-arm-clang.psmp.bak +cp ${JARVIS_ROOT}/templates/CP2K/8.2/bisheng/Linux-arm-clang.psmp ./ +sed -i "10s%path1%${JARVIS_ROOT}/software/libs/bisheng2/hmpi1%g" Linux-arm-clang.psmp +sed -i "11s%path2%${JARVIS_ROOT}/software/libs/bisheng2%g" Linux-arm-clang.psmp cd .. -make -j ARCH=Linux-x86-64-gfortran VERSION=psmp +make -j ARCH=Linux-arm-clang VERSION=psmp [CLEAN] cd $JARVIS_TMP tar -jxvf $JARVIS_DOWNLOAD/cp2k-7.1.tar.gz - make -j 128 ARCH=local-cuda VERSION=psmp clean [RUN] diff --git a/templates/CP2K/8.2/Linux-arm-clang.psmp b/templates/CP2K/8.2/Linux-arm-clang.psmp new file mode 100644 index 0000000000000000000000000000000000000000..ecc00227764e7e1b1f08870ae22bedae71e4c2c5 --- /dev/null +++ b/templates/CP2K/8.2/Linux-arm-clang.psmp @@ -0,0 +1,60 @@ +# Tested with: GFortran 7.4.0, MPICH 3.3, LAPACK 3.8.0, ScaLAPACK 2.0.2, FFTW 3.3, Libint 2.6.0, Libxc 4.3.4, libxsmm 1.14, ELPA 2019.05.001, PLUMED 2.5.2, SPGLIB 1.12.2 +# Author: Matthias Krack (matthias.krack@psi.ch, PSI, December 2019) + +CC = mpicc +FC = mpif90 +LD = mpif90 +AR = ar -r + +MPI_PATH = path1 +GNU_PATH = path2 + +include $(MPI_PATH)/plumed/2.6.2/lib/plumed/src/lib/Plumed.inc.static + +ELPA_VER = 2019.05.001 +ELPA_INC = $(MPI_PATH)/elpa/$(ELPA_VER)/include/elpa_openmp-$(ELPA_VER) +ELPA_LIB = $(MPI_PATH)/elpa/$(ELPA_VER)/lib + +FFTW_INC = $(MPI_PATH)/fftw/3.3.8/include +FFTW_LIB = $(MPI_PATH)/fftw/3.3.8/lib + +LIBINT_INC = $(MPI_PATH)/libint/2.6.0/include +LIBINT_LIB = $(MPI_PATH)/libint/2.6.0/lib + +LIBXC_INC = $(GNU_PATH)/libxc/4.3.4/include +LIBXC_LIB = $(GNU_PATH)/libxc/4.3.4/lib + +SPGLIB_INC = $(GNU_PATH)/spglib/1.16.0/include +SPGLIB_LIB = $(GNU_PATH)/spglib/1.16.0/lib64 + +#LIBXSMM_INC = $(GNU_PATH)/libxsmm/1.14/include +#LIBXSMM_LIB = $(GNU_PATH)/libxsmm/1.14/lib + +CFLAGS = -O2 -g -mtune=native + +DFLAGS = -D__FFTW3 -D__LIBINT -D__LIBXC -D__ELPA #-D__LIBXSMM -D__ELPA +DFLAGS += -D__MPI_VERSION=3 -D__PLUMED2 -D__SPGLIB +DFLAGS += -D__parallel -D__SCALAPACK + +FCFLAGS = $(CFLAGS) $(DFLAGS) +FCFLAGS += -ffree-form -ffree-line-length-none +FCFLAGS += -fopenmp +FCFLAGS += -ftree-vectorize -funroll-loops -std=f2008 +FCFLAGS += -I$(ELPA_INC)/elpa -I$(ELPA_INC)/modules +FCFLAGS += -I$(FFTW_INC) -I$(LIBINT_INC) -I$(LIBXC_INC) #-I$(LIBXSMM_INC) + +LDFLAGS = $(FCFLAGS) -static-libgfortran + +LIBS = $(PLUMED_DEPENDENCIES) -L$(GNU_PATH)/gsl/2.6/lib/ -lgsl -lgslcblas -lz +LIBS += $(ELPA_LIB)/libelpa_openmp.a +LIBS += $(LIBXC_LIB)/libxcf03.a +LIBS += $(LIBXC_LIB)/libxc.a +LIBS += $(LIBINT_LIB)/libint2.a +LIBS += $(SPGLIB_LIB)/libsymspg.a +LIBS += $(FFTW_LIB)/libfftw3.a +LIBS += $(FFTW_LIB)/libfftw3_threads.a +LIBS += $(MPI_PATH)/scalapack-lapack-bisheng/2.1.0/lib/libscalapack.a +LIBS += $(GNU_PATH)/lapack-bisheng/3.8.0/lib/liblapack.a +LIBS += $(GNU_PATH)/lapack-bisheng/3.8.0/lib/librefblas.a +LIBS += -ldl -lpthread -lstdc++ + diff --git a/templates/CP2K/8.2/data.CP2K.X86.cpu.config b/templates/CP2K/8.2/data.CP2K.X86.cpu.config index 44dc7cd22fb15140c5c73f87ef3e7726d88dd3bf..6834376d9c6ebb2404288c0145879f84a62f799f 100644 --- a/templates/CP2K/8.2/data.CP2K.X86.cpu.config +++ b/templates/CP2K/8.2/data.CP2K.X86.cpu.config @@ -9,10 +9,10 @@ source /opt/intel/oneapi/setvars.sh [APP] app_name = CP2K -build_dir = /opt/software/cp2k-8.2.0/ -binary_dir = /opt/software/cp2k-8.2.0/exe/Linux-x86-64-intel/ -#case_dir = /opt/software/cp2k-8.2.0/benchmarks/QS/ -case_dir = /opt/software/cp2k-8.2.0/benchmarks/QS_DM_LS/ +build_dir = ${JARVIS_ROOT}/cp2k-8.2.0/ +binary_dir = ${JARVIS_ROOT}/cp2k-8.2.0/exe/Linux-x86-64-intel/ +#case_dir = ${JARVIS_ROOT}/cp2k-8.2.0/benchmarks/QS/ +case_dir = ${JARVIS_ROOT}/cp2k-8.2.0/benchmarks/QS_DM_LS/ [BUILD] make -j 48 ARCH=local-cpu VERSION=psmp @@ -58,10 +58,3 @@ mpirun -np 128 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0 exe/local-cu echo 3 > /proc/sys/vm/drop_caches echo "===run 128C*2GPU===" >> $logfile mpirun -np 128 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0,1 exe/local-cuda/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 - - - - - - - diff --git a/templates/CP2K/8.2/data.CP2K.arm.cpu.config b/templates/CP2K/8.2/data.CP2K.arm.cpu.config index 66c49b6a3a1472f2d74f65c963d5dd3dfa1eab43..df7e73ac5e140421b71594f08b498ceac2acc208 100644 --- a/templates/CP2K/8.2/data.CP2K.arm.cpu.config +++ b/templates/CP2K/8.2/data.CP2K.arm.cpu.config @@ -1,23 +1,66 @@ [SERVER] 11.11.11.11 +[DOWNLOAD] +cp2k/8.2 https://github.com/cp2k/cp2k/archive/refs/tags/v8.2.0.tar.gz cp2k-8.2.tar.gz +dbcsr/2.0.1 https://github.com/cp2k/dbcsr/releases/download/v2.0.1/dbcsr-2.0.1.tar.gz + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/2.1.0 com +module load bisheng2/2.1.0 +export CC=clang CXX=clang++ FC=flang + +./jarvis -install hmpi/1.1.1 clang +./jarvis -install gmp/6.2.0 clang +./jarvis -install boost/1.72.0 clang +./jarvis -install openblas/0.3.18 clang +./jarvis -install spglib/1.16.0 clang +./jarvis -install libxc/4.3.4 clang +./jarvis -install gsl/2.6 clang +./jarvis -install libvori/21.04.12 clang +./jarvis -install lapack/3.8.0/bisheng clang +#./jarvis -install fftw/3.3.8 clang +module load openblas/0.3.18 +module load gsl/2.6 +module load hmpi1/1.1.1 +module load gmp/6.2.0 +module load boost/1.72.0 + +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install libint/2.6.0 clang+mpi +./jarvis -install fftw/3.3.8 clang+mpi +./jarvis -install scalapack/2.1.0/lapack-bisheng clang+mpi +./jarvis -install plumed/2.6.2 clang+mpi +module load scalapack-lapack-bisheng/2.1.0 openblas/0.3.18 +./jarvis -install elpa/2019.05.001 clang+mpi +tar -zxvf $JARVIS_DOWNLOAD/cp2k-8.2.tar.gz +tar -zxvf $JARVIS_DOWNLOAD/dbcsr-2.0.1.tar.gz -C ${JARVIS_ROOT}/cp2k-8.2.0/exts/dbcsr + [ENV] -source /home/kpgcc-ompi.env -export LIBRARY_PATH=/home/cp2k/EXTRA/gsl/lib:$LIBRARY_PATH -export LD_LIBRARY_PATH=/home/cp2k/EXTRA/gsl/lib:$LD_LIBRARY_PATH -export CPATH=/usr/local/cuda/include:$CPATH +module purge +module use ./software/modulefiles +module load bisheng2/2.1.0 +module load hmpi1/1.1.1 +module load gsl/2.6 [APP] app_name = CP2K -build_dir = /home/cp2k/CP2K/cp2k-8.2/ -binary_dir = /home/cp2k/CP2K/cp2k-8.2/exe/local-cpu/ -case_dir = /home/cp2k/CP2K/cp2k-8.2/benchmarks/QS/ +build_dir = ${JARVIS_ROOT}/cp2k-8.2.0 +binary_dir = ${JARVIS_ROOT}/cp2k-8.2.0/exe/Linux-arm-clang/ +case_dir = ${JARVIS_ROOT}/cp2k-8.2.0/benchmarks/QS/ [BUILD] -make -j 128 ARCH=local-cpu VERSION=psmp +cd ./arch +cp ${JARVIS_ROOT}/templates/CP2K/8.2/Linux-arm-clang.psmp ./ +sed -i "10s%path1%${JARVIS_ROOT}/software/libs/bisheng2/hmpi1%g" Linux-arm-clang.psmp +sed -i "11s%path2%${JARVIS_ROOT}/software/libs/bisheng2%g" Linux-arm-clang.psmp +cd .. +make -j ARCH=Linux-arm-clang.psmp VERSION=psmp [CLEAN] -make -j 128 ARCH=local-cpu VERSION=psmp clean +make -j 128 ARCH=Linux-arm-clang VERSION=psmp clean [RUN] run = numactl -C 0-63 mpirun --allow-run-as-root -np 64 -map-by ppr:64:node:pe=1 -bind-to core -x OMP_NUM_THREADS=1 @@ -34,33 +77,26 @@ nvidia-smi -ac 1215,1410 echo 3 > /proc/sys/vm/drop_caches echo "===run 32C*GPU===" >> $logfile -mpirun -np 32 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0 exe/local-cuda/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 +mpirun -np 32 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0 exe/Linux-arm-clang/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 echo 3 > /proc/sys/vm/drop_caches echo "===run 32C*2GPU===" >> $logfile -mpirun -np 32 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0,1 exe/local-cuda/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 +mpirun -np 32 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0,1 exe/Linux-arm-clang/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 echo 3 > /proc/sys/vm/drop_caches echo "===run 64C*GPU===" >> $logfile -mpirun -np 64 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0 exe/local-cuda/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 +mpirun -np 64 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0 exe/Linux-arm-clang/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 echo 3 > /proc/sys/vm/drop_caches echo "===run 64C*2GPU===" >> $logfile -mpirun -np 32 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0,1 exe/local-cuda/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 +mpirun -np 32 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0,1 exe/Linux-arm-clang/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 echo 3 > /proc/sys/vm/drop_caches echo "===run 128C*GPU===" >> $logfile -mpirun -np 128 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0 exe/local-cuda/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 +mpirun -np 128 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0 exe/Linux-arm-clang/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 echo 3 > /proc/sys/vm/drop_caches echo "===run 128C*2GPU===" >> $logfile -mpirun -np 128 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0,1 exe/local-cuda/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 - - - - - - - +mpirun -np 128 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0,1 exe/Linux-arm-clang/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 diff --git a/templates/CP2K/8.2/data.CP2K.arm.gpu.config b/templates/CP2K/8.2/data.CP2K.arm.gpu.config index 06a32f613bf5c447c26e7e9ec243b26713883235..63c1d24bf2caa2459f981724224589f97688eada 100644 --- a/templates/CP2K/8.2/data.CP2K.arm.gpu.config +++ b/templates/CP2K/8.2/data.CP2K.arm.gpu.config @@ -86,10 +86,3 @@ mpirun -np 128 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0 exe/local-cu echo 3 > /proc/sys/vm/drop_caches echo "===run 128C*2GPU===" >> $logfile mpirun -np 128 -genv OMP_NUM_THREADS=1 -genv CUDA_VISIBLE_DEVICES=0,1 exe/local-cuda/cp2k.psmp benchmarks/QS/H2O-256.inp > cp2k.H2O-256.inp.log >> $logfile 2>&1 - - - - - - - diff --git a/templates/amber/20/data.amber.arm.gpu.config b/templates/amber/20/data.amber.arm.gpu.config index d8cab946e8ac018d7462c41c7993bec43e82b76f..5b6c0ed29ae68d1bfff9b740c262d2c252fd12bc 100644 --- a/templates/amber/20/data.amber.arm.gpu.config +++ b/templates/amber/20/data.amber.arm.gpu.config @@ -1,9 +1,6 @@ [SERVER] 1.1.1.1 -[DOWNLOAD] -kgcc/9.3.1 https://mirrors.huaweicloud.com/kunpeng/archive/compiler/kunpeng_gcc/gcc-9.3.1-2021.03-aarch64-linux.tar.gz - [DEPENDENCY] ./jarvis -install kgcc/9.3.1 com module purge @@ -30,9 +27,9 @@ export LIBRARY_PATH=$CUDA_HOME/lib64:$LIBRARY_PATH [APP] app_name = Amber -build_dir = /home/fang/HPCRunner-master/amber20_src/build/ -binary_dir = /home/fang/HPCRunner-master/amber20/bin/ -case_dir = /home/fang/HPCRunner-master/workloads/Amber/Cellulose/ +build_dir = $JARVIS_ROOT/amber20_src/build/ +binary_dir = $JARVIS_ROOT/amber20/bin/ +case_dir = $JARVIS_ROOT/workloads/Amber/Cellulose/ [BUILD] sed -i 's/-DMPI=FALSE/-DMPI=TRUE/g' run_cmake diff --git a/templates/qe/6.4/data.qe.container.config b/templates/qe/6.4/data.qe.container.config index 9e2dae612c5cbcfa5e59c1bedc654cc3a40b3605..4c5c5cf1bdc622611ddf7e167819dc4a752262f1 100644 --- a/templates/qe/6.4/data.qe.container.config +++ b/templates/qe/6.4/data.qe.container.config @@ -26,9 +26,9 @@ module load openmpi4/4.1.2 [APP] app_name = QE -build_dir = /hpcrunner/q-e-qe-6.4.1/ -binary_dir = /hpcrunner/q-e-qe-6.4.1/bin/ -case_dir = /hpcrunner/workloads/QE/qe-test +build_dir = ${JARVIS_ROOT}/q-e-qe-6.4.1/ +binary_dir = ${JARVIS_ROOT}/q-e-qe-6.4.1/bin/ +case_dir = ${JARVIS_ROOT}/workloads/QE/qe-test [BUILD] ./configure F90=gfortran F77=gfortran MPIF90=mpifort MPIF77=mpifort CC=mpicc FCFLAGS="-O3" CFLAGS="-O3" --with-scalapack=no --enable-openmp @@ -42,4 +42,7 @@ make clean #container-run = mpirun --allow-run-as-root -x OMP_NUM_THREADS=1 -np 96 singularity exec xx.sif /hpcrunner/q-e-qe-6.4.1/bin pw.x -input /hpcrunner/workloads/QE/qe-test/test_3.in run = mpirun --allow-run-as-root -x OMP_NUM_THREADS=1 -np 96 binary = pw.x -input test_3.in -nodes = 1 \ No newline at end of file +nodes = 1 + +[PERF] +perf = \ No newline at end of file diff --git a/templates/vasp/5.4.4/data.vasp.arm.cpu.config b/templates/vasp/5.4.4/data.vasp.arm.cpu.config deleted file mode 100644 index 7a86019ca4ceb562cddae2401953f0548ec87e36..0000000000000000000000000000000000000000 --- a/templates/vasp/5.4.4/data.vasp.arm.cpu.config +++ /dev/null @@ -1,24 +0,0 @@ -[SERVER] -11.11.11.11 - -[ENV] -# add gcc/mpi -module use /opt/modulefile/ -module load openmpi-4.1.1 - -[APP] -app_name = VASP -build_dir = /home/HPCRunner/vasp.5.4.4/ -binary_dir = /home/HPCRunner/vasp.5.4.4/bin/ -case_dir = /home/HPCRunner/vasp_normal - -[BUILD] -make std - -[CLEAN] -make veryclean - -[RUN] -run = mpirun -mca pml ucx -mca btl ^vader,tcp,openib,uct -np 128 -binary = vasp_std -nodes = 1 \ No newline at end of file diff --git a/templates/vasp/5.4.4/data.vasp.arm_clang.cpu.config b/templates/vasp/5.4.4/data.vasp.arm_clang.cpu.config index 4b26bedfd93e183f34ccdc3d6c87813d7e67c36a..02cea756ccb66e370a483cf6af292829e07b16ce 100644 --- a/templates/vasp/5.4.4/data.vasp.arm_clang.cpu.config +++ b/templates/vasp/5.4.4/data.vasp.arm_clang.cpu.config @@ -37,8 +37,10 @@ case_dir = cp ${JARVIS_ROOT}/templates/vasp/5.4.4/makefile.include ./ make std +[CLEAN] +make veryclean [RUN] -run = +run = mpirun -mca pml ucx -mca btl ^vader,tcp,openib,uct -np 128 binary = vasp_std nodes = 1 \ No newline at end of file