From e0f560c6f9e5d9b42e9172db4389c7f0381308fd Mon Sep 17 00:00:00 2001 From: yyyaaa111 <2393110978@qq.com> Date: Thu, 18 Dec 2025 17:36:15 +0800 Subject: [PATCH 1/4] update vsp --- .../5.4.4/data.vasp_vtst.arm_clang.cpu.config | 106 +++++++++++++----- .../vasp/6.3.2/data.vasp.arm_clang.cpu.config | 6 +- 2 files changed, 82 insertions(+), 30 deletions(-) diff --git a/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config b/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config index 1426a6a4..1fd6ebe2 100644 --- a/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config +++ b/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config @@ -6,38 +6,40 @@ vtstcode/179 http://theory.cm.utexas.edu/code/vtstcode-179.tgz [DEPENDENCY] -# add gcc/mpi -module use ${JARVIS_ROOT}/software/modulefiles module purge -./jarvis -install bisheng/2.1.0 com -module load bisheng/2.1.0 -export CC=clang CXX=clang++ FC=flang -./jarvis -install hmpi/1.1.1 clang -module load hmpi/1.1.1 -./jarvis -install openblas/0.3.18 clang -module load openblas/0.3.18 -./jarvis -install scalapack/2.1.0/clang clang+mpi -module load scalapack-clang/2.1.0 -./jarvis -install fftw/3.3.8 clang+mpi -module load fftw/3.3.8 -cd ${JARVIS_ROOT}/tmp/ -tar zxvf ${JARVIS_ROOT}/downloads/vtstcode-179.tgz +./jarvis -install hpckit/${HPCKIT_VERSION} any + +./jarvis -install fftw/yum com + +cd ${JARVIS_TMP} +rm -rf vtstcode-179 vasp.5.4.4 +tar zxvf ${JARVIS_DOWNLOAD}/vtstcode-179.tgz +tar zxvf ${JARVIS_DOWNLOAD}/vasp.5.4.4.tar.gz [ENV] -module use ./software/modulefiles module purge -module load bisheng/2.1.0 -export CC=clang CXX=clang++ FC=flang -module load hmpi/1.1.1 -module load openblas/0.3.18 -module load scalapack-clang/2.1.0 -module load fftw/3.3.8 +module use ${JARVIS_UTILS}/hpckit/${HPCKIT_VERSION}/HPCKit/${HPCKIT_VERSION}/modulefiles +module load bisheng/compiler${BISHENG_VERSION}/bishengmodule +module load bisheng/hmpi${HMPI_VERSION}/release +module load bisheng/kml${HMPI_VERSION}/kml +module load bisheng/kml${HMPI_VERSION}/kblas/multi +export HPCKIT_PATH=${JARVIS_UTILS}/hpckit/${HPCKIT_VERSION} +export KML_LIB=${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib +export KML_PATH=${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml +export LD_LIBRARY_PATH=${KML_LIB}/noarch:${KML_LIB}/${kp}:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=${KML_LIB}/${kp}/kblas/multi:$LD_LIBRARY_PATH + +kml_path="-L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/noarch -lkm -lkm_l9" +kml_inc=${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/include +blas_path="-L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/${kp}/kblas/multi -lkblas" +fftw_path="-L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/${kp} -lkfft -lfftw3" +scalapack_path="-L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/${kp}/ -lkscalapack_full -lklapack_full -lkservice" [APP] app_name = VASP -build_dir = ${JARVIS_ROOT}/tmp/ -binary_dir = -case_dir = +build_dir = ${JARVIS_TMP} +binary_dir = ${JARVIS_TMP}/vasp/5.4.4/bin +case_dir = your_case_dir [BUILD] cp vasp.5.4.4/src/chain.F vasp.5.4.4/src/chain.F_bak @@ -46,11 +48,61 @@ sed -i "3147c\ TSIF,LATT_CUR%A,LATT_CUR%B,IO%IU6)" vasp.5.4.4/src/main sed -i '71a\ bfgs.o dynmat.o instanton.o lbfgs.o sd.o cg.o dimer.o bbm.o \\' vasp.5.4.4/src/.objects sed -i '72a\ fire.o lanczos.o neb.o qm.o opt.o \\' vasp.5.4.4/src/.objects cd vasp.5.4.4/ -cp ${JARVIS_ROOT}/templates/vasp/5.4.4/makefile.include ./ + +cat > makefile.include << EOF +# Default precompiler options +CPP_OPTIONS = -DHOST=\"LinuxGNU\" \\ + -DMPI -DMPI_BLOCK=8000 \\ + -Duse_collective \\ + -DscaLAPACK \\ + -DCACHE_SIZE=5000 \\ + -Davoidalloc \\ + -Duse_bse_te \\ + -Dtbdyn \\ + -Dfock_dblbuf + +CPP = flang -E -C -w \$*\$(FUFFIX) >\$*\$(SUFFIX) \$(CPP_OPTIONS) + +FC = mpif90 +FCL = mpif90 + +FREE = -ffree-form -ffree-line-length-none + +FFLAGS = -w + +OFLAG = -O3 -ffp-contract=fast -ffpe-trap=invalid,zero,overflow +OFLAG_IN = \$(OFLAG) +DEBUG = -O0 + +LLIBS = -L\${KML_LIB}/${kp} -lkfftf -L\${KML_LIB}/${kp}/kblas/omp -lkscalapack_full -lklapack_full -L\${KML_LIB}/${kp}/kblas/multi -lkblas -L\${KML_LIB}/noarch -lkfft -lkm -Xlinker -zmuldefs +FFTW ?= \${KML_LIB}/noarch +LLIBS += -L\$(FFTW) -lfftw3f -lfftw3 +INCS = -I\${KML_PATH}/bisheng/include +OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o +OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o +OBJECTS_O2 += fft3dlib.o + +# For what used to be vasp.5.lib +CPP_LIB = \$(CPP) +FC_LIB = \$(FC) +CC_LIB = clang +CFLAGS_LIB = -O +FFLAGS_LIB = -O3 +FREE_LIB = \$(FREE) +OBJECTS_LIB = linpack_double.o getshmem.o +# For the parser library +CXX_PARS = clang++ -std=c++11 +LIBS += parser +LLIBS += -Lparser -lparser -lstdc++ +# Normally no need to change this +SRCDIR = ../../src +BINDIR = ../../bin +EOF + make std [RUN] -run = +run = mpirun --allow-run-as-root -np 32 -x OMP_NUM_THREADS=1 binary = vasp_std nodes = 1 diff --git a/templates/vasp/6.3.2/data.vasp.arm_clang.cpu.config b/templates/vasp/6.3.2/data.vasp.arm_clang.cpu.config index 1aa402dc..b710365f 100644 --- a/templates/vasp/6.3.2/data.vasp.arm_clang.cpu.config +++ b/templates/vasp/6.3.2/data.vasp.arm_clang.cpu.config @@ -7,7 +7,7 @@ set -e set -x module purge -./jarvis -install hpckit/${HPCKIT_VERSION} com +./jarvis -install hpckit/${HPCKIT_VERSION} any ./jarvis -install fftw/yum com @@ -19,12 +19,12 @@ tar xf ${JARVIS_DOWNLOAD}/vasp.6.3.2.tgz set -e set -x module purge -module use software/compiler/hpckit/${HPCKIT_VERSION}/HPCKit/${HPCKIT_VERSION}/modulefiles +module use ${JARVIS_UTILS}/hpckit/${HPCKIT_VERSION}/HPCKit/${HPCKIT_VERSION}/modulefiles module load bisheng/compiler${BISHENG_VERSION}/bishengmodule module load bisheng/hmpi${HMPI_VERSION}/release module load bisheng/kml${HMPI_VERSION}/kml module load bisheng/kml${HMPI_VERSION}/kblas/multi -export HPCKIT_PATH=$JARVIS_COMPILER/hpckit/${HPCKIT_VERSION} +export HPCKIT_PATH=${JARVIS_UTILS}/hpckit/${HPCKIT_VERSION} export KML_LIB=${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib export KML_PATH=${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml export LD_LIBRARY_PATH=${KML_LIB}/noarch:${KML_LIB}/${kp}:$LD_LIBRARY_PATH -- Gitee From d0ba6559bdca39d26dd019af097db91d0f044fef Mon Sep 17 00:00:00 2001 From: yyyaaa111 <2393110978@qq.com> Date: Thu, 18 Dec 2025 17:39:45 +0800 Subject: [PATCH 2/4] update --- templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config b/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config index 1fd6ebe2..40068695 100644 --- a/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config +++ b/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config @@ -13,6 +13,7 @@ module purge cd ${JARVIS_TMP} rm -rf vtstcode-179 vasp.5.4.4 +rm -rf vasp.5.4.4 tar zxvf ${JARVIS_DOWNLOAD}/vtstcode-179.tgz tar zxvf ${JARVIS_DOWNLOAD}/vasp.5.4.4.tar.gz @@ -101,8 +102,7 @@ EOF make std - [RUN] -run = mpirun --allow-run-as-root -np 32 -x OMP_NUM_THREADS=1 +run = mpirun --allow-run-as-root -np $(nproc) -x OMP_NUM_THREADS=1 binary = vasp_std nodes = 1 -- Gitee From 0f12ea6dc8faa19d9bfb04d852057694bce39a81 Mon Sep 17 00:00:00 2001 From: yyyaaa111 <2393110978@qq.com> Date: Thu, 18 Dec 2025 19:37:26 +0800 Subject: [PATCH 3/4] update --- templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config | 1 - 1 file changed, 1 deletion(-) diff --git a/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config b/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config index 40068695..795a6692 100644 --- a/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config +++ b/templates/vasp/5.4.4/data.vasp_vtst.arm_clang.cpu.config @@ -13,7 +13,6 @@ module purge cd ${JARVIS_TMP} rm -rf vtstcode-179 vasp.5.4.4 -rm -rf vasp.5.4.4 tar zxvf ${JARVIS_DOWNLOAD}/vtstcode-179.tgz tar zxvf ${JARVIS_DOWNLOAD}/vasp.5.4.4.tar.gz -- Gitee From 4fe28b73613d524ce31b61db1940ec2d7ab5e9ee Mon Sep 17 00:00:00 2001 From: yyyaaa111 <2393110978@qq.com> Date: Thu, 18 Dec 2025 19:40:50 +0800 Subject: [PATCH 4/4] update templates/vasp/5.4.4/data.vasp_wannier90.arm_clang.cpu.config --- .../data.vasp_wannier90.arm_clang.cpu.config | 112 +++++++++++++----- 1 file changed, 82 insertions(+), 30 deletions(-) diff --git a/templates/vasp/5.4.4/data.vasp_wannier90.arm_clang.cpu.config b/templates/vasp/5.4.4/data.vasp_wannier90.arm_clang.cpu.config index cdcd5419..024d7396 100644 --- a/templates/vasp/5.4.4/data.vasp_wannier90.arm_clang.cpu.config +++ b/templates/vasp/5.4.4/data.vasp_wannier90.arm_clang.cpu.config @@ -5,53 +5,105 @@ wannier90/1.2.0 https://github.com/wannier-developers/wannier90/archive/refs/tags/v1.2.tar.gz [DEPENDENCY] -# add clang/mpi -module use ${JARVIS_ROOT}/software/modulefiles module purge -./jarvis -install bisheng/2.1.0 com -module load bisheng/2.1.0 -export CC=clang CXX=clang++ FC=flang -./jarvis -install hmpi/1.1.1 clang -module load hmpi/1.1.1 -./jarvis -install openblas/0.3.18 clang -module load openblas/0.3.18 -./jarvis -install scalapack/2.1.0/clang clang+mpi -module load scalapack-clang/2.1.0 -./jarvis -install fftw/3.3.8 clang+mpi -module load fftw/3.3.8 -cd ${JARVIS_ROOT}/tmp/ -tar -xvf ${JARVIS_ROOT}/downloads/v1.2.tar.gz +./jarvis -install hpckit/${HPCKIT_VERSION} any + +./jarvis -install fftw/yum com + +cd ${JARVIS_TMP} +rm -rf wannier90-1.2 vasp.5.4.4 +tar zxvf ${JARVIS_DOWNLOAD}/v1.2.tar.gz +tar zxvf ${JARVIS_DOWNLOAD}/vasp.5.4.4.tar.gz [ENV] -module use ./software/modulefiles module purge -module load bisheng/2.1.0 -export CC=clang CXX=clang++ FC=flang -module load hmpi/1.1.1 -module load openblas/0.3.18 -module load scalapack-clang/2.1.0 -module load fftw/3.3.8 +module use ${JARVIS_UTILS}/hpckit/${HPCKIT_VERSION}/HPCKit/${HPCKIT_VERSION}/modulefiles +module load bisheng/compiler${BISHENG_VERSION}/bishengmodule +module load bisheng/hmpi${HMPI_VERSION}/release +module load bisheng/kml${HMPI_VERSION}/kml +module load bisheng/kml${HMPI_VERSION}/kblas/multi +export HPCKIT_PATH=${JARVIS_UTILS}/hpckit/${HPCKIT_VERSION} +export KML_LIB=${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib +export KML_PATH=${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml +export LD_LIBRARY_PATH=${KML_LIB}/noarch:${KML_LIB}/${kp}:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=${KML_LIB}/${kp}/kblas/multi:$LD_LIBRARY_PATH + +kml_path="-L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/noarch -lkm -lkm_l9" +kml_inc=${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/include +blas_path="-L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/${kp}/kblas/multi -lkblas" +fftw_path="-L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/${kp} -lkfft -lfftw3" +scalapack_path="-L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/${kp}/ -lkscalapack_full -lklapack_full -lkservice" [APP] app_name = VASP -build_dir = ${JARVIS_ROOT}/tmp -binary_dir = -case_dir = +build_dir = ${JARVIS_TMP} +binary_dir = ${JARVIS_TMP}/vasp/5.4.4/bin +case_dir = your_case_dir [BUILD] cd wannier90-1.2 cp config/make.sys.gfort make.sys sed -i "4c F90 = flang" make.sys -sed -i '$a\\LIBS = -L${SCALAPACK_CLANG_PATH}/lib -L${OPENBLAS_PATH}/lib -lscalapack -lopenblas' make.sys +sed -i '$a LIBS = -L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/${kp}/ -lkscalapack_full -lklapack_full -lkservice -L${HPCKIT_PATH}/HPCKit/${HPCKIT_VERSION}/kml/bisheng/lib/${kp}/kblas/multi -lkblas' make.sys make clean make wannier lib test -cp ${JARVIS_ROOT}/templates/vasp/5.4.4/makefile.include ./ -sed -i '10s/$/ \-Dtbdyn \-DVASP2WANNIER90/' makefile.include -sed -i "21s/$/ \$\{JARVIS\_ROOT}\/tmp\/wannier90-1.2\/libwannier.a/" makefile.include + +cd ${JARVIS_TMP}/vasp/5.4.4 + +cat > makefile.include << EOF +# Default precompiler options +CPP_OPTIONS = -DHOST=\"LinuxGNU\" \\ + -DMPI -DMPI_BLOCK=8000 \\ + -Duse_collective \\ + -DscaLAPACK \\ + -DCACHE_SIZE=5000 \\ + -Davoidalloc \\ + -Duse_bse_te \\ + -Dtbdyn \\ + -DVASP2WANNIER90 + +CPP = flang -E -C -w \$*\$(FUFFIX) >\$*\$(SUFFIX) \$(CPP_OPTIONS) + +FC = mpif90 +FCL = mpif90 + +FREE = -ffree-form -ffree-line-length-none + +FFLAGS = -w + +OFLAG = -O3 -ffp-contract=fast -ffpe-trap=invalid,zero,overflow +OFLAG_IN = \$(OFLAG) +DEBUG = -O0 + +LLIBS = -L\${KML_LIB}/${kp} -lkfftf -L\${KML_LIB}/${kp}/kblas/omp -lkscalapack_full -lklapack_full -L\${KML_LIB}/${kp}/kblas/multi -lkblas -L\${KML_LIB}/noarch -lkfft -lkm -Xlinker -zmuldefs +FFTW ?= \${KML_LIB}/noarch +LLIBS += ${JARVIS_TMP}/wannier90-1.2/libwannier.a -L\$(FFTW) -lfftw3f -lfftw3 +INCS = -I\${KML_PATH}/bisheng/include +OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o +OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o +OBJECTS_O2 += fft3dlib.o + +# For what used to be vasp.5.lib +CPP_LIB = \$(CPP) +FC_LIB = \$(FC) +CC_LIB = clang +CFLAGS_LIB = -O +FFLAGS_LIB = -O3 +FREE_LIB = \$(FREE) +OBJECTS_LIB = linpack_double.o getshmem.o +# For the parser library +CXX_PARS = clang++ -std=c++11 +LIBS += parser +LLIBS += -Lparser -lparser -lstdc++ +# Normally no need to change this +SRCDIR = ../../src +BINDIR = ../../bin +EOF + make veryclean make all [RUN] -run = +run = mpirun --allow-run-as-root -np $(nproc) -x OMP_NUM_THREADS=1 binary = vasp_std nodes = 1 -- Gitee