diff --git a/templates/wrf/4.6.0/data.wrf.cpu.sve.config b/templates/wrf/4.6.0/data.wrf.cpu.sve.config new file mode 100644 index 0000000000000000000000000000000000000000..37dfa65871ffabdc88a62ea25c15230dea1bf36f --- /dev/null +++ b/templates/wrf/4.6.0/data.wrf.cpu.sve.config @@ -0,0 +1,145 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +wrf/4.6.0 https://github.com/wrf-model/WRF/releases/download/v4.6.0/v4.6.0.tar.gz WRFV4.6.0.tar.gz + +[DEPENDENCY] +set -e +set -x +sudo yum -y install rpcbind libtirpc* +./jarvis -install package/hpckit/2024.12.30/ any +module use software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module purge +module load bisheng/compiler4.1.0/bishengmodule bisheng/hmpi2.4.3/hmpi + +export CC=clang CXX=clang++ FC=flang +export CFLAGS="-Wno-implicit-function-declaration -Wno-incompatible-function-pointer-types" +./jarvis -install jasper/1.900.2 bisheng + +export CC=mpicc FC=mpifort CXX=mpicxx + +./jarvis -install package/hdf5/1.12.0/clang bisheng+mpi +module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.1.0-hmpi2.4.3/ +module load hdf5-clang/1.12.0 +./jarvis -install package/pnetcdf/1.11.2 bisheng+mpi +module load pnetcdf/1.11.2 +./jarvis -install package/netcdf/4.7.4/clang bisheng+mpi +module load netcdf-clang/4.7.4 +module load bisheng/kml2.5.0/kml bisheng/kml2.5.0/kblas/pthread + +./jarvis -install jasper/1.900.2 bisheng +# basic system components +yum install -y time zlib zlib-devel libtirpc libtirpc-devel patch + +[ENV] +#!/bin/bash +module purge +module use ./software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module purge +module load bisheng/compiler4.1.0/bishengmodule bisheng/hmpi2.4.3/hmpi +module use ./software/moduledeps/bisheng4.1.0-hmpi2.4.3/ +module load hdf5-clang/1.12.0 +module load pnetcdf/1.11.2 +module load netcdf-clang/4.7.4 +module load bisheng/kml2.5.0/kml bisheng/kml2.5.0/kblas/pthread +module use ./software/moduledeps/bisheng4.1.0/ +module load jasper/1.900.2 + +export WRFIO_NCD_LARGE_FILE_SUPPORT=1 +export NETCDF=${NETCDF_CLANG_PATH} +export HDF5=${HDF5_CLANG_PATH} +export PHDF5=${HDF5} +export PNETCDF=${PNETCDF_PATH} +export JASPER=${JASPER_PATH} +export JASPERLIB=${JASPER_PATH}/lib +export JASPREINC=${JASPER_PATH}/include +export MPI_DIR=`dirname $(dirname $(which mpirun))` +export BISHENG_DIR=`dirname $(dirname $(which clang))` +export CPPFLAGS="-I${HDF5}/include -I${PNETCDF}/include -I${NETCDF}/include -I${MPI_DIR}/include" +export LDFLAGS="-L${HDF5}/lib -L${PNETCDF}/lib -L${NETCDF}/lib -lnetcdf -lnetcdff -lpnetcdf -lhdf5_hl -lhdf5 -lz" +export CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif90 F90=mpif90 +export MPI_LIB="-L${MPI_DIR}/lib -lmpi -lomp" +export C_INCLUDE=-I${HDF5}/include:$C_INCLUDE +export CPLUS_INCLUDE=-I${HDF5}/include:$C_INCLUDE + + +export PATH=$JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0/main:$PATH + +[APP] +app_name = WRF +build_dir = $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0 +binary_dir = ${WRF_DIR}/run +case_dir = $JARVIS_ROOT/case/wrf/conus12km + +[BUILD] +set -x +mkdir -p $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0 +tar -xvf ${JARVIS_DOWNLOAD}/WRFV4.6.0.tar.gz --strip-components 1 -C $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0 +cd ${JARVIS_ROOT}/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0 +sed -i "2181c\SFC = flang" arch/configure.defaults +sed -i "2182c\SCC = clang" arch/configure.defaults +sed -i "2183c\CCOMP = clang" arch/configure.defaults +sed -i "2192c\CFLAGS_LOCAL = -w -O3 -c -Wno-implicit-function-declaration -Wno-int-conversion -Wno-implicit-int -mtune=native -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true -L${BISHENG_DIR}/lib -I${BISHENG_DIR}/include " arch/configure.defaults +sed -i "2194c\FCOPTIM = -O3 -mcpu=native -funroll-loops -mtune=native -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true -lmathlib -fopenmp -L${BISHENG_DIR}/lib -Wl,-rpath,${BISHENG_DIR}/lib -L/home/drh/hpcrunner-bak/software/utils/hpckit/2024.12.30/HPCKit/24.12.30/kml/bisheng/lib/noarch -lkm_l9" arch/configure.defaults + + +echo -e "12\n1" | ./configure + +./compile -j 16 em_real 2>&1 | tee -a compile.log + +[CLEAN] +./clean -a + +[RUN] +run = mpirun --allow-run-as-root -n 32 -x OMP_NUM_THREADS=1 -bind-to core ${WRF_DIR}/run/wrf.exe +binary = +nodes = 1 + + +[BATCH] +#定义日志文件 +LOG_FILE="ww3-proformance.log" + +#清空日志文件 +>"$LOG_FILE" + +#复制run目录到运行目录 +mv namelist.input namelist.input-bak +cp -rf $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0/run/* ./ +ln -sf CAMtr_volume_mixing_ratio CAMtr_volume_mixing_ratio.SSP245 +ln -sf MPTABLE.TBL $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0/phys/noahmp/parameters/MPTABLE.TBL +mv namelist.input-bak namelist.input +trdnum=4 +mynp=32 + +#执行每个命令并统计性能 +#$ROOT_TOOL "mpirun" "time -p mpirun --allow-run-as-root -x PATH -x LD_LIBRARY_PATH --map-by ppr:${mynp}:node:pe=${trdnum} -x OMP_NUM_THREADS=${trdnum} --rank-by core --bind-to core --mca pml ucx -mca btl ^vader,tcp,openib wrf.exe" $LOG_FILE + +mpirun --allow-run-as-root -x PATH -x LD_LIBRARY_PATH --map-by ppr:${mynp}:node:pe=${trdnum} -x OMP_NUM_THREADS=${trdnum} --rank-by core --bind-to core --mca pml ucx -mca btl ^vader,tcp,openib wrf.exe + +echo "ALL commands executed. Performance log saved to $LOG_FILE" + + +[JOB] +#!/bin/sh +#DSUB -n wrf_test +#DSUB --mpi hmpi +#DSUB -q default +#DSUB -N 1 +#DSUB -R cpu=128 +#DSUB -oo wrf.%J.out +#DSUB -oe wrf.%J.err + + +#定义日志文件 +LOG_FILE="wrf-proformance.log" + +#清空日志文件 +>"$LOG_FILE" + +#执行每个命令并统计性能 +$ROOT_TOOL "mpirun" "mpirun -x PATH -x LD_LIBRARY_PATH --map-by ppr:${mynp}:node:pe=${trdnum} -x OMP_NUM_THREADS=${trdnum} --rank-by core --bind-to core --mca pml ucx -mca btl ^vader,tcp,openib wrf.exe" $LOG_FILE +echo "ALL commands executed. Performance log saved to $LOG_FILE" + +