diff --git a/templates/vasp/6.4.3/data.vasp.arm_clang.cpu.config b/templates/vasp/6.4.3/data.vasp.arm_clang.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..3d4fd7b791e2d07aa3a8c2e40b6356723c8a8d05 --- /dev/null +++ b/templates/vasp/6.4.3/data.vasp.arm_clang.cpu.config @@ -0,0 +1,130 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] + +[DEPENDENCY] +set -e +set -x +module purge + +./jarvis -install hpckit/${HPCKIT_VERSION}/ any +cd ${JARVIS_TMP} +rm -rf ${JARVIS_TMP}/vasp.6.4.3 +tar xf ${JARVIS_DOWNLOAD}/vasp.6.4.3.tgz + + + +[ENV] +module purge +module use software/utils/hpckit/${HPCKIT_VERSION}/HPCKit/${HPCKIT_VERSION}/modulefiles +module load bisheng/compiler${BISHENG_VERSION}/bishengmodule +module load bisheng/hmpi${HMPI_VERSION} +module load bisheng/kml${HMPI_VERSION}/kml +module load bisheng/kml${HMPI_VERSION}/kblas/multi +export HPCKIT_PATH=$JARVIS_UTILS/hpckit/${HMPI_VERSION} +export KML_LIB=${HPCKIT_PATH}/HPCKit/${HMPI_VERSION}/kml/bisheng/lib +export KML_PATH=${HPCKIT_PATH}/HPCKit/${HMPI_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/${HMPI_VERSION}/kml/bisheng/lib/noarch -lkm -lkm_l9" +kml_inc=${HPCKIT_PATH}/HPCKit/${HMPI_VERSION}/kml/bisheng/include +blas_path="-L${HPCKIT_PATH}/HPCKit/${HMPI_VERSION}/kml/bisheng/lib/${kp}/kblas/multi -lkblas" +fftw_path="-L${HPCKIT_PATH}/HPCKit/${HMPI_VERSION}/kml/bisheng/lib/${kp} -lkfft -L/usr/lib64 -lfftw3" +scalapack_path="-L${HPCKIT_PATH}/HPCKit/${HMPI_VERSION}/kml/bisheng/lib/${kp}/ -lkscalapack_full -lklapack_full -lkservice" + +[APP] +app_name = VASP +build_dir = ${JARVIS_TMP}/vasp.6.4.3 +binary_dir = ${JARVIS_TMP}/vasp.6.4.3/bin +case_dir = + +[BUILD] +sed -i ' + s@^[[:space:]]*FORALL (N=1:SIZE(BSE_INDEX%INDEX,1)) W1(N)%WDES1 => WDESK1@ !FORALL (N=1:SIZE(BSE_INDEX%INDEX,1)) W1(N)%WDES1 => WDESK1\n DO N=1,SIZE(BSE_INDEX%INDEX,1)\n W1(N)%WDES1 => WDESK1\n ENDDO@ + s@^[[:space:]]*FORALL (N=1:SIZE(BSE_INDEX%INDEX,2)) W3(N)%WDES1 => WDESK3@ !FORALL (N=1:SIZE(BSE_INDEX%INDEX,2)) W3(N)%WDES1 => WDESK3\n DO N=1,SIZE(BSE_INDEX%INDEX,2)\n W3(N)%WDES1 => WDESK3\n ENDDO@ +' src/bse_driver.F +sed -i ' + s@^[[:space:]]*FORALL (N=1:SIZE(BSE_INDEX%INDEX,1)) W1(N)%WDES1 => WDESK1@ !FORALL (N=1:SIZE(BSE_INDEX%INDEX,1)) W1(N)%WDES1 => WDESK1\n DO N=1,SIZE(BSE_INDEX%INDEX,1)\n W1(N)%WDES1 => WDESK1\n ENDDO@ + s@^[[:space:]]*FORALL (N=1:SIZE(BSE_INDEX%INDEX,2)) W3(N)%WDES1 => WDESK3@ !FORALL (N=1:SIZE(BSE_INDEX%INDEX,2)) W3(N)%WDES1 => WDESK3\n DO N=1,SIZE(BSE_INDEX%INDEX,2)\n W3(N)%WDES1 => WDESK3\n ENDDO@ +' src/bse.F +cat > makefile.include << EOF +# Default precompiler options +CPP_OPTIONS = -DHOST=\"LinuxGNU\" \\ + -DMPI -DMPI_BLOCK=8000 -Duse_collective \\ + -DscaLAPACK \\ + -DCACHE_SIZE=5000 \\ + -Davoidalloc \\ + -Dvasp6 \\ + -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 +BLAS = $blas_path +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 = mpicc +CFLAGS_LIB = -O +FFLAGS_LIB = -O3 +FREE_LIB = \$(FREE) + +OBJECTS_LIB = linpack_double.o + +# For the parser library +CXX_PARS = mpicxx +LLIBS = -lstdc++ + +## +## Customize as of this point! Of course you may change the preceding +## part of this file as well if you like, but it should rarely be +## necessary ... +## + +# When compiling on the target machine itself, change this to the +# relevant target when cross-compiling for another architecture +VASP_TARGET_CPU ?= -march=native +FFLAGS += \$(VASP_TARGET_CPU) + +FFLAGS += -w -O3 -ffast-math -Ofast + +# scaLAPACK (mandatory) +SCALAPACK_ROOT ?= +SCALAPACK = $scalapack_path + +LLIBS += \$(SCALAPACK) \$(BLASPACK) + +# FFTW (mandatory) +FFTW_ROOT ?= +LLIBS += ${scalapack_path} ${blas_path} ${fftw_path} ${kml_path} +INCS += -I$kml_inc +EOF + +echo `pwd` +make DEPS=1 -j all + +[CLEAN] +make veryclean + +[RUN] +run = mpirun --allow-run-as-root -np 32 -x OMP_NUM_THREADS=1 +binary = vasp_std 2>&1 | tee -a vasp.out +nodes = 1 +