diff --git a/package/common/check_deps.sh b/package/common/check_deps.sh index 71a4e6bf6f92cd2d1c00f45531fceb44c1755d4c..df230291587a74e9d1e03495e45bbbec7348511d 100755 --- a/package/common/check_deps.sh +++ b/package/common/check_deps.sh @@ -20,7 +20,6 @@ done if [ $flag == 0 ]; then echo 'CHECK SUCCESS' - exit 0 else echo 'CHECK FAILED' exit 1 diff --git a/package/go/1.18/install.sh b/package/go/1.18/install.sh index c8c5894ab7c90ceff73c1aeeff18a842c6535e0f..c06227794b59c6d5f2fbb186b561efbd7765b834 100755 --- a/package/go/1.18/install.sh +++ b/package/go/1.18/install.sh @@ -10,6 +10,4 @@ else file_name='go1.18.linux-amd64.tar.gz' fi . ${DOWNLOAD_TOOL} -u https://go.dev/dl/${file_name} -rm -rf /usr/local/go -tar -xzvf ${JARVIS_DOWNLOAD}/${file_name} -C /usr/local -export PATH=/usr/local/go/bin:$PATH \ No newline at end of file +tar -xzvf ${JARVIS_DOWNLOAD}/${file_name} -C $1 \ No newline at end of file diff --git a/package/singularity/3.8.4/install.sh b/package/singularity/3.8.4/install.sh index 6559ee1dac250a1f62a14972a5e80a2a6cbd58cd..1c6560ae924e20727b9dc07b28050d8f49592020 100755 --- a/package/singularity/3.8.4/install.sh +++ b/package/singularity/3.8.4/install.sh @@ -1,15 +1,5 @@ #!/bin/bash set -x set -e -cd ${JARVIS_TMP} -export PATH=/usr/local/go/bin:$PATH -. $CHECK_ROOT && yum install -y libseccomp-devel squashfs-tools cryptsetup -file_noext='singularity-ce-3.8.4' -file_name="${file_noext}.tar.gz" -. ${DOWNLOAD_TOOL} -u https://github.com/sylabs/singularity/releases/download/v3.8.4/${file_name} -rm -rf ${file_noext} -tar -xzvf ${JARVIS_DOWNLOAD}/${file_name} -cd ${file_noext} -./mconfig -make -C builddir -sudo make -C builddir install \ No newline at end of file +export singularity_ver='3.8.4' +../meta.sh $1 \ No newline at end of file diff --git a/package/singularity/3.9.6/install.sh b/package/singularity/3.9.6/install.sh index 4a5ad7e5f9baca4f2ed7aa31b665d0c3fb18b082..585e88442ea56ea31a5d24ae0cf041e2669c518d 100755 --- a/package/singularity/3.9.6/install.sh +++ b/package/singularity/3.9.6/install.sh @@ -1,15 +1,5 @@ #!/bin/bash set -x set -e -cd ${JARVIS_TMP} -export PATH=/usr/local/go/bin:$PATH -. $CHECK_ROOT && yum install -y libseccomp-devel squashfs-tools cryptsetup -file_noext='singularity-ce-3.9.6' -file_name="${file_noext}.tar.gz" -. ${DOWNLOAD_TOOL} -u https://github.com/sylabs/singularity/releases/download/v3.9.6/${file_name} -rm -rf ${file_noext} -tar -xzvf ${JARVIS_DOWNLOAD}/${file_name} -cd ${file_noext} -./mconfig -make -C builddir -sudo make -C builddir install \ No newline at end of file +export singularity_ver='3.9.6' +../meta.sh $1 \ No newline at end of file diff --git a/package/singularity/3.9.9/install.sh b/package/singularity/3.9.9/install.sh index eef5569feea9e9557e14981a3782b3bf8e13f3d7..df2d2f991cb5a8d33342a28f06a78271ea38f27f 100755 --- a/package/singularity/3.9.9/install.sh +++ b/package/singularity/3.9.9/install.sh @@ -1,15 +1,5 @@ #!/bin/bash set -x set -e -cd ${JARVIS_TMP} -export PATH=/usr/local/go/bin:$PATH -file_noext='singularity-ce-3.9.9' -file_name="${file_noext}.tar.gz" -. ${DOWNLOAD_TOOL} -u https://github.com/sylabs/singularity/releases/download/v3.9.9/${file_name} -rm -rf ${file_noext} -tar -xzvf ${JARVIS_DOWNLOAD}/${file_name} -cd ${file_noext} -./mconfig -make -C builddir -sudo make -C builddir install - +export singularity_ver='3.9.9' +../meta.sh $1 \ No newline at end of file diff --git a/package/singularity/meta.sh b/package/singularity/meta.sh new file mode 100644 index 0000000000000000000000000000000000000000..d4c357168f170f174a7d06616b19d54d5a258fc9 --- /dev/null +++ b/package/singularity/meta.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -x +set -e +cd ${JARVIS_TMP} +. $CHECK_DEPS go +. $CHECK_ROOT && yum install -y libseccomp-devel squashfs-tools cryptsetup +file_noext="singularity-ce-$singularity_ver" +file_name="${file_noext}.tar.gz" +. ${DOWNLOAD_TOOL} -u https://github.com/sylabs/singularity/releases/download/v${singularity_ver}/${file_name} +rm -rf ${file_noext} +tar -xzvf ${JARVIS_DOWNLOAD}/${file_name} +cd ${file_noext} +./mconfig --prefix=$1 +make -C builddir +make -C builddir install \ No newline at end of file diff --git a/templates/wrf/4.2/bisheng/configure.defaults b/templates/wrf/4.2/bisheng/configure.defaults new file mode 100644 index 0000000000000000000000000000000000000000..7da71dcd296f327f94c488d49037f399e6e66c14 --- /dev/null +++ b/templates/wrf/4.2/bisheng/configure.defaults @@ -0,0 +1,47 @@ +########################################################### +#insert new stanza before the Fujitsu block, keep Fujitsu at the end of the list +########################################################### +#ARCH Linux aarch64,clang HYPERMPI#serial smpar dmpar dm+sm +DESCRIPTION = CLANG ($SFC/$SCC) +DMPARALLEL = 1 +OMPCPP = -D_OPENMP +OMP = -fopenmp +OMPCC = -fopenmp +SFC = flang +SCC = clang +CCOMP = clang +DM_FC = mpif90 -f90=$(SFC) +DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORT +FC = CONFIGURE_FC +CC = CONFIGURE_CC +LD = $(FC) -L$(KML_GCC_PATH)/lib -lkm +RWORDSIZE = CONFIGURE_RWORDSIZE +PROMOTION = #-fdefault-real-8 +ARCH_LOCAL = -DNONSTANDARD_SYSTEM_SUBR -DWRF_USE_CLM +CFLAGS_LOCAL = -mcpu=native -w -O3 -c -march=armv8.2-a +LDFLAGS_LOCAL = +CPLUSPLUSLIB = +ESMF_LDFLAG = $(CPLUSPLUSLIB) +FCOPTIM = -O3 -march=armv8.2-a +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-0 +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) + +#insert new stanza before the Fujitsu block, keep Fujitsu at the end of the list +########################################################### +#ARCH NULL \ No newline at end of file diff --git a/templates/wrf/4.2/bisheng/data.wrf.arm.cpu.config b/templates/wrf/4.2/bisheng/data.wrf.arm.cpu.config index fe20f2aacd1e6d613a716d866155c7d6d624f46d..d5cce55bbcc8b50853b921e279c21dac7d720a2d 100644 --- a/templates/wrf/4.2/bisheng/data.wrf.arm.cpu.config +++ b/templates/wrf/4.2/bisheng/data.wrf.arm.cpu.config @@ -5,108 +5,80 @@ wrf/4.2 https://github.com/wrf-model/WRF/archive/refs/tags/v4.2.tar.gz wrf-4.2.tar.gz [DEPENDENCY] +set -e +set -x module purge module use ./software/modulefiles -./jarvis -install bisheng/2.1.0 com -module load bisheng/2.1.0 +./jarvis -install package/go/1.18 com +module load go/1.18 +./jarvis -install package/singularity/3.9.9 any +module load singularity/3.9.9 +./jarvis -install bisheng/2.5.0 com +module load bisheng/2.5.0 export CC=clang CXX=clang++ FC=flang - -./jarvis -install hmpi/1.1.1 clang -module load hmpi/1.1.1 +./jarvis -install jasper/1.900.2 clang +module load jasper/1.900.2 +./jarvis -install hmpi/1.2.0 clang +module load hmpi/1.2.0 export CC=mpicc CXX=mpicxx FC=mpifort -./jarvis -install hdf5/1.10.1 clang+mpi -./jarvis -install package/pnetcdf/1.11.2 clang+mpi -./jarvis -install package/netcdf/4.7.0 clang+mpi -./jarvis -install optimized-routines/20.02/clang clang+mpi -cd ${JARVIS_TMP} -rm -rf WRF-4.2 -tar -zxvf $JARVIS_DOWNLOAD/wrf-4.2.tar.gz +./jarvis -install hdf5/1.12.0/clang clang+mpi +module load hdf5-clang/1.12.0 +./jarvis -install netcdf/4.7.4/clang clang+mpi +module load netcdf-clang/4.7.4 +./jarvis -install pnetcdf/1.12.1 clang+mpi +module load pnetcdf/1.12.1 +./jarvis -install kgcc/9.3.1 com +module load kgcc/9.3.1 +./jarvis -install kml/1.6.0/gcc gcc +#./jarvis -install osu/1.0.0 clang+mpi +#tar -zxvf $JARVIS_DOWNLOAD/wrf-4.2.tar.gz -C wrf-4.2-ori +#tar -zxvf $JARVIS_DOWNLOAD/BJ-WRF-4.2.1.tar.gz -C wrf-4.2-ori [ENV] +#!/bin/bash module purge module use ./software/modulefiles -module load bisheng/2.1.0 -module load hmpi/1.1.1 -export CC=mpicc CXX=mpicxx FC=mpifort -module load hdf5/1.10.1 -module load pnetcdf/1.11.2 -module load netcdf/4.7.0 -module load optimized-routines-clang/20.02 - -[APP] -app_name = WRF -build_dir = ${JARVIS_ROOT} -binary_dir = ${JARVIS_ROOT}/software/apps/bisheng2.1.0/hmpi1.1.1/wrf -case_dir = ${JARVIS_ROOT}/software/apps/bisheng2.1.0/hmpi1.1.1/wrf - -[BUILD] -cd ${JARVIS_TMP} -cd WRF-4.2 - -export HDF5=`which h5diff` -export HDF5=${HDF5%/*/*} -export NETCDF=`nc-config --prefix` -export PNETCDF=`pnetcdf-config --prefix` - +module load go/1.18 +module load singularity/3.9.9 +module load bisheng/2.5.0 +module load jasper/1.900.2 +module load hmpi/1.2.0 +module load hdf5-clang/1.12.0 netcdf-clang/4.7.4 pnetcdf/1.12.1 +module load kgcc/9.3.1 +module load kml-gcc/1.6.0 +module unload kgcc/9.3.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=$JARVIS_ROOT/wrf-4.2-ori/WRF-4.2.1.920B/WRF-4.2.1 +export MPI_LIB="-L$MPI_LIB -lmpi -lomp" +export INCLUDE=$WRF_DIR/include:$INCLUDE export WRFIO_NCD_LARGE_FILE_SUPPORT=1 +#移动run/目录下的初始场数据 -sed -i $((`sed -n '$=' arch/configure.defaults`-2)),$((`sed -n '$=' arch/configure.defaults`))d arch/configure.defaults - -cat >> arch/configure.defaults <&1 | tee -a compile.log +./compile -j 64 em_real 2>&1 | tee compile.log [CLEAN] -make clean +./clean [RUN] -run = +run = dsub -s run.sh binary = nodes = 1 diff --git a/templates/wrf/4.2/bisheng/run.sh b/templates/wrf/4.2/bisheng/run.sh new file mode 100644 index 0000000000000000000000000000000000000000..3f1040e6f2cfb5492c6ee663c45ae97128d63a83 --- /dev/null +++ b/templates/wrf/4.2/bisheng/run.sh @@ -0,0 +1,23 @@ +#!/bin/sh +#DSUB -n wrf_test +#DSUB --job_type cosched:hmpi +#DSUB -A root.default +#DSUB -q root.default +#DSUB -N 1 +#DSUB -R cpu=128 +#DSUB -oo wrf.%J.out +#DSUB -eo wrf.%J.err + +##set runtime environment variables + +ulimit -s unlimited +ulimit -c unlimited +rm -rf rsl.* +echo "----HOSTFILE generated---" +cat $CCS_HOST_FILE +echo "-------------------------" +EXEC_CMD="time -p mpirun $CCS_MPI_OPTIONS -n 32 -x OMP_NUM_THREADS=1 -x UCX_NET_DEVICES=mlx5_0:1 -mca io romio321 -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm,rc -bind-to core -x PATH -x LD_LIBRARY_PATH $WRF_DIR/run/wrf.exe" +echo "$EXEC_CMD" +date +$EXEC_CMD +date \ No newline at end of file diff --git a/templates/yum/openEuler.repo b/templates/yum/openEuler.repo new file mode 100644 index 0000000000000000000000000000000000000000..3b194280350349899156e504cd95815afb98b92e --- /dev/null +++ b/templates/yum/openEuler.repo @@ -0,0 +1,22 @@ +###Kylin Linux Advanced Server 10 - os repo### + +[OS] +name = OS +baseurl = https://archives.openeuler.openatom.cn/openEuler-21.09/OS/$basearch/ +gpgcheck = 1 +gpgkey=https://archives.openeuler.openatom.cn/openEuler-21.09/OS/$basearch/RPM-GPG-KEY-openEuler +enabled = 1 + +[everything] +name = everything +baseurl = https://archives.openeuler.openatom.cn/openEuler-21.09/everything/$basearch/ +gpgcheck = 1 +gpgkey=https://archives.openeuler.openatom.cn/openEuler-21.09/everything/$basearch/RPM-GPG-KEY-openEuler +enabled = 1 + +[update] +name = update +baseurl = https://archives.openeuler.openatom.cn/openEuler-21.09/update/$basearch/ +gpgcheck = 1 +gpgkey=https://archives.openeuler.openatom.cn/openEuler-21.09/OS/$basearch/RPM-GPG-KEY-openEuler +enabled = 1