From a3a1fde82ec4cef34eb20c10601f5d2a79cedc86 Mon Sep 17 00:00:00 2001 From: chenshaoheng Date: Mon, 30 Dec 2024 16:28:27 +0800 Subject: [PATCH] add Q3&Q4-container_templates --- templates/ARPS/5.3.4/data.arps.arm.cpu.config | 59 ++++++++ .../ARPS/5.3.4/data.arps.arm.cpu.sve.config | 61 ++++++++ .../data.CMAQ.container-sve.arm.cpu.config | 75 ++++++++++ templates/MOM/6/data.mom.arm.clang.cpu.config | 83 +++++++++++ .../MOM/6/data.mom.arm.sve-test.cpu.config | 84 +++++++++++ templates/MOM/6/data.mom.arm.sve.cpu.config | 84 +++++++++++ .../fds/6.7.4/data.fds.arm.clang.cpu.config | 41 ++++++ .../fds/6.7.4/data.fds.arm.sve.cpu.config | 41 ++++++ .../hisat/0.1.6/data.hisat.arm.cpu.config | 67 +++++++++ templates/meep/data.meep.arm.cpu.config | 105 ++++++++++++++ .../4.0.2/data.siesta.arm.clang.cpu.config | 70 +++++++++ .../4.0.2/data.siesta.arm.sve.cpu.config | 70 +++++++++ templates/smoke/4.7/data.smoke.arm.cpu.config | 112 +++++++++++++++ ...wan.singularity.arm.bisheng.SVE.cpu.config | 67 +++++++++ .../swan.singularity.arm.bisheng.cpu.config | 66 +++++++++ ...ata.wannier90.container-sve.arm.cpu.config | 51 +++++++ templates/wrf/4.6.0/data.wrf.arm.cpu.config | 87 +++++++++++ .../wrf/4.6.0/data.wrf.arm.cpu.sve.config | 90 ++++++++++++ templates/wrfda/3.9.1/configure_new.patch | 51 +++++++ .../wrfda/3.9.1/data.wrfda-sve.arm.cpu.config | 135 ++++++++++++++++++ templates/wrfda/3.9.1/module_cu_gf_deep.patch | 33 +++++ templates/wrfda/3.9.1/module_ra_goddard.patch | 13 ++ .../wrfda/3.9.1/module_sf_noahmpdrv.patch | 17 +++ templates/wrfda/3.9.1/postamble_new.patch | 11 ++ templates/wrfda/3.9.1/wrfda/Makefile.patch | 4 + templates/wrfda/3.9.1/wrfda/compile.patch | 30 ++++ templates/wrfda/3.9.1/wrfda/configure.patch | 3 + .../wrfda/3.9.1/wrfda/configure_new.patch | 44 ++++++ .../wrfda/3.9.1/wrfda/postamble_new.patch | 4 + 29 files changed, 1658 insertions(+) create mode 100755 templates/ARPS/5.3.4/data.arps.arm.cpu.config create mode 100755 templates/ARPS/5.3.4/data.arps.arm.cpu.sve.config create mode 100644 templates/CMAQ/5.3.1/data.CMAQ.container-sve.arm.cpu.config create mode 100644 templates/MOM/6/data.mom.arm.clang.cpu.config create mode 100644 templates/MOM/6/data.mom.arm.sve-test.cpu.config create mode 100644 templates/MOM/6/data.mom.arm.sve.cpu.config create mode 100644 templates/fds/6.7.4/data.fds.arm.clang.cpu.config create mode 100644 templates/fds/6.7.4/data.fds.arm.sve.cpu.config create mode 100644 templates/hisat/0.1.6/data.hisat.arm.cpu.config create mode 100644 templates/meep/data.meep.arm.cpu.config create mode 100644 templates/siesta/4.0.2/data.siesta.arm.clang.cpu.config create mode 100644 templates/siesta/4.0.2/data.siesta.arm.sve.cpu.config create mode 100644 templates/smoke/4.7/data.smoke.arm.cpu.config create mode 100644 templates/swan/41.31/swan.singularity.arm.bisheng.SVE.cpu.config create mode 100644 templates/swan/41.31/swan.singularity.arm.bisheng.cpu.config create mode 100644 templates/wannier90/1.2.0/data.wannier90.container-sve.arm.cpu.config create mode 100644 templates/wrf/4.6.0/data.wrf.arm.cpu.config create mode 100644 templates/wrf/4.6.0/data.wrf.arm.cpu.sve.config create mode 100644 templates/wrfda/3.9.1/configure_new.patch create mode 100644 templates/wrfda/3.9.1/data.wrfda-sve.arm.cpu.config create mode 100644 templates/wrfda/3.9.1/module_cu_gf_deep.patch create mode 100644 templates/wrfda/3.9.1/module_ra_goddard.patch create mode 100644 templates/wrfda/3.9.1/module_sf_noahmpdrv.patch create mode 100644 templates/wrfda/3.9.1/postamble_new.patch create mode 100644 templates/wrfda/3.9.1/wrfda/Makefile.patch create mode 100644 templates/wrfda/3.9.1/wrfda/compile.patch create mode 100644 templates/wrfda/3.9.1/wrfda/configure.patch create mode 100644 templates/wrfda/3.9.1/wrfda/configure_new.patch create mode 100644 templates/wrfda/3.9.1/wrfda/postamble_new.patch diff --git a/templates/ARPS/5.3.4/data.arps.arm.cpu.config b/templates/ARPS/5.3.4/data.arps.arm.cpu.config new file mode 100755 index 0000000..48fcaf8 --- /dev/null +++ b/templates/ARPS/5.3.4/data.arps.arm.cpu.config @@ -0,0 +1,59 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +ARPS/5.3.4 https://arps.caps.ou.edu/ARPS/download/code/arps5.3.4.tar.gz + +[DEPENDENCY] +set -x +set -e +module purge +source ./HPCKit.env +export CC=`which mpicc` +export CXX=`which mpicxx` +export FC=`which mpifort` + +yum install hdf-devel.aarch64 -y +mkdir -p $JARVIS_ROOT/HDF4/bin +mkdir -p $JARVIS_ROOT/HDF4/lib +mkdir -p $JARVIS_ROOT/HDF4/include + +cp /usr/bin/hdf* $JARVIS_ROOT/HDF4/bin +cp /usr/lib64/hdf/* $JARVIS_ROOT/HDF4/lib +cp /usr/include/hdf/* $JARVIS_ROOT/HDF4/include + +export HDFPATH=$JARVIS_ROOT/HDF4 + +yum install -y libtirpc + +tar xzf $JARVIS_DOWNLOAD/arps5.3.4.tar.gz +#cd arps5.3.4 + +[ENV] +export HDFPATH=$JARVIS_ROOT/HDF4 + +[APP] +app_name = ARPS +build_dir = $JARVIS_ROOT/arps5.3.4 +binary_dir = +case_dir = + +[BUILD] +cd $JARVIS_ROOT/arps5.3.4 +sed -i '259s/ifort/mpifort/g' makearps +sed -i '3254s/-ffree-form/-ffree-form -Wno-argument-mismatch/g' makearps +sed -i 's/-fp-model source//g' makearps +sed -i 's/-C -P -traditional/-P -traditional/g' makearps +sed -i 's/-ljpeg/-ljpeg -ltirpc/g' makearps +sed -i 's/DIRECTORY/FILE/g' src/arps/lnxlib3d.F +which mpifort +./makearps -io hdf arps +./makearps -io hdf arps_mpi + +[CLEAN] +make clean + +[RUN] +run = +binary = +nodes = 1 diff --git a/templates/ARPS/5.3.4/data.arps.arm.cpu.sve.config b/templates/ARPS/5.3.4/data.arps.arm.cpu.sve.config new file mode 100755 index 0000000..88640ba --- /dev/null +++ b/templates/ARPS/5.3.4/data.arps.arm.cpu.sve.config @@ -0,0 +1,61 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +ARPS/5.3.4 https://arps.caps.ou.edu/ARPS/download/code/arps5.3.4.tar.gz + +[DEPENDENCY] +set -x +set -e +module purge +source ./HPCKit.env +export CC=`which mpicc` +export CXX=`which mpicxx` +export FC=`which mpifort` + +yum install hdf-devel.aarch64 -y +mkdir -p $JARVIS_ROOT/HDF4/bin +mkdir -p $JARVIS_ROOT/HDF4/lib +mkdir -p $JARVIS_ROOT/HDF4/include + +cp /usr/bin/hdf* $JARVIS_ROOT/HDF4/bin +cp /usr/lib64/hdf/* $JARVIS_ROOT/HDF4/lib +cp /usr/include/hdf/* $JARVIS_ROOT/HDF4/include + +export HDFPATH=$JARVIS_ROOT/HDF4 + +yum install -y libtirpc + +tar xzf $JARVIS_DOWNLOAD/arps5.3.4.tar.gz +#cd arps5.3.4 + +[ENV] +export HDFPATH=$JARVIS_ROOT/HDF4 + +[APP] +app_name = ARPS +build_dir = $JARVIS_ROOT/arps5.3.4 +binary_dir = +case_dir = + +[BUILD] +cd $JARVIS_ROOT/arps5.3.4 +sed -i '259s/ifort/mpifort/g' makearps +sed -i '3254s%-ffree-form%-ffree-form%g' makearps +sed -i 's%-w -convert big_endian%-w -convert big_endian -mtune=native -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true %g' makearps +sed -i 's%FFLAGS=%FFLAGS= -mtune=native -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true %g' makearps +sed -i 's/-fp-model source//g' makearps +sed -i 's/-C -P -traditional/-P -traditional/g' makearps +sed -i 's/-ljpeg/-ljpeg -ltirpc/g' makearps +sed -i 's/DIRECTORY/FILE/g' src/arps/lnxlib3d.F +which mpifort +./makearps -io hdf arps +./makearps -io hdf arps_mpi + +[CLEAN] +make clean + +[RUN] +run = +binary = +nodes = 1 diff --git a/templates/CMAQ/5.3.1/data.CMAQ.container-sve.arm.cpu.config b/templates/CMAQ/5.3.1/data.CMAQ.container-sve.arm.cpu.config new file mode 100644 index 0000000..c413a81 --- /dev/null +++ b/templates/CMAQ/5.3.1/data.CMAQ.container-sve.arm.cpu.config @@ -0,0 +1,75 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +CMAQ/5.3.1 https://codeload.github.com/USEPA/CMAQ/tar.gz/CMAQv5.3.1_19Dec2019 CMAQ-CMAQv5.3.1_19Dec2019.tar.gz + +[DEPENDENCY] +set -x +set -e +module purge +source ./HPCKit.env +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort +./jarvis -install package/hdf5/1.12.0/clang clang+mpi +module use ./software/moduledeps/ +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +./jarvis -install pnetcdf/1.12.1 clang+mpi +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.1 +./jarvis -install netcdf/4.8.1/clang clang+mpi +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 +./jarvis -install ioapi/3.2/clang clang+mpi + +[ENV] +module purge +source ./HPCKit.env + +module use ./software/moduledeps/ +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.1 +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 +module load bisheng4.0.0-hmpi2.4.1/ioapi-clang/3.2 + + +[APP] +app_name = CMAQ +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = + +[BUILD] +set -x +cd ${JARVIS_ROOT} +rm -rf CMAQ-CMAQv5.3.1_19Dec2019 +tar -zxf ${JARVIS_DOWNLOAD}/CMAQ-CMAQv5.3.1_19Dec2019.tar.gz +cd CMAQ-CMAQv5.3.1_19Dec2019 +sed -i "20c\set CMAQ_HOME = ${JARVIS_ROOT}/workloads/CMAQ_Project" bldit_project.csh +./bldit_project.csh +cd ../CMAQ_Project/ +sed -i "138c\ case clang:" config_cmaq.csh +sed -i "140c\ setenv IOAPI_MOD_DIR ${IOAPI_CLANG_PATH}/bin" config_cmaq.csh +sed -i "141c\ setenv IOAPI_INCL_DIR ${IOAPI_CLANG_PATH}/include" config_cmaq.csh +sed -i "142c\ setenv IOAPI_LIB_DIR ${IOAPI_CLANG_PATH}/lib" config_cmaq.csh +sed -i "143c\ setenv NETCDF_LIB_DIR ${NETCDF_CLANG_PATH}/lib" config_cmaq.csh +sed -i "144c\ setenv NETCDF_INCL_DIR ${NETCDF_CLANG_PATH}/include/" config_cmaq.csh +sed -i "147c\ setenv MPI_LIB_DIR /hpcrunner/HPCKit/24.6.30/hmpi/bisheng/hmpi" config_cmaq.csh +sed -i "145c\ setenv NETCDFF_LIB_DIR ${NETCDF_CLANG_PATH}/lib/ #> netCDF Fortran directory path" config_cmaq.csh +sed -i "146c\ setenv NETCDFF_INCL_DIR ${NETCDF_CLANG_PATH}/include/ #> netCDF Fortran directory path" config_cmaq.csh +sed -i "151c\ setenv myFC mpifort" config_cmaq.csh +sed -i "152c\ setenv myCC mpicc" config_cmaq.csh +sed -i '153c\ setenv myFSTD "-O3 -funroll-loops -finit-character=32 -Wtabs -Wsurprising"' config_cmaq.csh +sed -i '155c\ setenv myFFLAGS "-ffixed-form -ffixed-line-length-132 -funroll-loops -finit-character=32"' config_cmaq.csh +sed -i '156c\ setenv myFRFLAGS "-ffree-form -ffree-line-length-none -funroll-loops -finit-character=32"' config_cmaq.csh +sed -i '157c\ setenv myCFLAGS "-O2"' config_cmaq.csh +sed -i '158c\ setenv myLINK_FLAG "-fopenmp"' config_cmaq.csh +sed -i '161c\ setenv mpi_lib "-lmpi" #> -lmpich for mvapich or -lmpi for openmpi' config_cmaq.csh +sed -i '184c\ setenv netcdf_lib "-lnetcdf -lnetcdff -lgomp" #> -lnetcdff -lnetcdf for netCDF v4.2.0 and later' config_cmaq.csh +./config_cmaq.csh clang 4.0.0 +cd CCTM/scripts/ +./bldit_cctm.csh clang 4.0.0 + +set +x + +[RUN] +run = +binary = +nodes = 1 diff --git a/templates/MOM/6/data.mom.arm.clang.cpu.config b/templates/MOM/6/data.mom.arm.clang.cpu.config new file mode 100644 index 0000000..70da8fe --- /dev/null +++ b/templates/MOM/6/data.mom.arm.clang.cpu.config @@ -0,0 +1,83 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] + +[DEPENDENCY] +source /root/.bashrc +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install hdf5/1.12.0/clang clang+mpi +./jarvis -install pnetcdf/1.12.3 clang+mpi +module use /hpcrunner/software/moduledeps/ +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.3 +./jarvis -install netcdf/4.8.1/clang clang+mpi +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + + +[ENV] +export CC=mpicc CXX=mpicxx FC=mpifort +export PATH=/hpcrunner/MOM6-examples/build/bs/ocean_only/repro:$PATH +export CC=mpicc CXX=mpicxx FC=mpifort +export CFLAGS="-Wno-implicit-function-declaration -Wno-implicit-int" +module use /hpcrunner/software/moduledeps/ +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.3 +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + + +[APP] +app_name = siesta +build_dir = ${JARVIS_ROOT} +binary_dir = /hpcrunner/siesta/ +case_dir = + +[BUILD] +cd /hpcrunner +git clone https://github.com/NOAA-GFDL/MOM6-examples.git MOM6-examples +cd MOM6-examples +git submodule init +git submodule update --recursive +git submodule update src/FMS +git submodule update --init --recursive src/MOM6 +git submodule update src/SIS2 +git submodule update tools/matlab/gtools +git submodule update tools/python/MIDAS +cd src/MOM6 +git submodule init +git submodule update +cd /hpcrunner/MOM6-examples + +sed -i '31c\pid_t gettid(void)' src/FMS/affinity/affinity.c + +cd src/mkmf/templates/ +cp linux-gnu.mk linux-bs.mk +export HMPI_PATH=/hpcrunner/HPCKit/24.6.30/hmpi/bisheng/hmpi/ +sed -i '8c\ FC = mpifort' linux-bs.mk +sed -i '9c\ CC = mpicc' linux-bs.mk +sed -i '10c\ CXX = mpicxx' linux-bs.mk +sed -i '11c\ LD = mpifort \$\(MAIN\_PROGRAM\)' linux-bs.mk +sed -ri 's/mpich2/hmpi/g' linux-bs.mk +sed -i '95c\ FFLAGS := -I${HMPI_PATH}/include -ffree-form -fdefault-double-8 -fdefault-real-8 -ffree-line-length-none -fuse-ld=ld -Wl,--copy-dt-needed-entries ' linux-bs.mk +sed -i '99c\ FFLAGS_REPRO = -O2' linux-bs.mk +sed -i '112c\ CPPFLAGS += ${HMPI_PATH}/include' linux-bs.mk + +cd /hpcrunner/MOM6-examples +mkdir -p build/bs/shared/repro/ && cd build/bs/shared/repro/ +../../../../src/mkmf/bin/list_paths -l ../../../../src/FMS +../../../../src/mkmf/bin/mkmf -t ../../../../src/mkmf/templates/linux-bs.mk -p libfms.a -c "-Duse_libMPI -Duse_netCDF -DSPMD" path_names +make NETCDF=3 REPRO=1 libfms.a -j + +cd /hpcrunner/MOM6-examples +mkdir -p build/bs/ocean_only/repro/ && cd build/bs/ocean_only/repro/ +../../../../src/mkmf/bin/list_paths -l ./ ../../../../src/MOM6/{config_src/infra/FMS1,config_src/memory/dynamic_symmetric,config_src/drivers/solo_driver,config_src/external,src/{*,*/*}}/ +../../../../src/mkmf/bin/mkmf -t ../../../../src/mkmf/templates/linux-bs.mk -o '-I../../shared/repro' -p 'MOM6 -L../../shared/repro -lfms' -c "-Duse_libMPI -Duse_netCDF -DSPMD" path_names +make NETCDF=3 REPRO=1 MOM6 -j + + + +[RUN] +run = +binary = +nodes = 1 + diff --git a/templates/MOM/6/data.mom.arm.sve-test.cpu.config b/templates/MOM/6/data.mom.arm.sve-test.cpu.config new file mode 100644 index 0000000..b3a6393 --- /dev/null +++ b/templates/MOM/6/data.mom.arm.sve-test.cpu.config @@ -0,0 +1,84 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] + + +[DEPENDENCY] +source /root/.bashrc +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install hdf5/1.12.0/clang clang+mpi +./jarvis -install pnetcdf/1.12.3 clang+mpi +module use /hpcrunner/software/moduledeps/ +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.3 +./jarvis -install netcdf/4.8.1/clang clang+mpi +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + + +[ENV] +export CC=mpicc CXX=mpicxx FC=mpifort +export PATH=/hpcrunner/MOM6-examples/build/bs/ocean_only/repro:$PATH +export CC=mpicc CXX=mpicxx FC=mpifort +export CFLAGS="-Wno-implicit-function-declaration -Wno-implicit-int" +module use /hpcrunner/software/moduledeps/ +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.3 +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + + +[APP] +app_name = siesta +build_dir = ${JARVIS_ROOT} +binary_dir = /hpcrunner/siesta/ +case_dir = + +[BUILD] +cd /hpcrunner +git clone --recursive https://gh.api.99988866.xyz/https://github.com/NOAA-GFDL/MOM6-examples.git MOM6-examples +cd MOM6-examples +#git submodule init +#git submodule update --recursive +#git submodule update src/FMS +#git submodule update --init --recursive src/MOM6 +#git submodule update src/SIS2 +#git submodule update tools/matlab/gtools +#git submodule update tools/python/MIDAS +cd src/MOM6 +#git submodule init +#git submodule update +cd /hpcrunner/MOM6-examples + +sed -i '31c\pid_t gettid(void)' src/FMS/affinity/affinity.c + +cd src/mkmf/templates/ +cp linux-gnu.mk linux-bs.mk +export HMPI_PATH=/hpcrunner/HPCKit/24.6.30/hmpi/bisheng/hmpi/ +sed -i '8c\ FC = mpifort' linux-bs.mk +sed -i '9c\ CC = mpicc' linux-bs.mk +sed -i '10c\ CXX = mpicxx' linux-bs.mk +sed -i '11c\ LD = mpifort \$\(MAIN\_PROGRAM\)' linux-bs.mk +sed -ri 's/mpich2/hmpi/g' linux-bs.mk +sed -i '95c\ FFLAGS := -I${HMPI_PATH}/include -ffree-form -fdefault-double-8 -fdefault-real-8 -ffree-line-length-none -fuse-ld=ld -Wl,--copy-dt-needed-entries -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true ' linux-bs.mk +sed -i '99c\ FFLAGS_REPRO = -O2' linux-bs.mk +sed -i '112c\ CPPFLAGS += ${HMPI_PATH}/include' linux-bs.mk + +cd /hpcrunner/MOM6-examples +mkdir -p build/bs/shared/repro/ && cd build/bs/shared/repro/ +../../../../src/mkmf/bin/list_paths -l ../../../../src/FMS +../../../../src/mkmf/bin/mkmf -t ../../../../src/mkmf/templates/linux-bs.mk -p libfms.a -c "-Duse_libMPI -Duse_netCDF -DSPMD" path_names +make NETCDF=3 REPRO=1 libfms.a -j + +cd /hpcrunner/MOM6-examples +mkdir -p build/bs/ocean_only/repro/ && cd build/bs/ocean_only/repro/ +../../../../src/mkmf/bin/list_paths -l ./ ../../../../src/MOM6/{config_src/infra/FMS1,config_src/memory/dynamic_symmetric,config_src/drivers/solo_driver,config_src/external,src/{*,*/*}}/ +../../../../src/mkmf/bin/mkmf -t ../../../../src/mkmf/templates/linux-bs.mk -o '-I../../shared/repro' -p 'MOM6 -L../../shared/repro -lfms' -c "-Duse_libMPI -Duse_netCDF -DSPMD" path_names +make NETCDF=3 REPRO=1 MOM6 -j + + + +[RUN] +run = +binary = +nodes = 1 + diff --git a/templates/MOM/6/data.mom.arm.sve.cpu.config b/templates/MOM/6/data.mom.arm.sve.cpu.config new file mode 100644 index 0000000..f9d7712 --- /dev/null +++ b/templates/MOM/6/data.mom.arm.sve.cpu.config @@ -0,0 +1,84 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] + + +[DEPENDENCY] +source /root/.bashrc +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install hdf5/1.12.0/clang clang+mpi +./jarvis -install pnetcdf/1.12.3 clang+mpi +module use /hpcrunner/software/moduledeps/ +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.3 +./jarvis -install netcdf/4.8.1/clang clang+mpi +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + + +[ENV] +export CC=mpicc CXX=mpicxx FC=mpifort +export PATH=/hpcrunner/MOM6-examples/build/bs/ocean_only/repro:$PATH +export CC=mpicc CXX=mpicxx FC=mpifort +export CFLAGS="-Wno-implicit-function-declaration -Wno-implicit-int" +module use /hpcrunner/software/moduledeps/ +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.3 +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + + +[APP] +app_name = siesta +build_dir = ${JARVIS_ROOT} +binary_dir = /hpcrunner/siesta/ +case_dir = + +[BUILD] +cd /hpcrunner +git clone https://github.com/NOAA-GFDL/MOM6-examples.git MOM6-examples +cd MOM6-examples +git submodule init +git submodule update --recursive +git submodule update src/FMS +git submodule update --init --recursive src/MOM6 +git submodule update src/SIS2 +git submodule update tools/matlab/gtools +git submodule update tools/python/MIDAS +cd src/MOM6 +git submodule init +git submodule update +cd /hpcrunner/MOM6-examples + +sed -i '31c\pid_t gettid(void)' src/FMS/affinity/affinity.c + +cd src/mkmf/templates/ +cp linux-gnu.mk linux-bs.mk +export HMPI_PATH=/hpcrunner/HPCKit/24.6.30/hmpi/bisheng/hmpi/ +sed -i '8c\ FC = mpifort' linux-bs.mk +sed -i '9c\ CC = mpicc' linux-bs.mk +sed -i '10c\ CXX = mpicxx' linux-bs.mk +sed -i '11c\ LD = mpifort \$\(MAIN\_PROGRAM\)' linux-bs.mk +sed -ri 's/mpich2/hmpi/g' linux-bs.mk +sed -i '95c\ FFLAGS := -I${HMPI_PATH}/include -ffree-form -fdefault-double-8 -fdefault-real-8 -ffree-line-length-none -fuse-ld=ld -Wl,--copy-dt-needed-entries -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true ' linux-bs.mk +sed -i '99c\ FFLAGS_REPRO = -O2' linux-bs.mk +sed -i '112c\ CPPFLAGS += ${HMPI_PATH}/include' linux-bs.mk + +cd /hpcrunner/MOM6-examples +mkdir -p build/bs/shared/repro/ && cd build/bs/shared/repro/ +../../../../src/mkmf/bin/list_paths -l ../../../../src/FMS +../../../../src/mkmf/bin/mkmf -t ../../../../src/mkmf/templates/linux-bs.mk -p libfms.a -c "-Duse_libMPI -Duse_netCDF -DSPMD" path_names +make NETCDF=3 REPRO=1 libfms.a -j + +cd /hpcrunner/MOM6-examples +mkdir -p build/bs/ocean_only/repro/ && cd build/bs/ocean_only/repro/ +../../../../src/mkmf/bin/list_paths -l ./ ../../../../src/MOM6/{config_src/infra/FMS1,config_src/memory/dynamic_symmetric,config_src/drivers/solo_driver,config_src/external,src/{*,*/*}}/ +../../../../src/mkmf/bin/mkmf -t ../../../../src/mkmf/templates/linux-bs.mk -o '-I../../shared/repro' -p 'MOM6 -L../../shared/repro -lfms' -c "-Duse_libMPI -Duse_netCDF -DSPMD" path_names +make NETCDF=3 REPRO=1 MOM6 -j + + + +[RUN] +run = +binary = +nodes = 1 + diff --git a/templates/fds/6.7.4/data.fds.arm.clang.cpu.config b/templates/fds/6.7.4/data.fds.arm.clang.cpu.config new file mode 100644 index 0000000..25a14b2 --- /dev/null +++ b/templates/fds/6.7.4/data.fds.arm.clang.cpu.config @@ -0,0 +1,41 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +FDS/6.7.4 https://github.com/firemodels/fds/archive/refs/tags/FDS6.7.4.tar.gz + +[DEPENDENCY] +export CC=mpicc CXX=mpicxx FC=mpifort + + +[ENV] +export CC=mpicc CXX=mpicxx FC=mpifort +export PATH=/hpcrunner/fds-FDS6.7.4/Build/mpi_gnu_linux_64:$PATH + +[APP] +app_name = amg +build_dir = ${JARVIS_ROOT} +binary_dir = ${JARVIS_ROOT}/software/libs/bisheng4.0.0/hmpi2.4.1/fds/6.7.4/bin +case_dir = + +[BUILD] +cd /hpcrunner/ +tar -xvf ${JARVIS_DOWNLOAD}/FDS6.7.4.tar.gz +cd fds-FDS6.7.4/Build +sed -i "s/-ffpe-summary=none//g" ./makefile +sed -i '58c\GNU_COMPINFO=-DCOMPVER_PP=\\"$(OPENMPI_COMPVERSION)\\"' ./makefile +export CFLAGS="-Wno-implicit-function-declaration -Wno-implicit-int" + +sed -i '29c\clang -v | head -1> gfortran_version 2>&1' Scripts/gnu_compversion.sh +sed -i '30c\GFORTRANVERSION=clang' Scripts/gnu_compversion.sh +sed -i '32c\echo "\\"Gnu flang $GFORTRANVERSION\\""' Scripts/gnu_compversion.sh +cd mpi_gnu_linux_64 + + + +./make_fds.sh + +[RUN] +run = +binary = +nodes = 1 diff --git a/templates/fds/6.7.4/data.fds.arm.sve.cpu.config b/templates/fds/6.7.4/data.fds.arm.sve.cpu.config new file mode 100644 index 0000000..4434fff --- /dev/null +++ b/templates/fds/6.7.4/data.fds.arm.sve.cpu.config @@ -0,0 +1,41 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +FDS/6.7.4 https://github.com/firemodels/fds/archive/refs/tags/FDS6.7.4.tar.gz + +[DEPENDENCY] +export CC=mpicc CXX=mpicxx FC=mpifort + + +[ENV] +export CC=mpicc CXX=mpicxx FC=mpifort +export PATH=/hpcrunner/fds-FDS6.7.4/Build/mpi_gnu_linux_64:$PATH + +[APP] +app_name = amg +build_dir = ${JARVIS_ROOT} +binary_dir = ${JARVIS_ROOT}/software/libs/bisheng4.0.0/hmpi2.4.1/fds/6.7.4/bin +case_dir = + +[BUILD] +cd /hpcrunner/ +tar -xvf ${JARVIS_DOWNLOAD}/FDS6.7.4.tar.gz +cd fds-FDS6.7.4/Build +sed -i "s/-ffpe-summary=none//g" ./makefile +sed -i '58c\GNU_COMPINFO=-DCOMPVER_PP=\\"$(OPENMPI_COMPVERSION)\\"' ./makefile +export CFLAGS="-Wno-implicit-function-declaration -Wno-implicit-int -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true " + +sed -i '29c\clang -v | head -1> gfortran_version 2>&1' Scripts/gnu_compversion.sh +sed -i '30c\GFORTRANVERSION=clang' Scripts/gnu_compversion.sh +sed -i '32c\echo "\\"Gnu flang $GFORTRANVERSION\\""' Scripts/gnu_compversion.sh +cd mpi_gnu_linux_64 + + + +./make_fds.sh + +[RUN] +run = +binary = +nodes = 1 diff --git a/templates/hisat/0.1.6/data.hisat.arm.cpu.config b/templates/hisat/0.1.6/data.hisat.arm.cpu.config new file mode 100644 index 0000000..2390611 --- /dev/null +++ b/templates/hisat/0.1.6/data.hisat.arm.cpu.config @@ -0,0 +1,67 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +hisat/0.1.6 https://gitee.com/ye-jianbang/hpcrunner/raw/master/rongqi/hisat-0.1.6-beta-source.zip +sse2neon/master https://gitee.com/ye-jianbang/hpcrunner/raw/master/rongqi/sse2neon.h + +[DEPENDENCY] +module purge +module use /hpcrunner/HPCKit/latest/modulefiles +module add bisheng/bisheng +module add bisheng/hmpi/hmpi +module add bisheng/kml/kblas +module add bisheng/kml/kspblas +module add bisheng/kml/kvml +module add bisheng/kml/kml + +[ENV] +module purge +module use /hpcrunner/HPCKit/latest/modulefiles +module add bisheng/bisheng +module add bisheng/hmpi/hmpi +module add bisheng/kml/kblas +module add bisheng/kml/kspblas +module add bisheng/kml/kvml +module add bisheng/kml/kml +export NO_TBB=1 +export POPCNT_CAPABILITY=0 +export PATH=/hpcrunner/tmp/hisat-0.1.6-beta:$PATH + +[APP] +app_name = hisat +build_dir = +binary_dir = +case_dir = + +[BUILD] +cd ${JARVIS_ROOT}/tmp +rm -rf hisat-0.1.6-beta +unzip ${JARVIS_DOWNLOAD}/hisat-0.1.6-beta-source.zip +cd hisat-0.1.6-beta +cp ${JARVIS_DOWNLOAD}/sse2neon.h . +sed -i "23c INC = -I$PWD" Makefile +sed -i "26c CC = clang" Makefile +sed -i "27c CPP = clang++" Makefile +sed -i "141s/x86_64/aarch64/g" Makefile +sed -i "153s/-m32//g" Makefile +sed -i "157s/-m64//g" Makefile +sed -i "159s/-msse2//g" Makefile +sed -i "161s/$/ -funroll-loops -std=c++98/g" Makefile +sed -i "163s/$/ -std=c++98 -Xlinker --allow-multiple-definition/g" Makefile +sed -i '73s//"sse2neon.h"/g' aligner_sw.h +sed -i '27s//"sse2neon.h"/g' sse_util.h +sed -i "1252s/0/(const char*)0/g" aligner_result.cpp + +make -j + +[CLEAN] +cd ${JARVIS_ROOT}/tmp +cd hisat-0.1.6-beta +make clean + +[RUN] +run = +binary = +nodes = 1 + diff --git a/templates/meep/data.meep.arm.cpu.config b/templates/meep/data.meep.arm.cpu.config new file mode 100644 index 0000000..0a0b8de --- /dev/null +++ b/templates/meep/data.meep.arm.cpu.config @@ -0,0 +1,105 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +harminv/1.4.1 https://codeload.github.com/NanoComp/harminv/tar.gz/v1.4.1 harminv-1.4.1.tar.gz +libctl/4.5.0 https://codeload.github.com/NanoComp/libctl/tar.gz/v4.5.0 libctl-4.5.0.tar.gz +MPB/1.11.1 https://github.com/NanoComp/mpb/archive/v1.11.1.tar.gz mpb-1.11.1.tar.gz +libGDSII/0.21 https://codeload.github.com/HomerReid/libGDSII/tar.gz/v0.21 libGDSII-0.21.tar.gz +meep/1.17.1 https://codeload.github.com/NanoComp/meep/tar.gz/v1.17.1 meep-1.17.1.tar.gz + +[DEPENDENCY] +module purge +module use /hpcrunner/HPCKit/latest/modulefiles +module add bisheng/bisheng +module add bisheng/hmpi/hmpi +module add bisheng/kml/kblas +module add bisheng/kml/kspblas +module add bisheng/kml/kvml +module add bisheng/kml/kml + +[ENV] +module purge +module use /hpcrunner/HPCKit/latest/modulefiles +module add bisheng/bisheng +module add bisheng/hmpi/hmpi +module add bisheng/kml/kblas +module add bisheng/kml/kspblas +module add bisheng/kml/kvml +module add bisheng/kml/kml +export CC=clang CXX=clang++ FC=flang +export PATH=/hpcrunner/DEPENDENCIES/bin:$PATH +export LD_LIBRARY_PATH=/hpcrunner/DEPENDENCIES/lib:$LD_LIBRARY_PATH + +[APP] +app_name = meep +build_dir = +binary_dir = +case_dir = + +[BUILD] +#install basedependencies +yum install -y guile-devel python3-devel gsl-devel latex2html swig patch hostname +#install hdf5/lapack/blas/fftw +yum install -y hdf5-devel lapack-devel blas-devel fftw-devel + +#install harminv +cd ${JARVIS_ROOT}/tmp +rm -rf harminv-1.4.1 +tar xvf ${JARVIS_DOWNLOAD}/harminv-1.4.1.tar.gz +cd harminv-1.4.1 +sh autogen.sh --prefix=${JARVIS_ROOT}/DEPENDENCIES CC=clang CXX=clang++ FC=flang --enable-shared LDFLAGS="-L${JARVIS_ROOT}/DEPENDENCIES/lib" +make -j +make install +export PATH=${JARVIS_ROOT}/DEPENDENCIES/bin:$PATH +export LD_LIBRARY_PATH=${JARVIS_ROOT}/DEPENDENCIES/lib:$LD_LIBRARY_PATH +export LIBRARY_PATH=${JARVIS_ROOT}/DEPENDENCIES/lib:$LIBRARY_PATH +export INCLUDE=${JARVIS_ROOT}/DEPENDENCIES/include:$INCLUDE +export C_INCLUDE_PATH=${JARVIS_ROOT}/DEPENDENCIES/include:$C_INCLUDE_PATH +export CPLUS_INCLUDE_PATH=${JARVIS_ROOT}/DEPENDENCIES/include:$CPLUS_INCLUDE_PATH + +#install libctl +cd ${JARVIS_ROOT}/tmp +rm -rf libctl-4.5.0 +tar xf ${JARVIS_DOWNLOAD}/libctl-4.5.0.tar.gz +cd libctl-4.5.0 +sh autogen.sh --enable-shared CC=clang CXX=clang++ FC=flang --prefix=${JARVIS_ROOT}/DEPENDENCIES LDFLAGS="-L${JARVIS_ROOT}/DEPENDENCIES/lib" CPPFLAGS="-I${JARVIS_ROOT}/DEPENDENCIES/include" +make -j +make -j install + +#install MPB +cd ${JARVIS_ROOT}/tmp +rm -rf mpb-1.11.1 +tar xvf ${JARVIS_DOWNLOAD}/mpb-1.11.1.tar.gz +cd mpb-1.11.1 +sh autogen.sh --prefix=${JARVIS_ROOT}/DEPENDENCIES --enable-shared CC=mpicc LDFLAGS="-L${JARVIS_ROOT}/DEPENDENCIES/lib" CPPFLAGS="-I${JARVIS_ROOT}/DEPENDENCIES/include" CFLAGS="-O3 -march=armv8.2-a -mtune=tsv110" --with-hermitian-eps --with-libctl=${JARVIS_ROOT}/DEPENDENCIES/share/libctl/ +sed -i "43s/scm/(SCM) scm/g" mpb/my-smob.h +sed -i "42d" mpb/my-smob.h +make -j +make -j install + +#install libGDSII +cd ${JARVIS_ROOT}/tmp +rm -rf libGDSII-0.21 +tar xvf ${JARVIS_DOWNLOAD}/libGDSII-0.21.tar.gz +cd libGDSII-0.21 +sh autogen.sh CC=clang CXX=clang++ FC=flang --prefix=${JARVIS_ROOT}/DEPENDENCIES +make -j +make -j install + +#install meep +cd ${JARVIS_ROOT}/tmp +rm -rf meep-1.17.1 +tar xvf ${JARVIS_DOWNLOAD}/meep-1.17.1.tar.gz +cd meep-1.17.1 +sh autogen.sh --prefix=${JARVIS_ROOT}/DEPENDENCIES --enable-shared --with-mpi --with-openmp PYTHON=python3 MPICC=`which mpicc` MPICXX=`which mpic++` LDFLAGS="-L${JARVIS_ROOT}/DEPENDENCIES/lib -L/usr/lib64" CPPFLAGS="-I${JARVIS_ROOT}/DEPENDENCIES/include -I/usr/include" CFLAGS="-O3 -march=armv8.2-a -mtune=tsv110" --with-libctl=${JARVIS_ROOT}/DEPENDENCIES/share/libctl/ +make -j +make install + +[CLEAN] + +[RUN] +run = +binary = +nodes = 1 + diff --git a/templates/siesta/4.0.2/data.siesta.arm.clang.cpu.config b/templates/siesta/4.0.2/data.siesta.arm.clang.cpu.config new file mode 100644 index 0000000..d7106b1 --- /dev/null +++ b/templates/siesta/4.0.2/data.siesta.arm.clang.cpu.config @@ -0,0 +1,70 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +siesta/4.0.2 https://launchpadlibrarian.net/379220821/siesta-4.0.2.tar.gz + +[DEPENDENCY] +source /root/.bashrc +yum -y install python3-devel.aarch64 +ln -s /usr/bin/python3 /usr/bin/python +export CC=mpicc CXX=mpicxx FC=mpifort +export CFLAGS="-Wno-implicit-function-declaration -Wno-implicit-int" +./jarvis -install lapack/3.8.0/bisheng clang +module use /hpcrunner/software/moduledeps/bisheng4.0.0/ +export LAPACK_PATH=/hpcrunner/software/libs/bisheng4.0.0/lapack-bisheng/3.8.0/lib +module load lapack-bisheng/3.8.0 +./jarvis -install openblas/0.3.18 clang +module load openblas/0.3.18 +./jarvis -install scalapack/2.1.0/clang/ clang +module load scalapack-clang/2.1.0 + + +[ENV] +export CC=mpicc CXX=mpicxx FC=mpifort +export PATH=/hpcrunner/siesta-4.0.2/bs_hmpi_compiler:$PATH + + +[APP] +app_name = siesta +build_dir = ${JARVIS_ROOT} +binary_dir = /hpcrunner/siesta/ +case_dir = + +[BUILD] +cd /hpcrunner/ +tar xvf ${JARVIS_DOWNLOAD}/siesta-4.0.2.tar.gz +cd siesta-4.0.2 +mkdir bs_hmpi_compiler +cd bs_hmpi_compiler +bash ../Src/obj_setup.sh +../Src/configure CC=mpicc CFLAGS='-O3 -march=armv8.2-a -mtune=tsv110 -Wno-implicit-function-declaration -Wno-implicit-int ' FC=mpifort FCFLAGS='-O3 -march=armv8.2-a -mtune=tsv110' --enable-mpi --build=arm-linux --prefix=/hpcrunner/siesta-4.0.2/bs_hmpi_compiler + +sed -i "34c\OPENBLAS_LIBS=${JARVIS_ROOT}/software/libs/bisheng4.0.0/openblas/0.3.18/lib/libopenblas.a" arch.make + +sed -i '35c\#BLAS_LIBS=-lblas' arch.make +sed -i '36c\#LAPACK_LIBS=-llapack' arch.make + +sed -i "38c\SCALAPACK_LIBS=${JARVIS_ROOT}/software/libs/bisheng4.0.0/scalapack-clang/2.1.0/lib/libscalapack.a" arch.make + +sed -i "39c\MATH_LIBS= -Wl,-rpath=${JARVIS_ROOT}/software/compiler/bisheng/3.2.0/lib -lmathlib -lm" arch.make + +sed -i '45c\LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(OPENBLAS_LIBS) $(NETCDF_LIBS) $(MATH_LIBS)' arch.make + +cd ../Src/FoX/config +mv config.guess config.guess.bak +mv config.sub config.sub.bak +wget http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess +wget http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub +chmod +x config.guess +chmod +x config.sub +cd ../../../bs_hmpi_compiler +make + + + +[RUN] +run = +binary = +nodes = 1 + diff --git a/templates/siesta/4.0.2/data.siesta.arm.sve.cpu.config b/templates/siesta/4.0.2/data.siesta.arm.sve.cpu.config new file mode 100644 index 0000000..1b4eb70 --- /dev/null +++ b/templates/siesta/4.0.2/data.siesta.arm.sve.cpu.config @@ -0,0 +1,70 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +siesta/4.0.2 https://launchpadlibrarian.net/379220821/siesta-4.0.2.tar.gz + +[DEPENDENCY] +source /root/.bashrc +yum -y install python3-devel.aarch64 +ln -s /usr/bin/python3 /usr/bin/python +export CC=mpicc CXX=mpicxx FC=mpifort +export CFLAGS="-Wno-implicit-function-declaration -Wno-implicit-int" +./jarvis -install lapack/3.8.0/bisheng clang +module use /hpcrunner/software/moduledeps/bisheng4.0.0/ +export LAPACK_PATH=/hpcrunner/software/libs/bisheng4.0.0/lapack-bisheng/3.8.0/lib +module load lapack-bisheng/3.8.0 +./jarvis -install openblas/0.3.18 clang +module load openblas/0.3.18 +./jarvis -install scalapack/2.1.0/clang/ clang +module load scalapack-clang/2.1.0 + + +[ENV] +export CC=mpicc CXX=mpicxx FC=mpifort +export PATH=/hpcrunner/siesta-4.0.2/bs_hmpi_compiler:$PATH + + +[APP] +app_name = siesta +build_dir = ${JARVIS_ROOT} +binary_dir = /hpcrunner/siesta/ +case_dir = + +[BUILD] +cd /hpcrunner/ +tar xvf ${JARVIS_DOWNLOAD}/siesta-4.0.2.tar.gz +cd siesta-4.0.2 +mkdir bs_hmpi_compiler +cd bs_hmpi_compiler +bash ../Src/obj_setup.sh +../Src/configure CC=mpicc CFLAGS='-O3 -march=armv8.2-a -mtune=tsv110 -Wno-implicit-function-declaration -Wno-implicit-int -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true ' FC=mpifort FCFLAGS='-O3 -march=armv8.2-a -mtune=tsv110 -Wno-implicit-function-declaration -Wno-implicit-int -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true ' --enable-mpi --build=arm-linux --prefix=/hpcrunner/siesta-4.0.2/bs_hmpi_compiler + +sed -i "34c\OPENBLAS_LIBS=${JARVIS_ROOT}/software/libs/bisheng4.0.0/openblas/0.3.18/lib/libopenblas.a" arch.make + +sed -i '35c\#BLAS_LIBS=-lblas' arch.make +sed -i '36c\#LAPACK_LIBS=-llapack' arch.make + +sed -i "38c\SCALAPACK_LIBS=${JARVIS_ROOT}/software/libs/bisheng4.0.0/scalapack-clang/2.1.0/lib/libscalapack.a" arch.make + +sed -i "39c\MATH_LIBS= -Wl,-rpath=${JARVIS_ROOT}/software/compiler/bisheng/3.2.0/lib -lmathlib -lm" arch.make + +sed -i '45c\LIBS=$(SCALAPACK_LIBS) $(BLACS_LIBS) $(OPENBLAS_LIBS) $(NETCDF_LIBS) $(MATH_LIBS)' arch.make + +cd ../Src/FoX/config +mv config.guess config.guess.bak +mv config.sub config.sub.bak +wget http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess +wget http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub +chmod +x config.guess +chmod +x config.sub +cd ../../../bs_hmpi_compiler +make + + + +[RUN] +run = +binary = +nodes = 1 + diff --git a/templates/smoke/4.7/data.smoke.arm.cpu.config b/templates/smoke/4.7/data.smoke.arm.cpu.config new file mode 100644 index 0000000..6fe598a --- /dev/null +++ b/templates/smoke/4.7/data.smoke.arm.cpu.config @@ -0,0 +1,112 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +smoke_v47.Linux2_x86_64ifort https://github.com/CEMPD/SMOKE/releases/download/SMOKEv47_Oct2019/smoke_v47.Linux2_x86_64ifort.tar.gz +smoke_v47.nctox.data https://github.com/CEMPD/SMOKE/releases/download/SMOKEv47_Oct2019/smoke_v47.nctox.data.tar.gz +smoke_install_v47.csh https://github.com/CEMPD/SMOKE/releases/download/SMOKEv47_Oct2019/smoke_install_v47.csh +ioapi/3.2 https://www.cmascenter.org/ioapi/download/ioapi-3.2.tar.gz + +[DEPENDENCY] +#module purge +#module use HPCKit/latest/modulefiles +#module load bisheng/hmpi/hmpi +#module load bisheng/bisheng +./jarvis -install hdf5/1.12.0/clang bisheng+mpi +module use ./software/moduledeps/bisheng4.0.0-hmpi2.4.1/ +module load hdf5-clang/1.12.0 +./jarvis -install pnetcdf/1.11.2 bisheng+mpi +module load pnetcdf/1.11.2 +./jarvis -install netcdf/4.7.4/clang bisheng+mpi + +[ENV] +#module purge +module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.0.0-hmpi2.4.1/ +#module use HPCKit/latest/modulefiles +#module load bisheng/hmpi/hmpi +#module load bisheng/bisheng +module load hdf5-clang/1.12.0 +module load pnetcdf/1.11.2 +module load netcdf-clang/4.7.4 + +export SMK_HOME=${JARVIS_ROOT}/SMOKE4.7 +export BIN=Linux2_aarch64 +export SMK_SUBSYS=$SMK_HOME/subsys +export SMKROOT=$SMK_SUBSYS/smoke +export SMKDAT=$SMK_HOME/data +export ASSIGNS=$SMKROOT/assigns +export IOAPIDIR=$SMK_SUBSYS/ioapi/$BIN + +[APP] +app_name = smoke +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = ${SMK_HOME}/subsys/smoke/scripts/run + +[BUILD] +# clean old dir +cd ${JARVIS_ROOT} +rm -rf SMOKE4.7 +mkdir SMOKE4.7 + +# cp smoke file +cd ${JARVIS_DOWNLOAD} +cp smoke_install_v47.csh ${JARVIS_ROOT}/SMOKE4.7 +cp smoke_v47.Linux2_x86_64ifort.tar.gz ${JARVIS_ROOT}/SMOKE4.7 +cp smoke_v47.nctox.data.tar.gz ${JARVIS_ROOT}/SMOKE4.7 + +# smoke.csh +cd ${JARVIS_ROOT}/SMOKE4.7 +export SMK_HOME=$PWD +csh smoke_install_v47.csh +export BIN=Linux2_aarch64 + +# install io-api +mkdir -p subsys/ioapi +cd subsys/ioapi +tar -xvf ${JARVIS_DOWNLOAD}/ioapi-3.2.tar.gz +cp ioapi/Makeinclude.Linux2_ia64gfort ioapi/Makeinclude.Linux2_aarch64 + +sed -i "14c\CC = mpicc" ioapi/Makeinclude.Linux2_aarch64 +sed -i "15c\CXX = mpicxx" ioapi/Makeinclude.Linux2_aarch64 +sed -i "16c\FC = mpif90" ioapi/Makeinclude.Linux2_aarch64 +sed -i "30c\#FSFLAGS = -save" ioapi/Makeinclude.Linux2_aarch64 + +sed -i "81s%\${HOME}/ioapi-3.2%\${SMK_HOME}/subsys/ioapi%" ioapi/Makefile.nocpl +sed -i "41s%\${HOME}/ioapi-3.2%\${SMK_HOME}/subsys/ioapi%" m3tools/Makefile.nocpl +cp ioapi/Makefile.nocpl ioapi/Makefile +cp m3tools/Makefile.nocpl m3tools/Makefile +sed -i "65c\LIBS = -L\${OBJDIR} -lioapi -L${NETCDF_CLANG_PATH}/lib/ -lnetcdff -lnetcdf -L${HDF5_CLANG_PATH}/lib -lhdf5_hl -lhdf5 -lz \$(OMPLIBS) \$(ARCHLIB) \$(ARCHLIBS)" m3tools/Makefile + +cp Makefile.template Makefile +sed -i "138c\BIN = Linux2_aarch64" Makefile +sed -i "139c\BASEDIR = \${PWD}" Makefile +sed -i "140c\INSTALL = \${HOME}" Makefile +sed -i "141c\LIBINST = \$(INSTALL)/\$(BIN)" Makefile +sed -i "142c\BININST = \$(INSTALL)/\$(BIN)" Makefile +sed -i "143c\CPLMODE = nocpl" Makefile +sed -i '144c\IOAPIDEFS = "-DIOAPI_NCF4"' Makefile +sed -i "193c\NCFLIBS = -L${NETCDF_CLANG_PATH}/lib/ -lnetcdff -lnetcdf -L${HDF5_CLANG_PATH}/lib -lhdf5_hl -lhdf5 -lz" Makefile +export HOME=${SMK_HOME} +sed -i "47i\#include " ${SMK_SUBSYS}/ioapi/ioapi/sortic.c +make BIN=Linux2_aarch64 +# install smoke +cd $SMK_HOME/subsys/smoke/assigns/ +sed -i "25c\setenv BIN Linux2_aarch64" ASSIGNS.nctox.cmaq.cb05_soa.us12-nc +cd $SMK_HOME/subsys/smoke/src +sed -i "35c\IOBASE = \${SMK_SUBSYS}/ioapi" Makeinclude +sed -i "40c\INSTDIR = \${OBJDIR}/\${BIN}" Makeinclude +sed -i "53c\EFLAG = -ffixed-line-length-132 -fno-backslash" Makeinclude +sed -i "70c\IOLIB = -L\$\(IOBIN\) -lioapi -L${NETCDF_CLANG_PATH}/lib -lnetcdf -lnetcdff" Makeinclude + +sed -i "1663c\ & ((PROF_MON( S,NP )), NP = 1,12 )" emutil/gentpro.f +sed -i "1695c\ & ( (PROF_DAY( S,NP ) ), NP = 1,31 )" emutil/gentpro.f + +mkdir ${SMK_HOME}/subsys/smoke/${BIN} +csh $SMK_HOME/subsys/smoke/assigns/ASSIGNS.nctox.cmaq.cb05_soa.us12-nc +make + +[RUN] +run = time ./smk_rateperprofile_nctox.csh +binary = +nodes = 1 diff --git a/templates/swan/41.31/swan.singularity.arm.bisheng.SVE.cpu.config b/templates/swan/41.31/swan.singularity.arm.bisheng.SVE.cpu.config new file mode 100644 index 0000000..db4f011 --- /dev/null +++ b/templates/swan/41.31/swan.singularity.arm.bisheng.SVE.cpu.config @@ -0,0 +1,67 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +#dealii/9.5.2 $JARVIS_PROXY/dealii/dealii/releases/download/v9.5.2/dealii-9.5.2.tar.gz + +[DEPENDENCY] +set -x +set -e +#yum install perl-XML-LibXML +#./jarvis -install package/bisheng/4.0 com +#module purge +#module use ./software/modulefiles +#module load bisheng/4.0.0 +#./jarvis -install package/hmpi/2.4.1 bisheng +#module load hmpi/2.4.1 +export CC=`which clang` +export CXX=`which clang++` +unset FC F77 +module use ./software/moduledeps/bisheng4.0.0-hmpi2.4.1/ +./jarvis -install package/hdf5/1.12.0/clang bisheng+mpi +module load hdf5-clang/1.12.0 +./jarvis -install package/pnetcdf/1.12.3 bisheng+mpi +module load pnetcdf/1.12.3 +./jarvis -install package/netcdf/4.7.4/clang bisheng+mpi +module load netcdf-clang/4.7.4 +export NETCDFROOT=$NETCDF_CLANG_PATH + +[ENV] +#module purge +module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.0.0-hmpi2.4.1 +module load hdf5-clang/1.12.0 pnetcdf/1.12.3 netcdf-clang/4.7.4 + +[APP] +app_name = swan +build_dir = ${JARVIS_ROOT}/swan4131/ +binary_dir = ${JARVIS_ROOT}/swan4131/ +case_dir = + +[BUILD] +set -e +set -x + + +module list + +cd ${JARVIS_TMP} +rm -rf swan +git clone https://github.com/abby-1225/swan.git +cd ${JARVIS_ROOT} +tar -xf ${JARVIS_TMP}/swan/swan4131.tar.gz +cd swan4131 +sed -i '788s/\$_/"gfortran"/' platform.pl +make config +sed -i "4s/gfortran/flang/" macros.inc +sed -i "8s/-w/-w -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true/" macros.inc +sed -i "14s/=/= \$(NETCDF_CLANG_PATH)/" macros.inc +make mpi + + +[RUN] +run = +binary = +nodes = 1 + +[BATCH] +#! /bin/bash diff --git a/templates/swan/41.31/swan.singularity.arm.bisheng.cpu.config b/templates/swan/41.31/swan.singularity.arm.bisheng.cpu.config new file mode 100644 index 0000000..5ab9f9e --- /dev/null +++ b/templates/swan/41.31/swan.singularity.arm.bisheng.cpu.config @@ -0,0 +1,66 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +#dealii/9.5.2 $JARVIS_PROXY/dealii/dealii/releases/download/v9.5.2/dealii-9.5.2.tar.gz + +[DEPENDENCY] +set -x +set -e +#yum install perl-XML-LibXML +#./jarvis -install package/bisheng/4.0 com +#module purge +#module use ./software/modulefiles +#module load bisheng/4.0.0 +#./jarvis -install package/hmpi/2.4.1 bisheng +#module load hmpi/2.4.1 +export CC=`which clang` +export CXX=`which clang++` +unset FC F77 +module use ./software/moduledeps/bisheng4.0.0-hmpi2.4.1/ +./jarvis -install package/hdf5/1.12.0/clang bisheng+mpi +module load hdf5-clang/1.12.0 +./jarvis -install package/pnetcdf/1.12.3 bisheng+mpi +module load pnetcdf/1.12.3 +./jarvis -install package/netcdf/4.7.4/clang bisheng+mpi +module load netcdf-clang/4.7.4 +export NETCDFROOT=$NETCDF_CLANG_PATH + +[ENV] +#module purge +module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.0.0-hmpi2.4.1 +module load hdf5-clang/1.12.0 pnetcdf/1.12.3 netcdf-clang/4.7.4 + +[APP] +app_name = swan +build_dir = ${JARVIS_ROOT}/swan4131/ +binary_dir = ${JARVIS_ROOT}/swan4131/ +case_dir = + +[BUILD] +set -e +set -x + + +module list + +cd ${JARVIS_TMP} +rm -rf swan +git clone https://github.com/abby-1225/swan.git +cd ${JARVIS_ROOT} +tar -xf ${JARVIS_TMP}/swan/swan4131.tar.gz +cd swan4131 +sed -i '788s/\$_/"gfortran"/' platform.pl +make config +sed -i "4s/gfortran/flang/" macros.inc +sed -i "14s/=/= \$(NETCDF_CLANG_PATH)/" macros.inc +make mpi + + +[RUN] +run = +binary = +nodes = 1 + +[BATCH] +#! /bin/bash diff --git a/templates/wannier90/1.2.0/data.wannier90.container-sve.arm.cpu.config b/templates/wannier90/1.2.0/data.wannier90.container-sve.arm.cpu.config new file mode 100644 index 0000000..e89433a --- /dev/null +++ b/templates/wannier90/1.2.0/data.wannier90.container-sve.arm.cpu.config @@ -0,0 +1,51 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +wannier90/1.2.0 https://github.com/wannier-developers/wannier90/archive/refs/tags/v1.2.tar.gz + +[DEPENDENCY] +set -x +module use /hpcrunner/software/modulefiles +module use /hpcrunner/software/moduledeps +module purge +source /hpcrunner/HPCKit.env +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +./jarvis -install openblas/0.3.18 bisheng +module load bisheng4.0.0/openblas/0.3.18 + + +[ENV] +module use /hpcrunner/software/modulefiles +module use /hpcrunner/software/moduledeps +module purge +source /hpcrunner/HPCKit.env +module load bisheng4.0.0/openblas/0.3.18 + +[APP] +app_name = wannier90 +build_dir = ${JARVIS_ROOT}/wannier90 +binary_dir = +case_dir = + +[BUILD] +set -x + +cd ${JARVIS_ROOT} +rm -rf wannier90-1.2 +tar xf ${JARVIS_ROOT}/download/v1.2.tar.gz +cd wannier90-1.2 +cp config/make.sys.gfort make.sys +sed -i '4c F90 = flang' make.sys +sed -i '$a\LIBS= -L{OPENBLAS_PATH}/lib -lopenblas' make.sys +make clean +make + +set +x + +[RUN] +run = +binary = libwannier.x +nodes = 1 diff --git a/templates/wrf/4.6.0/data.wrf.arm.cpu.config b/templates/wrf/4.6.0/data.wrf.arm.cpu.config new file mode 100644 index 0000000..82acaef --- /dev/null +++ b/templates/wrf/4.6.0/data.wrf.arm.cpu.config @@ -0,0 +1,87 @@ +[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 +module purge +source /hpcrunner/HPCKit.env +export CC=`which mpicc` +export CXX=`which mpicxx` +export FC=`which mpifort` + +# basic system components +yum install -y time zlib zlib-devel libtirpc libtirpc-devel patch +wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.5.4.tar.gz -O /hpcrunner/downloads/netcdf-fortran-4.5.4.tar.gz --no-check-certificate +wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.8.1.tar.gz/ -O /hpcrunner/downloads/netcdf-c-4.8.1.tar.gz --no-check-certificate + +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 +module use /hpcrunner/software/moduledeps +module load bisheng4.0.0/jasper/1.900.2 +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install hdf5/1.12.0/clang bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +./jarvis -install pnetcdf/1.12.1 bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.1 +./jarvis -install netcdf/4.8.1/clang bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + +tar -xvf ${JARVIS_DOWNLOAD}/WRFV4.6.0.tar.gz + + +[ENV] +#!/bin/bash +module purge +source /hpcrunner/HPCKit.env + +module use /hpcrunner/software/moduledeps +module load bisheng4.0.0/jasper/1.900.2 bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.1 bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + +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 CPPFLAGS="-I${HDF5}/include -I${PNETCDF}/include -I${NETCDF}/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 WRF_DIR=/hpcrunner/WRFV4.6.0 +export MPI_LIB="-L${HMPI_PATH}/lib -lmpi -lomp" +export INCLUDE=${WRF_DIR}/include:$INCLUDE +export KML_LIB=${KML_BISHENG_PATH}/lib +export CASE_DIR=${WRF_DIR}/case/conus12km +export PATH=/hpcrunner/WRFV4.6.0/main:/hpcrunner/WRFV4.6.0/external/io_netcdf:$PATH + +[APP] +app_name = WRF +build_dir = ${WRF_DIR} +binary_dir = ${WRF_DIR}/run +case_dir = ${CASE_DIR} + +[BUILD] +set -x + +cd ${JARVIS_ROOT}/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 +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 + diff --git a/templates/wrf/4.6.0/data.wrf.arm.cpu.sve.config b/templates/wrf/4.6.0/data.wrf.arm.cpu.sve.config new file mode 100644 index 0000000..8db250b --- /dev/null +++ b/templates/wrf/4.6.0/data.wrf.arm.cpu.sve.config @@ -0,0 +1,90 @@ +[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 +module purge +source /hpcrunner/HPCKit.env +export CC=`which mpicc` +export CXX=`which mpicxx` +export FC=`which mpifort` + +# basic system components +yum install -y time zlib zlib-devel libtirpc libtirpc-devel patch +wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.5.4.tar.gz -O /hpcrunner/downloads/netcdf-fortran-4.5.4.tar.gz --no-check-certificate +wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.8.1.tar.gz/ -O /hpcrunner/downloads/netcdf-c-4.8.1.tar.gz --no-check-certificate + +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 +module use /hpcrunner/software/moduledeps +module load bisheng4.0.0/jasper/1.900.2 +export CC=mpicc CXX=mpicxx FC=mpifort +./jarvis -install hdf5/1.12.0/clang bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +./jarvis -install pnetcdf/1.12.1 bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.1 +./jarvis -install netcdf/4.8.1/clang bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + +tar -xvf ${JARVIS_DOWNLOAD}/WRFV4.6.0.tar.gz + + +[ENV] +#!/bin/bash +module purge +source /hpcrunner/HPCKit.env + +module use /hpcrunner/software/moduledeps +module load bisheng4.0.0/jasper/1.900.2 bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.1 bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.8.1 + +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 CPPFLAGS="-I${HDF5}/include -I${PNETCDF}/include -I${NETCDF}/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 WRF_DIR=/hpcrunner/WRFV4.6.0 +export MPI_LIB="-L${HMPI_PATH}/lib -lmpi -lomp" +export INCLUDE=${WRF_DIR}/include:$INCLUDE +export CASE_DIR=${WRF_DIR}/case/conus12km +export PATH=/hpcrunner/WRFV4.6.0/main:/hpcrunner/WRFV4.6.0/external/io_netcdf:$PATH + +[APP] +app_name = WRF +build_dir = ${WRF_DIR} +binary_dir = ${WRF_DIR}/run +case_dir = ${CASE_DIR} + +[BUILD] +set -x + +cd ${JARVIS_ROOT}/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" arch/configure.defaults +sed -i "2194c\FCOPTIM = -Ofast -mcpu=native -funroll-loops -mtune=native -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true" arch/configure.defaults +sed -i "2193c\LDFLAGS_LOCAL = -fopenmp -L/hpcrunner/HPCKit/latest/kml/bisheng/lib -lkm" 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 + diff --git a/templates/wrfda/3.9.1/configure_new.patch b/templates/wrfda/3.9.1/configure_new.patch new file mode 100644 index 0000000..ac04326 --- /dev/null +++ b/templates/wrfda/3.9.1/configure_new.patch @@ -0,0 +1,51 @@ +--- ../bk/WRF-3.9.1/arch/configure_new.defaults 2024-08-22 19:40:45.667373000 +0800 ++++ arch/configure_new.defaults 2024-08-22 19:56:29.933846000 +0800 +@@ -1917,7 +1917,47 @@ + CC_TOOLS = $(SCC) + + #insert new stanza here +- ++################################################## ######### ++#ARCH Linux aarch64,gnu OpenMPI #serial smpar dmpar dm+sm ++DESCRIPTION = CLANG ($SFC/$SCC) ++DMPARALLEL = 1 ++OMPCPP = -D_OPENMP ++OMP = -fopenmp ++OMPCC = -fopenmp ++SFC = flang ++SCC = clang -Wno-implicit-function-declaration -Wno-implicit-int ++CCOMP = clang ++DM_FC = mpif90 -f90=$(SFC) ++DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORT ++FC = CONFIGURE_FC ++CC = CONFIGURE_CC ++LD = $(FC) ++RWORDSIZE = CONFIGURE_RWORDSIZE ++PROMOTION = #-fdefault-real-8 ++ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM ++CFLAGS_LOCAL = -w -O3 -c -march=armv8.2-a -Wno-implicit-function-declaration -Wno-implicit-int -I/usr/include/tirpc/ ++LDFLAGS_LOCAL = -ltirpc ++CPLUSPLUSLIB = ++ESMF_LDFLAG = $(CPLUSPLUSLIB) ++FCOPTIM = -O3 -ftree-vectorize -funroll-loops -march=armv8.2-a -L/path/to/MATH/lib -lmathlib ++FCREDUCEDOPT = $(FCOPTIM) ++FCNOOPT = -O0 ++FCDEBUG = -g # -fbacktrace -ggdb-fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow ++FORMAT_FIXED = -ffixed-form ++FORMAT_FREE = -ffree-form -ffree-line-length-none ++FCSUFFIX = ++BYTESWAPIO = -fconvert=big-endian ++FCBASEOPTS_NO_G = -w $(FORMAT_FREE) $(BYTESWAPIO) ++FCBASEOPTS = -mcpu=native $(OMP) $(FCBASEOPTS_NO_G) ++MODULE_SRCH_FLAG = ++TRADFLAG = -traditional ++CPP = /lib/cpp -P ++AR = ar ++ARFLAGS = ru ++M4 = m4 -G ++RANLIB = ranlib ++RLFLAGS = ++CC_TOOLS = $(SCC) + ########################################################### + #ARCH Fujitsu FX10/FX100 Linux x86_64 SPARC64IXfx/SPARC64Xlfx, mpifrtpx and mpifccpx compilers #serial smpar dmpar dm+sm + # diff --git a/templates/wrfda/3.9.1/data.wrfda-sve.arm.cpu.config b/templates/wrfda/3.9.1/data.wrfda-sve.arm.cpu.config new file mode 100644 index 0000000..36a1ee7 --- /dev/null +++ b/templates/wrfda/3.9.1/data.wrfda-sve.arm.cpu.config @@ -0,0 +1,135 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +wrfda/3.9.1 https://www2.mmm.ucar.edu/wrf/src/WRFDA_V3.9.1.tar.gz wrfda-3.9.1.tar.gz +wrf/3.9.1 https://github.com/wrf-model/WRF/archive/refs/tags/V3.9.1.tar.gz wrf-3.9.1.tar.gz + +[DEPENDENCY] +set -x +set -e +yum install libtirpc libtirpc-devel patch time -y +module purge +module use ${JARVIS_ROOT}/HPCKit/latest/modulefiles +module use ${JARVIS_ROOT}/software/module* +module avail +module load bisheng/bisheng +module load bisheng/hmpi/hmpi + +./jarvis -install hdf5/1.12.0/clang bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +./jarvis -install pnetcdf/1.12.3 bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.3 +./jarvis -install netcdf/4.7.4/clang bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.7.4 +./jarvis -install jasper/1.900.2 bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/jasper/1.900.2 +./jarvis -install rttov/11.3 bisheng+mpi +module load bisheng4.0.0-hmpi2.4.1/rttov/11.3 + + +[ENV] +module purge +module use /hpcrunner/software/module* +module use /hpcunner/HPCKit/latest/modulefiles +module load bisheng/bisheng +module load bisheng/hmpi/hmpi +module load bisheng4.0.0-hmpi2.4.1/hdf5-clang/1.12.0 +module load bisheng4.0.0-hmpi2.4.1/pnetcdf/1.12.3 +module load bisheng4.0.0-hmpi2.4.1/netcdf-clang/4.7.4 +module load bisheng4.0.0-hmpi2.4.1/jasper/1.900.2 +module load bisheng4.0.0-hmpi2.4.1/rttov/11.3 +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 CPPFLAGS="-I$HDF5/include -I$PNETCDF/include -I$NETCDF/include" +export LDFLAGS="-L$HDF5/lib -L$PNETCDF/lib -L$NETCDF/lib -lnetcdf -lnetcdff -lpnetcdf -lhdf5_hl -lhdf5 -lz" +export JASPERLIB=${JASPER_PATH}/lib +export JASPERINC=${JASPER_PATH}/include +export WRF_DIR=${WRF_DIR} +export RTTOV=${RTTOV_PATH} +export MPI_LIB="-L$MPI_LIB -lmpi -lomp" +export PATH=$PATH:/hpcrunner/software/libs/bisheng4.0.0/hmpi2.4.1/wrfda/3.9.1/var/da:/hpcrunner/software/libs/bisheng4.0.0/hmpi2.4.1/wrfda/3.9.1/run + +[APP] +app_name = wrfda +build_dir = $JARVIS_ROOT/wrfda/test/ +binary_dir = +case_dir = + +[BUILD] +./jarvis -e +source env.sh +cd ${JARVIS_TMP} +rm -rf wrf-3.9.1 wrfda-3.9.1 + +#install wrf +mkdir wrf-3.9.1 +tar -xvf ${JARVIS_DOWNLOAD}/wrf-3.9.1.tar.gz --strip-components 1 -C wrf-3.9.1 +cd wrf-3.9.1 + +patch arch/configure_new.defaults < $JARVIS_ROOT/templates/wrfda/3.9.1/configure_new.patch +patch arch/postamble_new < $JARVIS_ROOT/templates/wrfda/3.9.1/postamble_new.patch +patch phys/module_cu_gf_deep.F < $JARVIS_ROOT/templates/wrfda/3.9.1/module_cu_gf_deep.patch +patch phys/module_ra_goddard.F < $JARVIS_ROOT/templates/wrfda/3.9.1/module_ra_goddard.patch +patch phys/module_sf_noahmpdrv.F < $JARVIS_ROOT/templates/wrfda/3.9.1/module_sf_noahmpdrv.patch +echo 4 | ./configure + +./compile -j 16 em_real 2>&1 | tee -a compile.log +#第一次编译会由于wrf多线程报错 +./compile -j 1 em_real 2>&1 | tee -a compile.log + +mkdir $JARVIS_ROOT/software/libs/bisheng4.0.0/hmpi2.4.1/wrf/3.9.1 -p +rm -rf $JARVIS_ROOT/software/libs/bisheng4.0.0/hmpi2.4.1/wrf/3.9.1/* +mv $JARVIS_TMP/wrf-3.9.1/* $JARVIS_ROOT/software/libs/bisheng4.0.0/hmpi2.4.1/wrf/3.9.1/ + +mkdir $JARVIS_ROOT/software/moduledeps/bisheng4.0.0-hmpi2.4.1/wrf -p +rm -rf $JARVIS_ROOT/software/moduledeps/bisheng4.0.0-hmpi2.4.1/wrf/* +cat >> $JARVIS_ROOT/software/moduledeps/bisheng4.0.0-hmpi2.4.1/wrf/3.9.1 << EOF +#%Module1.0 +set prefix $JARVIS_ROOT/software/libs/bisheng4.0.0/hmpi2.4.1/wrf/3.9.1 +set version 3.9.1 +setenv WRF_DIR \$prefix + +prepend-path PATH \$prefix +EOF + +#install wrfda +cd $JARVIS_TMP +mkdir wrfda-3.9.1 +tar -xvf ${JARVIS_DOWNLOAD}/wrfda-3.9.1.tar.gz --strip-components 1 -C wrfda-3.9.1 +cd wrfda-3.9.1 + +patch arch/configure_new.defaults < $JARVIS_ROOT/templates/wrfda/3.9.1/wrfda/configure_new.patch +patch arch/postamble_new < $JARVIS_ROOT/templates/wrfda/3.9.1/wrfda/postamble_new.patch +patch compile < $JARVIS_ROOT/templates/wrfda/3.9.1/wrfda/compile.patch +patch Makefile < $JARVIS_ROOT/templates/wrfda/3.9.1/wrfda/Makefile.patch +patch configure < $JARVIS_ROOT/templates/wrfda/3.9.1/wrfda/configure.patch + +echo 3 | ./configure -r8 wrfda +export -p +./compile all_wrfvar 2>&1 | tee -a compile- all_wrfvar.log + +mkdir $JARVIS_ROOT/software/libs/bisheng4.0.0/hmpi2.4.1/wrfda/3.9.1 -p +rm -rf $JARVIS_ROOT/software/libs/bisheng4.0.0/hmpi2.4.1/wrfda/3.9.1/* +mv $JARVIS_TMP/wrfda-3.9.1/* $JARVIS_ROOT/software/libs/bisheng4.0.0/hmpi2.4.1/wrfda/3.9.1/ + +mkdir $JARVIS_ROOT/software/moduledeps/bisheng4.0.0-hmpi2.4.1/wrfda -p +rm -rf $JARVIS_ROOT/software/moduledeps/bisheng4.0.0-hmpi2.4.1/wrfda/* +cat >> $JARVIS_ROOT/software/moduledeps/bisheng4.0.0-hmpi2.4.1/wrfda/3.9.1 << EOF +#%Module1.0 +set prefix $JARVIS_ROOT/software/libs/bisheng4.0.0/hmpi2.4.1/wrfda/3.9.1 +set version 3.9.1 + +prepend-path PATH \$prefix/var/da +EOF + +[CLEAN] +./clean + +[RUN] +run = dsub -s dsub_aqcm_12n.sh +binary = +nodes = 1 diff --git a/templates/wrfda/3.9.1/module_cu_gf_deep.patch b/templates/wrfda/3.9.1/module_cu_gf_deep.patch new file mode 100644 index 0000000..9f26ef3 --- /dev/null +++ b/templates/wrfda/3.9.1/module_cu_gf_deep.patch @@ -0,0 +1,33 @@ +--- ../bk/WRF-3.9.1/phys/module_cu_gf_deep.F 2024-08-22 19:40:46.953909000 +0800 ++++ phys/module_cu_gf_deep.F 2024-08-22 20:01:26.549405000 +0800 +@@ -4006,8 +4006,11 @@ + !-local vars + real :: dp,l_mid,l_shal,first_deriv(kts:kte),sec_deriv(kts:kte) + integer:: ken,kadd,kj,i,k,ilev,kk,ix,k800,k550,mid,shal ++ real :: sec_deriv_tmp(kts:kte) + ! + !-initialize k_inv_layers as undef ++ first_deriv=0. ++ sec_deriv=0. + l_mid=300. + l_shal=100. + k_inv_layers(:,:) = 1 +@@ -4071,14 +4074,16 @@ + dp=p_cup(i,k_inv_layers(i,k))-p_cup(i,kstart(i)) + sec_deriv(k)=abs(dp)-l_shal + enddo +- k800=minloc(abs(sec_deriv),1) ++ sec_deriv_tmp = abs(sec_deriv) ++ k800=minloc(sec_deriv_tmp,1) + sec_deriv(:)=1.e9 + + do k=1,maxloc(k_inv_layers(i,:),1) !kts,kte !kstart(i),kend(i) !kts,kte + dp=p_cup(i,k_inv_layers(i,k))-p_cup(i,kstart(i)) + sec_deriv(k)=abs(dp)-l_mid + enddo +- k550=minloc(abs(sec_deriv),1) ++ sec_deriv_tmp = abs(sec_deriv) ++ k550=minloc(sec_deriv_tmp,1) + !-save k800 and k550 in k_inv_layers array + shal=1 + mid=2 diff --git a/templates/wrfda/3.9.1/module_ra_goddard.patch b/templates/wrfda/3.9.1/module_ra_goddard.patch new file mode 100644 index 0000000..0526380 --- /dev/null +++ b/templates/wrfda/3.9.1/module_ra_goddard.patch @@ -0,0 +1,13 @@ +--- ../bk/WRF-3.9.1/phys/module_ra_goddard.F 2024-08-22 19:40:47.476028000 +0800 ++++ phys/module_ra_goddard.F 2024-08-22 20:03:35.600593000 +0800 +@@ -3273,8 +3273,8 @@ + if (ntop.lt.np+1) then + do k= ntop+1,np+1 !cloud top -> surface + if(overcast .and. fast_overcast) then !use ratio in LUT +- i_cos = int(cosz(i)*10.)+1 !1~10 +- i_tau = int(cld_alb*10.)+1 !1~10 ++ i_cos = min(max(int(cosz(i)*10.)+1,1), 10) !1~10 ++ i_tau = min(max(int(cld_alb*10.)+1,1), 10) !1~10 + ratio = ratio_lut(i_tau,i_cos) + else !use computed clear and cloudy flux ratio (not fast_overcast) + ratio = max(0.01_fp_kind, min(1._fp_kind,(flx(i,k)/flc(i,k)))) diff --git a/templates/wrfda/3.9.1/module_sf_noahmpdrv.patch b/templates/wrfda/3.9.1/module_sf_noahmpdrv.patch new file mode 100644 index 0000000..c35e859 --- /dev/null +++ b/templates/wrfda/3.9.1/module_sf_noahmpdrv.patch @@ -0,0 +1,17 @@ +--- ../bk/WRF-3.9.1/phys/module_sf_noahmpdrv.F 2024-08-22 19:40:47.153891000 +0800 ++++ phys/module_sf_noahmpdrv.F 2024-08-22 20:07:18.973466000 +0800 +@@ -1457,7 +1457,13 @@ + + lai (I,J) = max(lai(i,j),0.05) ! at least start with 0.05 for arbitrary initialization (v3.7) + xsaixy (I,J) = max(0.1*lai(I,J),0.05) ! MB: arbitrarily initialize SAI using input LAI (v3.7) +- masslai = 1000. / max(SLA_TABLE(IVGTYP(I,J)),1.0) ! conversion from lai to mass (v3.7) ++ !masslai = 1000. / max(SLA_TABLE(IVGTYP(I,J)),1.0) ! conversion from lai to mass (v3.7) ++ IF (IVGTYP(I,J) .EQ. 31 .OR. IVGTYP(I,J) .EQ. 32 .OR. & ++ IVGTYP(I,J) .EQ. 33) THEN ++ masslai = 1000. / max(SLA_TABLE(ISURBAN_TABLE),1.0) ++ ELSE ++ masslai = 1000. / max(SLA_TABLE(IVGTYP(I,J)),1.0) ++ ENDIF + lfmassxy (I,J) = lai(i,j)*masslai ! use LAI to initialize (v3.7) + masssai = 1000. / 3.0 ! conversion from lai to mass (v3.7) + stmassxy (I,J) = xsaixy(i,j)*masssai ! use SAI to initialize (v3.7) diff --git a/templates/wrfda/3.9.1/postamble_new.patch b/templates/wrfda/3.9.1/postamble_new.patch new file mode 100644 index 0000000..894c62a --- /dev/null +++ b/templates/wrfda/3.9.1/postamble_new.patch @@ -0,0 +1,11 @@ +--- ../bk/WRF-3.9.1/arch/postamble_new 2024-08-22 19:40:45.689841000 +0800 ++++ arch/postamble_new 2024-08-22 19:57:29.207681000 +0800 +@@ -30,7 +30,7 @@ + -DNMM_NEST=$(WRF_NMM_NEST) + CFLAGS = $(CFLAGS_LOCAL) CONFIGURE_DMPARALLEL CONFIGURE_STUBMPI \ + -DMAX_HISTORY=$(MAX_HISTORY) CONFIGURE_NMM_CORE +-FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ++FCFLAGS = $(FCBASEOPTS) $(FCOPTIM) + ESMF_LIB_FLAGS = ESMFLIBFLAG + # ESMF 5 -- these are defined in esmf.mk, included above + #NOWIN ESMF_IO_LIB = ESMFIOLIB diff --git a/templates/wrfda/3.9.1/wrfda/Makefile.patch b/templates/wrfda/3.9.1/wrfda/Makefile.patch new file mode 100644 index 0000000..0da2cdd --- /dev/null +++ b/templates/wrfda/3.9.1/wrfda/Makefile.patch @@ -0,0 +1,4 @@ +126c126 +< ( cd var/build; make depend; $(MAKE) $(J) all_wrfvar ) +--- +> ( cd var/build; make depend; $(MAKE) $(J) all_wrfvar V=1) diff --git a/templates/wrfda/3.9.1/wrfda/compile.patch b/templates/wrfda/3.9.1/wrfda/compile.patch new file mode 100644 index 0000000..68de8ba --- /dev/null +++ b/templates/wrfda/3.9.1/wrfda/compile.patch @@ -0,0 +1,30 @@ +332a333,344 +> set hdf5path = ( `grep "^HDF5PATH" configure.wrf | cut -d"=" -f2-` ) +> if ( $hdf5path == "" ) then +> setenv HDF5_INC "" +> unsetenv HDF5 +> else +> echo " " +> echo "Compiling with HDF5 libraries in:" +> echo $hdf5path +> echo " " +> setenv HDF5_INC "-I${hdf5path}/include" +> setenv HDF5 1 +> endif +355c367 +< setenv RTTOV_LIB "-L${RTTOV}/lib -lrttov11_coef_io -lrttov11_emis_atlas -lrttov11_main" +--- +> setenv RTTOV_LIB "-L${hdf5path}/lib -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -L${RTTOV}/lib -lrttov11_coef_io -lrttov11_emis_atlas -lrttov11_main -lrttov11_hdf" +363,374d374 +< endif +< set hdf5path = ( `grep "^HDF5PATH" configure.wrf | cut -d"=" -f2-` ) +< if ( $hdf5path == "" ) then +< setenv HDF5_INC "" +< unsetenv HDF5 +< else +< echo " " +< echo "Compiling with HDF5 libraries in:" +< echo $hdf5path +< echo " " +< setenv HDF5_INC "-I${hdf5path}/include" +< setenv HDF5 1 diff --git a/templates/wrfda/3.9.1/wrfda/configure.patch b/templates/wrfda/3.9.1/wrfda/configure.patch new file mode 100644 index 0000000..30688d5 --- /dev/null +++ b/templates/wrfda/3.9.1/wrfda/configure.patch @@ -0,0 +1,3 @@ +650a651,652 +> echo "=================================================================================================" +> diff --git a/templates/wrfda/3.9.1/wrfda/configure_new.patch b/templates/wrfda/3.9.1/wrfda/configure_new.patch new file mode 100644 index 0000000..111e064 --- /dev/null +++ b/templates/wrfda/3.9.1/wrfda/configure_new.patch @@ -0,0 +1,44 @@ +1875a1876,1918 +> #ARCH Linux aarch64, bisheng, hmpi #serial smpar dmpar dm+sm +> # +> DESCRIPTION = CLANG ($SFC/$SCC) +> DMPARALLEL = 1 +> OMPCPP = -D_OPENMP +> OMP = -fopenmp +> OMPCC = -fopenmp +> SFC = flang +> SCC = clang -Wno-implicit-function-declaration -Wno-implicit-int +> CCOMP = clang +> DM_FC = mpif90 -mllvm -disable-sincos-opt -mllvm -enable-alt-precision-math-functions +> DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORT -Wno-implicit-function-declaration -Wno-implicit-int +> FC = time $(DM_FC) +> CC = $(DM_CC) -DFSEEKO64_OK +> LD = $(FC) -fuse-ld=lld +> RWORDSIZE = $(NATIVE_RWORDSIZE) +> PROMOTION = -fdefault-real-8 -fdefault-double-8 +> ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM +> CFLAGS_LOCAL = -w -O0 -g -ffp-model=precise -ffp-contract=off -c -march=armv8.2-a -I/usr/include/tirpc/ +> LDFLAGS_LOCAL = -Wl,--build-id -ltirpc +> CPLUSPLUSLIB = +> ESMF_LDFLAG = $(CPLUSPLUSLIB) +> FCOPTIM = -O0 -g -ffp-model=precise -faarch64-pow-alt-precision=21 -ffp-contract=off -faarch64-minmax-alt-precision -Hx,124,0xc00000 -finline-functions -ftree-vectorize -falign-functions -mllvm -min-prefetch-stride=2 -mrecip=vec-div:1 -fstack-arrays +> FCREDUCEDOPT = $(FCOPTIM) +> FCNOOPT = -O0 -g -ffp-model=precise -ffp-contract=off -frecursive -fopenmp -faarch64-pow-alt-precision=21 -faarch64-minmax-alt-precision +> FCDEBUG = +> FORMAT_FIXED = -ffixed-form +> FORMAT_FREE = -ffree-form +> FCSUFFIX = +> BYTESWAPIO = -fconvert=big-endian +> FCBASEOPTS_NO_G = -O0 -g -ffp-model=precise -faarch64-pow-alt-precision=21 -ffp-contract=off -faarch64-minmax-alt-precision +> FCBASEOPTS = $(FCBASEOPTS_NO_G) $(FORMAT_FREE) $(BYTESWAPIO) +> MODULE_SRCH_FLAG = -module $(WRF_SRC_ROOT_DIR)/main +> TRADFLAG = -traditional +> CPP = /lib/cpp -P -C -nostdinc +> AR = ar +> ARFLAGS = ru +> M4 = m4 -G +> RANLIB = ranlib +> RLFLAGS = +> CC_TOOLS = $(SCC) +> +> ########################################################### diff --git a/templates/wrfda/3.9.1/wrfda/postamble_new.patch b/templates/wrfda/3.9.1/wrfda/postamble_new.patch new file mode 100644 index 0000000..34468fb --- /dev/null +++ b/templates/wrfda/3.9.1/wrfda/postamble_new.patch @@ -0,0 +1,4 @@ +33c33 +< FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) +--- +> FCFLAGS = $(FCBASEOPTS) $(FCOPTIM) -- Gitee