diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1d83794d4b7b8e225684638bc88c0eb6a4d8e033..0ae5e1a1621aebc0d271eb8e7eec4f1493f743eb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -## **GITEE前提工作** +## **GITEE提交前提工作** **1.设置SSH** @@ -55,3 +55,30 @@ git push origin new_branch **5.在gitee创建PR** https://gitee.com/iotwins/hpcrunner + +**FAQ** + +**1.某次commit的信息提交错误怎么办?** + +**1.1 git stash** + +Git提供了一个git stash命令, 其将当前未提交的修改(即工作区的修改和暂存区的修改)先暂时储藏起来,这样工作区干净了后,就可以完成线上bug的修复,之后通过git stash pop命令将之前储藏的修改取出来,继续进行新功能的开发工作 + +**1.2 git rebase** + +git rebase -i {commitID} // 例如 git rebase -i sd98dsf89sdf +执行 rebase 命令后,会出现 reabse 的编辑窗口,窗口底下会有提示怎么操作。 +这里把需要修改的 commit 最前面的 pick 改为 edit,可以一条或者多条。 +根据提示,接下来使用 --amend 进行修改 +只修改注释信息: git commit --amend +只修改作者、邮箱: git commit --amend --author="zhangsan " --no-edit +同时修改注释信息、作者、邮箱: git commit --amend --author="zhangsan " +修改完成后,继续执行下面命令 +git rebase --continue +直到出现以下提示,说明全部修改已经完成。 +Successfully rebased and updated xxx + +**1.3 git push** + +提交到远程仓库: +git push --force origin master \ No newline at end of file diff --git a/examples/mpi/hello.F90 b/examples/mpi/hello.F90 new file mode 100644 index 0000000000000000000000000000000000000000..4a40058c89e59194d571024cb209cae1c73a785f --- /dev/null +++ b/examples/mpi/hello.F90 @@ -0,0 +1,14 @@ +program main + use mpi + implicit none + + integer :: nprocs, rank, ierr + + call MPI_INIT(ierr) + call MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr) + call MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) + + print *, 'Process', rank, 'of', nprocs, 'is running' + + call MPI_FINALIZE(ierr) +end program main diff --git a/examples/mpi/recv-mul-data.c b/examples/mpi/recv-mul-data.c new file mode 100644 index 0000000000000000000000000000000000000000..2193a06fa46bb21bd4485c466f86778832e3af26 --- /dev/null +++ b/examples/mpi/recv-mul-data.c @@ -0,0 +1,28 @@ +#include "mpi.h" +#include + +int main(int argc, char *argv[]) +{ + int rank, size, i, buf[1]; + MPI_Status status; + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_size(MPI_COMM_WORLD, &size); + if (rank==0) { + /*主进程不断接收从各个进程发送过来的消息*/ + for(i=0; i<5*(size-1); i++) + { + MPI_Recv(buf, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD, &status); + printf("Msg=%d from %d with tag %d\n",buf[0], status.MPI_SOURCE, status.MPI_TAG); + } + } + else { + /*其他进程向主进程发送消息*/ + for(i=0; i<5; i++) + { + buf[0] = rank+i; + MPI_Send(buf, 1, MPI_INT, 0, i, MPI_COMM_WORLD); + } + } + MPI_Finalize(); +} \ No newline at end of file diff --git a/examples/mpi/send-recv-bi.c b/examples/mpi/send-recv-bi.c new file mode 100644 index 0000000000000000000000000000000000000000..a6c1b413212342d554d6e33522c764e2f9f43cf6 --- /dev/null +++ b/examples/mpi/send-recv-bi.c @@ -0,0 +1,53 @@ +#include +#include +#include "mpi.h" + +void Hello(void); + +int main(int argc, char *argv[]) +{ + int me, option, namelen, size; + char process_name[MPI_MAX_PROCESSOR_NAME]; + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &me); + MPI_Comm_size(MPI_COMM_WORLD, &size); + + if (size < 2) { + fprintf(stderr, "system requires at least 2 processes"); + MPI_Abort(MPI_COMM_WORLD, 1); + } + MPI_Get_processor_name(process_name, &namelen); + fprintf(stderr, "Process %d is alive on %s\n", me, process_name); + MPI_Barrier(MPI_COMM_WORLD); + Hello(); + MPI_Finalize(); +} + +void Hello() +{ + int nproc, me; + int type = 1; + int buffer[2], node; + MPI_Status status; + MPI_Comm_rank(MPI_COMM_WORLD, &me); + MPI_Comm_size(MPI_COMM_WORLD, &nproc); + if (me==0) { + printf("\nHello test from all to all\n"); + fflush(stdout); + } + for(node = 0; node < nproc; node++) + { + if (node != me) { + buffer[0] = me; + buffer[1] = node; + MPI_Send(buffer, 2, MPI_INT, node, type, MPI_COMM_WORLD); + MPI_Recv(buffer, 2, MPI_INT, node, type, MPI_COMM_WORLD, &status); + if (buffer[0] != node || buffer[1] != me) { + fprintf(stderr, "Hello: %d != %d or %d != %d\n", buffer[0], node, buffer[1], me); + printf("Mismatch on hello process ids; node = %d\n",node); + } + printf("Hello from %d to %d\n",me,node); + fflush(stdout); + } + } +} \ No newline at end of file diff --git a/examples/mpi/send-recv.c b/examples/mpi/send-recv.c new file mode 100644 index 0000000000000000000000000000000000000000..2aec06883ac1a395f67cea523d8cc33718f2a82c --- /dev/null +++ b/examples/mpi/send-recv.c @@ -0,0 +1,33 @@ +#include +#include "mpi.h" + +int main(int argc, char *argv[]) +{ + int rank, value, size; + MPI_Status status; + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &rank); /*当前进程在MPI_COMM_WORLD这个通信组下面 编号是多少*/ + MPI_Comm_size(MPI_COMM_WORLD, &size); /*MPI_COMM_WORLD这个通信组下面 有多少个进程*/ + do { + if (rank==0) { + fprintf(stderr, "\nPlease give new value="); + scanf("%d",&value); + fprintf(stderr, "%d read <-<- (%d)\n",rank,value); + /*必须至少有两个进程的时候 才能进行数据传递*/ + if (size>1) { + MPI_Send(&value, 1, MPI_INT, rank+1, 0, MPI_COMM_WORLD); + fprintf(stderr, "%d send (%d)->-> %d\n", rank,value,rank+1); + } + } + else { + MPI_Recv(&value, 1, MPI_INT, rank-1, 0, MPI_COMM_WORLD, &status); + fprintf(stderr, "%d receive(%d)<-<- %d\n",rank, value, rank-1); + if (rank-> %d\n", rank, value, rank+1); + } + } + MPI_Barrier(MPI_COMM_WORLD); + }while(value>=0); + MPI_Finalize(); +} \ No newline at end of file diff --git a/examples/python/read-file.py b/examples/python/read-file.py new file mode 100644 index 0000000000000000000000000000000000000000..a08f7ed2b111970a713dd9fb17f9034f04a6fe23 --- /dev/null +++ b/examples/python/read-file.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +import chardet + +file_name = 'turbulence.F90' +with open(file_name , 'rb') as f: + data = f.read() + try: + content = data.decode('utf-8') + except Exception as e : + code_type = chardet.detect(data)['encoding'] + content = data.decode(code_type) + print(content) + print("The encoding is "+code_type) \ No newline at end of file diff --git a/init.sh b/init.sh index 9d6776ecccd5f6fd0b9aa9c8f85b7df2768f704f..a009d001e7e7ff73d1460388e7cd1f090af1bf35 100644 --- a/init.sh +++ b/init.sh @@ -11,6 +11,8 @@ export JARVIS_MPI=${CUR_PATH}/software/mpi export JARVIS_LIBS=${CUR_PATH}/software/libs export JARVIS_UTILS=${CUR_PATH}/software/utils export JARVIS_DOWNLOAD=${CUR_PATH}/downloads +export JARVIS_MODULES=${CUR_PATH}/software/modulefiles +export JARVIS_MODULEDEPS=${CUR_PATH}/software/moduledeps export JARVIS_TMP=${CUR_PATH}/tmp export DOWNLOAD_TOOL=${CUR_PATH}/package/common/download.sh export CHECK_DEPS=${CUR_PATH}/package/common/check_deps.sh diff --git a/package/bisheng/2.5.0/install.sh b/package/bisheng/2.5.0/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..90252d9f7c0ade2ea2407bff603014618bbfb867 --- /dev/null +++ b/package/bisheng/2.5.0/install.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -e +export bisheng_ver='BiSheng-compiler-2.5.0' +../meta.sh $1 \ No newline at end of file diff --git a/package/hdf5/1.12.0/clang/install.sh b/package/hdf5/1.12.0/clang/install.sh index 89603df35b099d7a12f846eb45ed8cfbd66c8f3e..49cdf23e6793b9df2fbfadcc2ab179e0190229f2 100644 --- a/package/hdf5/1.12.0/clang/install.sh +++ b/package/hdf5/1.12.0/clang/install.sh @@ -2,7 +2,7 @@ set -x set -e hdf5_big_version='1.12' -hdf5_version='${hdf5_big_version}.0' +hdf5_version="${hdf5_big_version}.0" . ${DOWNLOAD_TOOL} -u https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${hdf5_big_version}/hdf5-${hdf5_version}/src/hdf5-${hdf5_version}.tar.gz cd ${JARVIS_TMP} rm -rf hdf5-${hdf5_version} diff --git a/package/kml/1.6.0/gcc/install.sh b/package/kml/1.6.0/gcc/install.sh index f43855544a61b93ce91026829ee21721c40e3710..807229641196a4c3dcbf0b0e82593ffe82643764 100644 --- a/package/kml/1.6.0/gcc/install.sh +++ b/package/kml/1.6.0/gcc/install.sh @@ -6,7 +6,7 @@ kml_version=1.6.0 . ${DOWNLOAD_TOOL} -u https://github.com/Reference-LAPACK/lapack/archive/refs/tags/v3.9.1.tar.gz -f lapack-3.9.1.tar.gz cd ${JARVIS_TMP} -unzip -o ${JARVIS_DOWNLOAD}/BoostKit-kml_${kml_version}_bisheng.zip +unzip -o ${JARVIS_DOWNLOAD}/BoostKit-kml_${kml_version}.zip rpm2cpio boostkit-kml-${kml_version}-1.aarch64.rpm | cpio -div mkdir -p $1 cp -r usr/local/kml/* $1 diff --git a/package/netcdf/4.7.4/clang/install.sh b/package/netcdf/4.7.4/clang/install.sh index 5690d0f20ccf25957825807602dff6381a3c011e..b5244b9356df3eebedf1347330d5d24498fb88c8 100644 --- a/package/netcdf/4.7.4/clang/install.sh +++ b/package/netcdf/4.7.4/clang/install.sh @@ -2,6 +2,7 @@ set -x set -e +set -o posix netcdf_c_version='4.7.4' netcdf_f_version='4.5.3' . ${DOWNLOAD_TOOL} -u https://codeload.github.com/Unidata/netcdf-fortran/tar.gz/refs/tags/v${netcdf_f_version} -f netcdf-fortran-${netcdf_f_version}.tar.gz @@ -17,8 +18,8 @@ else build_type='' fi export CC=mpicc CXX=mpicxx FC=mpifort -HDF5_DIR=${HDF5_CLANG_PATH} -PNETCDF_DIR=${PNETCDF_PATH} +export HDF5_DIR=${HDF5_CLANG_PATH} +export PNETCDF_DIR=${PNETCDF_PATH} ./configure --prefix=$1 ${build_type} --enable-shared --enable-netcdf-4 --disable-dap --with-pic --disable-doxygen --enable-static --enable-pnetcdf --enable-largefile CPPFLAGS="-O3 -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${PNETCDF_DIR}/lib" CFLAGS="-O3 -L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" make -j16 diff --git a/package/netcdf/4.8.1/clang/install.sh b/package/netcdf/4.8.1/clang/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..5f6994e1eb7b828af8d773b631a8535f69cba469 --- /dev/null +++ b/package/netcdf/4.8.1/clang/install.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -x +set -e +set -o posix +export netcdf_c_version='4.8.1' +export netcdf_f_version='4.5.4' +../../meta.sh $1 \ No newline at end of file diff --git a/package/netcdf/meta.sh b/package/netcdf/meta.sh new file mode 100644 index 0000000000000000000000000000000000000000..b453bed8eb83f17f93b401266c18d412520612f1 --- /dev/null +++ b/package/netcdf/meta.sh @@ -0,0 +1,31 @@ +#!/bin/bash +. ${DOWNLOAD_TOOL} -u https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v${netcdf_f_version}.tar.gz -f netcdf-fortran-${netcdf_f_version}.tar.gz +. ${DOWNLOAD_TOOL} -u https://github.com/Unidata/netcdf-c/archive/refs/tags/v${netcdf_c_version}.tar.gz -f netcdf-c-${netcdf_c_version}.tar.gz +cd ${JARVIS_TMP} +rm -rf netcdf-c-${netcdf_c_version} netcdf-fortran-${netcdf_f_version} +tar -xvf ${JARVIS_DOWNLOAD}/netcdf-c-${netcdf_c_version}.tar.gz +tar -xvf ${JARVIS_DOWNLOAD}/netcdf-fortran-${netcdf_f_version}.tar.gz +cd netcdf-c-${netcdf_c_version} +if [ x"$(arch)" = xaarch64 ];then + build_type='--build=aarch64-unknown-linux-gnu' +else + build_type='' +fi +export CC=mpicc CXX=mpicxx FC=mpifort +export HDF5_DIR=${HDF5_CLANG_PATH} +export PNETCDF_DIR=${PNETCDF_PATH} +./configure --prefix=$1 ${build_type} --enable-shared --enable-netcdf-4 --disable-dap --with-pic --disable-doxygen --enable-static --enable-pnetcdf --enable-largefile CPPFLAGS="-O3 -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${PNETCDF_DIR}/lib" CFLAGS="-O3 -L${HDF5_DIR}/lib -L${PNETCDF_DIR}/lib -I${HDF5_DIR}/include -I${PNETCDF_DIR}/include" + +make -j16 +make install + +export PATH=$1/bin:$PATH +export LD_LIBRARY_PATH=$1/lib:$LD_LIBRARY_PATH +export NETCDF=${1} + +cd ../netcdf-fortran-${netcdf_f_version} +./configure --prefix=$1 ${build_type} --enable-shared --with-pic --disable-doxygen --enable-largefile --enable-static CPPFLAGS="-O3 -I${HDF5_DIR}/include -I${1}/include" LDFLAGS="-L${HDF5_DIR}/lib -L${1}/lib -Wl,-rpath=${HDF5_DIR}/lib -Wl,-rpath=${1}/lib" CFLAGS="-O3 -L${HDF5_DIR}/lib -L${1}/lib -I${HDF5_DIR}/include -I${1}/include" CXXFLAGS="-O3 -L${HDF5_DIR}/lib -L${1}/lib -I${HDF5_DIR}/include -I${1}/include" FCFLAGS="-O3 -L${HDF5_DIR}/lib -L${1}/lib -I${HDF5_DIR}/include -I${1}/include" +sed -i '11686c wl="-Wl,"' libtool +sed -i '11838c wl="-Wl,"' libtool +make -j16 +make install diff --git a/package/pio/2.5.10/install.sh b/package/pio/2.5.10/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..6e803e7c6089962e439d9ed77318436f81621436 --- /dev/null +++ b/package/pio/2.5.10/install.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -x +set -e +pio_ver="2_5_10" +. ${DOWNLOAD_TOOL} -u https://github.com/NCAR/ParallelIO/archive/refs/tags/pio${pio_ver}.tar.gz -f pio${pio_ver}.tar.gz +cd ${JARVIS_TMP} +rm -rf ParallelIO-pio${pio_ver} +tar -xvf ${JARVIS_DOWNLOAD}/pio${pio_ver}.tar.gz +cd ParallelIO-pio${pio_ver} +export CC=mpicc FC=mpifort +export CFLAGS="-g -Wall ${CFLAGS}" +#cmake -DNETCDF_C_PATH=${NETCDF_CLANG_PATH} -DNETCDF_FORTRAN_PATH=${NETCDF_CLANG_PATH} -DPNETCDF_PATH=${PNETCDF_PATH} -DHDF5_PATH=${HDF5_PATH}-DCMAKE_INSTALL_PREFIX=$1 .. +autoreconf --install +autoconf +./configure --enable-fortran --prefix=$1 +make install diff --git a/src/buildService.py b/src/buildService.py index 91739ce3fa82c8906b97e7cd93008be82864e11e..4ec097ae8ec8b3761d7430e8765539fe3ff645cf 100644 --- a/src/buildService.py +++ b/src/buildService.py @@ -13,7 +13,13 @@ class BuildService: def clean(self): print(f"start clean {DataService.app_name}") clean_cmd=self.hpc_data.get_clean_cmd() - self.exe.exec_raw(clean_cmd) + clean_file = 'clean.sh' + self.tool.write_file(clean_file, clean_cmd) + run_cmd = f''' +chmod +x {clean_file} +./{clean_file} +''' + self.exe.exec_raw(run_cmd) def build(self): print(f"start build {DataService.app_name}") diff --git a/templates/CESM/2.1.3/Externals.cfg b/templates/CESM/2.1.3/Externals.cfg new file mode 100644 index 0000000000000000000000000000000000000000..83fb3c6f2b1722d73420ab4ebaaad18660b5a258 --- /dev/null +++ b/templates/CESM/2.1.3/Externals.cfg @@ -0,0 +1,71 @@ +[cam] +tag = newcam_cesm2_1_rel_41 +protocol = git +repo_url = https://gitee.com/iotwins/cam +local_path = components/cam +externals = Externals_CAM.cfg +required = True + + +[cice] +tag = cice5_cesm2_1_1_20190321 +protocol = git +repo_url = https://gitee.com/iotwins/cesm_cice5 +local_path = components/cice +required = True + +[cime] +tag = cime5.6.32 +protocol = git +repo_url = https://gitee.com/iotwins/cime +local_path = cime +required = True + +[cism] +tag = newcism-release-cesm2.1.2_02 +protocol = git +repo_url = https://gitee.com/iotwins/cism-wrapper +local_path = components/cism +externals = Externals_CISM.cfg +required = True + +[clm] +tag = newrelease-clm5.0.30 +protocol = git +repo_url = https://gitee.com/iotwins/ctsm/ +local_path = components/clm +externals = Externals_CLM.cfg +required = True + +[mosart] +tag = release-cesm2.0.04 +protocol = git +repo_url = https://gitee.com/iotwins/MOSART +local_path = components/mosart +required = True + +[pop] +tag = newpop2_cesm2_1_rel_n09 +protocol = git +repo_url = https://gitee.com/iotwins/pop2-cesm +local_path = components/pop +externals = Externals_POP.cfg +required = True + +[rtm] +tag = release-cesm2.0.04 +protocol = git +repo_url = https://gitee.com/iotwins/rtm +local_path = components/rtm +required = True + +[ww3] +tag = ww3_cesm2_1_rel_01 +protocol = git +repo_url = https://gitee.com/iotwins/WW3-CESM +local_path = components/ww3 +required = True + +[externals_description] +schema_version = 1.0.0 + diff --git a/templates/CESM/2.1.3/cesm.arm.cpu.config b/templates/CESM/2.1.3/cesm.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..4c937c75f0c9dd7c2e4784da4e93a657ae72efb1 --- /dev/null +++ b/templates/CESM/2.1.3/cesm.arm.cpu.config @@ -0,0 +1,93 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +CESM/2.1.3 https://github.com/ESCOMP/CESM/archive/refs/tags/release-cesm2.1.3.tar.gz + +[DEPENDENCY] +set -x +set -e +#yum install perl-XML-LibXML +./jarvis -install kgcc/9.3.1 com +./jarvis -install bisheng/2.5.0 com +module purge +module use ./software/modulefiles +module load kgcc/9.3.1 +./jarvis -install kml/1.6.0/gcc gcc +module load bisheng/2.5.0 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +./jarvis -install hmpi/1.2.0 bisheng +module load hmpi/1.2.0 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort +./jarvis -install hdf5/1.12.0/clang clang+mpi +module load hdf5-clang/1.12.0 +./jarvis -install pnetcdf/1.12.1 clang+mpi +module load pnetcdf/1.12.1 +if [ $HDF5_CLANG_PATH ];then + echo $HDF5_CLANG_PATH +else + echo "HDF5 is not exists" + exit 1 +fi +./jarvis -install netcdf/4.8.1/clang clang+mpi +#tar -xzvf $JARVIS_DOWNLOAD/release-cesm2.1.3.tar.gz + +[ENV] +module purge +module use software/modulefiles +module use software/moduledeps +module load bisheng/2.5.0 +module load hmpi/1.2.0 +module load hdf5-clang/1.12.0 +module load pnetcdf/1.12.1 +module load netcdf-clang/4.8.1 +module load kgcc/9.3.1 +module load kml-gcc/1.6.0 +export NETCDF_PATH=${NETCDF_CLANG_PATH} +export case_name=fangesm14 +export LD_LIBRARY_PATH=$KML_GCC_PATH/lib/kblas/omp:$LD_LIBRARY_PATH + +[APP] +app_name = CESM +build_dir = $JARVIS_ROOT/CESM-release-cesm2.1.3 +binary_dir = +case_dir = $JARVIS_ROOT/CESM-release-cesm2.1.3/cime/scripts + +[BUILD] +set -e +set -x +#./manage_externals/checkout_externals +#./manage_externals/checkout_externals -S +cd cime/scripts + +#rm -rf $case_name +./create_newcase --case $case_name --compset F2000climo --res f09_f09_mg17 --mach openeuler --compiler gnu +cd $case_name +./xmlchange NTASKS=128,NTHRDS=1,ROOTPE=0 +./case.setup +#./check_case +#不加download表示查看所有缺失文件 +#./check_input_data --download +#./xmlchange STOP_OPTION=nhours,STOP_N=1 +#./xmlchange DOUT_S=FALSE +#./xmlchange NTASKS_ATM=208,NTASKS_CPL=208,NTASKS_OCN=208,NTASKS_WAV=208,NTASKS_GLC=208,NTASKS_ICE=208,NTASKS_ROF=208,NTASKS_LND=208,NTASKS_ESP=1 +#./case.setup --reset +./case.build + +[CLEAN] +cd cime/scripts/$case_name +#如果修改env_build.xml +#./case.build --clean +#如果修改config_machines/config_compilers +./case.build --clean-all + +[RUN] +run = rm -rf cesm_* && chmod +x run.sh && dsub -s run.sh +#run = cd $case_name && ./case.submit +binary = +nodes = 1 + +[BATCH] +#! /bin/bash diff --git a/templates/CESM/2.1.3/config_compilers.xml b/templates/CESM/2.1.3/config_compilers.xml new file mode 100644 index 0000000000000000000000000000000000000000..a29bf79685bbe9f4df99dfbeffed010988628e52 --- /dev/null +++ b/templates/CESM/2.1.3/config_compilers.xml @@ -0,0 +1,57 @@ + + + + + + -std=gnu99 -O3 -mcpu=tsv110 + -fopenmp + -mllvm -alias-set-saturation-threshold=10000 + -mllvm -alias-set-saturation-threshold=10000 + + + + -DFORTRANUNDERSCORE -DNO_R16 -DCPRGNU + + FORTRAN + + -fdefault-real-8 + + + + -mno-fcmla -fconvert=big-endian -O3 -mcpu=tsv110 -Hx,54,0x08 -Hx,54,0x800 -Mx,54,0x1000 -mllvm -alias-set-saturation-threshold=10000 -lstringlib -Wl,--wrap=memcpy -Wl,--wrap=memset -I$ENV{NETCDF_CLANG_PATH}/include -I$ENV{PNETCDF_PATH}/include -I$ENV{HDF5_CLANG_PATH}/include -I$ENV{KML_GCC_PATH}/include -I./ -I../ + -fopenmp + + -g + + + + -O0 + + + -ffixed-form + + + -ffree-form + + FALSE + + -fopenmp -L$ENV{NETCDF_CLANG_PATH}/lib -L$ENV{PNETCDF_PATH}/lib -L$ENV{HDF5_CLANG_PATH}/lib -L$ENV{KML_GCC_PATH}/lib -L$ENV{KML_GCC_PATH}/lib/kblas/omp -lkblas -lklapack_full -lnetcdff -lnetcdf -lpnetcdf -lhdf5_hl -lhdf5 -lm -lz + + mpicc + mpicxx + mpif90 + clang + clang++ + flang + TRUE + + -L$ENV{NETCDF_CLANG_PATH}/lib -L$ENV{PNETCDF_PATH}/lib -L$ENV{HDF5_CLANG_PATH}/lib -L$ENV{KML_GCC_PATH}/lib -L$ENV{KML_GCC_PATH}/lib/kblas/omp -lkblas -lklapack_full -lnetcdff -lnetcdf -lpnetcdf -lhdf5_hl -lhdf5 -lm -lz + + + + diff --git a/templates/CESM/2.1.3/config_machines.xml b/templates/CESM/2.1.3/config_machines.xml new file mode 100644 index 0000000000000000000000000000000000000000..26071f89003df068dc14881e5803f727b7285d2e --- /dev/null +++ b/templates/CESM/2.1.3/config_machines.xml @@ -0,0 +1,70 @@ + + + + + + + Example port to centos7 linux system with gcc, netcdf, pnetcdf and mpich + using modules from http://www.admin-magazine.com/HPC/Articles/Environment-Modules + + DC5-19-002 + LINUX + https://howto.get.out + gnu + openmpi + none + + $ENV{HOME}/cesm/scratch + $ENV{HOME}/cesm/inputdata + $ENV{HOME}/cesm/inputdata/lmwg + $ENV{HOME}/cesm/archive/$CASE + $ENV{HOME}/cesm/cesm_baselines + $ENV{HOME}/cesm/tools/cime/tools/cprnc/cprnc + make + 8 + none + me@my.address + 128 + 128 + FALSE + + mpirun + + -np {{ total_tasks }} -hostfile $ENV{HOSTFILE} + + + + /usr/share/Modules/init/perl.pm + /usr/share/Modules/init/python.py + /usr/share/Modules/init/csh + /usr/share/Modules/init/sh + /usr/bin/modulecmd perl + /usr/bin/modulecmd python + module + module + + + + + $ENV{JARVIS_MODULES}/bisheng/2.5.0 + $ENV{JARVIS_MODULES}/kgcc/9.3.1 + $ENV{JARVIS_MODULEDEPS}/bisheng2.5.0/hmpi/1.2.0 + $ENV{JARVIS_MODULEDEPS}/bisheng2.5.0-hmpi1.2.0/netcdf-clang/4.8.1 + $ENV{JARVIS_MODULEDEPS}/bisheng2.5.0-hmpi1.2.0/pnetcdf/1.12.1 + $ENV{JARVIS_MODULEDEPS}/bisheng2.5.0-hmpi1.2.0/hdf5-clang/1.12.0 + $ENV{JARVIS_MODULEDEPS}/kgcc9.3.1/kml-gcc/1.6.0 + + + + 256M + + + -1 + + + + ${EXEROOT}/cesm.exe + >> cesm.log.$LID 2>&1 + + + diff --git a/templates/CESM/2.1.3/run.sh b/templates/CESM/2.1.3/run.sh new file mode 100644 index 0000000000000000000000000000000000000000..5c1be08a119de22b13e98066e10389a1efbcdcb9 --- /dev/null +++ b/templates/CESM/2.1.3/run.sh @@ -0,0 +1,42 @@ +#!/bin/bash +#DSUB -n cesm-1n +#DSUB --job_type cosched +#DSUB -N 1 +#DSUB -R "cpu=128;mem=512000" +#DSUB -A root.migration +#DSUB -q root.default +#DSUB -o cesm_%J.log +#DSUB -e cesm_err_%J.log + +echo ----- print env vars ----- +if [ "${CCSCHEDULER_ALLOC_FILE}" != "" ]; then + echo " " + ls -la ${CCSCHEDULER_ALLOC_FILE} + echo ------ cat ${CCSCHEDULER_ALLOC_FILE} + cat ${CCSCHEDULER_ALLOC_FILE} +fi + +export HOSTFILE=/tmp/hostfile.$$ +rm -rf $HOSTFILE +touch $HOSTFILE +ntask=`cat ${CCSCHEDULER_ALLOC_FILE} | sort | awk -v fff="$HOSTFILE" '{} +{ + split($0, a, " ") + if (length(a[1]) >0 && length(a[3]) >0) { + print a[1]" slots="a[2] >> fff + total_task+=a[2] + } +}END{print total_task}'` +echo "openmpi hostfile $HOSTFILE generated:" +echo "-----------------------" +cat $HOSTFILE +echo "-----------------------" +echo "Total tasks is $ntask" +echo "mpirun -hostfile $HOSTFILE -n $ntask " + +date +echo $LD_LIBRARY_PATH +cd $case_name +./case.submit +date +exit 0 diff --git a/templates/ImageMagick/7.1.0/data.ImageMagick.arm.cpu.config b/templates/ImageMagick/7.1.0/data.ImageMagick.arm.cpu.config index 5f21c4783f63f88e87eb2e296032be9ee9cb3a09..b65b660213ba683711e2524200c9909f5e194e32 100644 --- a/templates/ImageMagick/7.1.0/data.ImageMagick.arm.cpu.config +++ b/templates/ImageMagick/7.1.0/data.ImageMagick.arm.cpu.config @@ -26,4 +26,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/R/3.6.3/data.R.arm.bisheng.config b/templates/R/3.6.3/data.R.arm.bisheng.config index 04d2ed54b4dfdae28273b69ef93100e7b11ca171..6a220db24e913817082bf644140130ec535bac36 100644 --- a/templates/R/3.6.3/data.R.arm.bisheng.config +++ b/templates/R/3.6.3/data.R.arm.bisheng.config @@ -25,4 +25,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/SPECFEM3D_GLOBE/7.0.0/data.SPECFEM3D_GLOBE.arm.cpu.config b/templates/SPECFEM3D_GLOBE/7.0.0/data.SPECFEM3D_GLOBE.arm.cpu.config index 2cd87d545492de5a3a6781ed12df880f8ac714c8..8e024495cbf3c540085f2ac65f49b5dd3605b939 100644 --- a/templates/SPECFEM3D_GLOBE/7.0.0/data.SPECFEM3D_GLOBE.arm.cpu.config +++ b/templates/SPECFEM3D_GLOBE/7.0.0/data.SPECFEM3D_GLOBE.arm.cpu.config @@ -38,5 +38,5 @@ make -j [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/SU2/7.0.4/data.SU2.arm.cpu.config b/templates/SU2/7.0.4/data.SU2.arm.cpu.config index 027b9756404084b5a7373b6085ea1fdad44d8db0..fd353173e94a8be74c27c50a446868d616190688 100644 --- a/templates/SU2/7.0.4/data.SU2.arm.cpu.config +++ b/templates/SU2/7.0.4/data.SU2.arm.cpu.config @@ -40,5 +40,5 @@ make install [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/automake/1.16.5/data.automake.arm.bisheng.config b/templates/automake/1.16.5/data.automake.arm.bisheng.config index b3f4604bd490928a66c7557b044fe9b39c9d023f..fe423932e2f9c9831d82536976dd042b1740e1e3 100644 --- a/templates/automake/1.16.5/data.automake.arm.bisheng.config +++ b/templates/automake/1.16.5/data.automake.arm.bisheng.config @@ -22,4 +22,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/bedtools/2.28.0/data.bedtools.arm.cpu.config b/templates/bedtools/2.28.0/data.bedtools.arm.cpu.config index 8b55d6a908b2fe27f7d5532832862e204dba31a4..37c3ad670822b6fb4ce2736ec0a112966c00aaa4 100644 --- a/templates/bedtools/2.28.0/data.bedtools.arm.cpu.config +++ b/templates/bedtools/2.28.0/data.bedtools.arm.cpu.config @@ -30,5 +30,5 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/blas/3.10.0/data.blas.arm.bisheng.config b/templates/blas/3.10.0/data.blas.arm.bisheng.config index a1337a956b41af0320f59c9593adc2520a90fa49..147456d99bbf10abf14dc9e9a23146b06d785bae 100644 --- a/templates/blas/3.10.0/data.blas.arm.bisheng.config +++ b/templates/blas/3.10.0/data.blas.arm.bisheng.config @@ -26,4 +26,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/blast/2.13.0/data.blast.arm.cpu.config b/templates/blast/2.13.0/data.blast.arm.cpu.config index a325632fa432ec1643ca79a2564eb5ffba1537c2..a986bfb1b2131ac041e2a6c017116c9414888b8b 100644 --- a/templates/blast/2.13.0/data.blast.arm.cpu.config +++ b/templates/blast/2.13.0/data.blast.arm.cpu.config @@ -43,5 +43,5 @@ make all_r -j40 [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/boost/1.72.0/data.boost.arm.cpu.config b/templates/boost/1.72.0/data.boost.arm.cpu.config index 9db9d71e0ec91dface90270b3dc78c337ae1b7a1..437af6d8b12290c49e951633be1c8a949a1330ed 100644 --- a/templates/boost/1.72.0/data.boost.arm.cpu.config +++ b/templates/boost/1.72.0/data.boost.arm.cpu.config @@ -22,5 +22,5 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/bwa/0.7.17/data.bwa.arm.cpu.config b/templates/bwa/0.7.17/data.bwa.arm.cpu.config index f3ba2ce7cc269d8d55b62dce00001242cf2f9ad4..99395256c017f4430a2da032286d8bb26b04de48 100644 --- a/templates/bwa/0.7.17/data.bwa.arm.cpu.config +++ b/templates/bwa/0.7.17/data.bwa.arm.cpu.config @@ -44,4 +44,4 @@ rm -rf ${bisheng_includedir}/SSE2NEON.h [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/calculix/2.19.0/data.calculix.arm.cpu.config b/templates/calculix/2.19.0/data.calculix.arm.cpu.config index f6922fbcd2ce754cd6e30582b03d290d9faa7407..a0530fd138d073eb874f5c4475082be6523bf764 100644 --- a/templates/calculix/2.19.0/data.calculix.arm.cpu.config +++ b/templates/calculix/2.19.0/data.calculix.arm.cpu.config @@ -61,5 +61,5 @@ make -j [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/ctffind/4.1.14/data.ctffind.arm.cpu.config b/templates/ctffind/4.1.14/data.ctffind.arm.cpu.config index 533dfc0b0340af7bcb28aafd37aa948891142904..dc1360e076699adbced6abac423e28c9a54abbc6 100644 --- a/templates/ctffind/4.1.14/data.ctffind.arm.cpu.config +++ b/templates/ctffind/4.1.14/data.ctffind.arm.cpu.config @@ -33,4 +33,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/curl/7.82.0/data.curl.arm.cpu.config b/templates/curl/7.82.0/data.curl.arm.cpu.config index 93069c470db626cb384008755810c981a9844a81..c9948a1032f3eb1e90f0d2e44b31a376f6543e7a 100644 --- a/templates/curl/7.82.0/data.curl.arm.cpu.config +++ b/templates/curl/7.82.0/data.curl.arm.cpu.config @@ -27,7 +27,7 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/fftw/3.3.8/data.fftw.arm.cpu.config b/templates/fftw/3.3.8/data.fftw.arm.cpu.config index d374be17be70b50f9cab9fb873476e33ab3b421a..af432bed580c44fe8ae115e63f2c459389d80d22 100644 --- a/templates/fftw/3.3.8/data.fftw.arm.cpu.config +++ b/templates/fftw/3.3.8/data.fftw.arm.cpu.config @@ -30,4 +30,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/gatk/4.0.0.0/data.gatk.arm.cpu.config b/templates/gatk/4.0.0.0/data.gatk.arm.cpu.config index 888651bd184b6cd7879234b8f2b2102f56c132c6..731dfb95612943471a97d4501e102dd2511e5e81 100644 --- a/templates/gatk/4.0.0.0/data.gatk.arm.cpu.config +++ b/templates/gatk/4.0.0.0/data.gatk.arm.cpu.config @@ -25,4 +25,4 @@ unzip ${JARVIS_DOWNLOAD}/gatk-4.0.0.0.zip -d $JARVIS_ROOT/software/apps/bisheng [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/gatk/4.0.0.0/data.gatk.arm.cpu.config.bak b/templates/gatk/4.0.0.0/data.gatk.arm.cpu.config.bak index ac4e10a117cc7f339098db88cfef99bb54c64326..4c73d65c276fa34cef8d3a32a4a3ecc659bf0c19 100644 --- a/templates/gatk/4.0.0.0/data.gatk.arm.cpu.config.bak +++ b/templates/gatk/4.0.0.0/data.gatk.arm.cpu.config.bak @@ -24,4 +24,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/git/2.35.1/data.git.arm.bisheng.config b/templates/git/2.35.1/data.git.arm.bisheng.config index e3e652dd6b4ee1f8f7c21bc6842a560512d08443..210b11de7ce6f4396c94b70ae708dc591646891e 100644 --- a/templates/git/2.35.1/data.git.arm.bisheng.config +++ b/templates/git/2.35.1/data.git.arm.bisheng.config @@ -25,4 +25,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/grads/2.0.a4/data.grads.arm.cpu.config b/templates/grads/2.0.a4/data.grads.arm.cpu.config index 79c29b132bf0832862d5f9add7d929f67b5d7290..14599bf542566c2c77ee771cb053e229b0fc1d8a 100644 --- a/templates/grads/2.0.a4/data.grads.arm.cpu.config +++ b/templates/grads/2.0.a4/data.grads.arm.cpu.config @@ -29,4 +29,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/grib_api/1.21.0/data.grib_api.arm.cpu.config b/templates/grib_api/1.21.0/data.grib_api.arm.cpu.config index c2287d224dcd47b65b3e0739b5ced84fd2ce4999..1dbe7087e672d76c57cc805f2c7c4dfeb7dd97ef 100644 --- a/templates/grib_api/1.21.0/data.grib_api.arm.cpu.config +++ b/templates/grib_api/1.21.0/data.grib_api.arm.cpu.config @@ -35,4 +35,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/gsl/2.6/data.gsl.arm.cpu.config b/templates/gsl/2.6/data.gsl.arm.cpu.config index c53229e13008d8d74b802368c800730e48d36b4e..fba3fa34d191a51911914e26e98da39adb3b83de 100644 --- a/templates/gsl/2.6/data.gsl.arm.cpu.config +++ b/templates/gsl/2.6/data.gsl.arm.cpu.config @@ -27,4 +27,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/hdf5/1.10.1/data.hdf5.arm.cpu.config b/templates/hdf5/1.10.1/data.hdf5.arm.cpu.config index 6c15a8d65d84e58f840ab0bb67dd2f4a4bab14fd..ea656a3a78f75bd988a320feeb7c947bd3cb369d 100644 --- a/templates/hdf5/1.10.1/data.hdf5.arm.cpu.config +++ b/templates/hdf5/1.10.1/data.hdf5.arm.cpu.config @@ -31,4 +31,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/htslib/1.15/data.htslib.arm.bisheng.config b/templates/htslib/1.15/data.htslib.arm.bisheng.config index bbd60b8008df6ab6089604a0a67a0a3210fd97c3..cc2d5fb4f423adb45006da313a8726939c292338 100644 --- a/templates/htslib/1.15/data.htslib.arm.bisheng.config +++ b/templates/htslib/1.15/data.htslib.arm.bisheng.config @@ -25,4 +25,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/jasper/1.900.2/data.jasper.arm.cpu.config b/templates/jasper/1.900.2/data.jasper.arm.cpu.config index 24db2c3841af265a7901edc337d911f571115739..00d534dac2879bf92af9d40f9a815e077cbe36f6 100644 --- a/templates/jasper/1.900.2/data.jasper.arm.cpu.config +++ b/templates/jasper/1.900.2/data.jasper.arm.cpu.config @@ -27,4 +27,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/lammps/2021.5.27/data.lammps.arm.cpu.config b/templates/lammps/2021.5.27/data.lammps.arm.cpu.config index dbb601a0825f33a55fb049dc52158c2bee47abff..de0198f9e0931eb2dac9bad9a9db0d18b847c1e2 100644 --- a/templates/lammps/2021.5.27/data.lammps.arm.cpu.config +++ b/templates/lammps/2021.5.27/data.lammps.arm.cpu.config @@ -49,5 +49,5 @@ make mpi -j [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/lapack/3.8.0/data.lapack.arm.cpu.config b/templates/lapack/3.8.0/data.lapack.arm.cpu.config index b588582a320f8e2f31df4fc12987f60344d9608e..1d9712fa64b6a8af91eefbaba251280fa49a895b 100644 --- a/templates/lapack/3.8.0/data.lapack.arm.cpu.config +++ b/templates/lapack/3.8.0/data.lapack.arm.cpu.config @@ -26,4 +26,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/libjpeg/v7/data.libjpeg.arm.cpu.config b/templates/libjpeg/v7/data.libjpeg.arm.cpu.config index 39a86ed0a4a8923b8d04969103c550ae281adbe4..21eddf375b43955f63fc5c446df88336157027c2 100644 --- a/templates/libjpeg/v7/data.libjpeg.arm.cpu.config +++ b/templates/libjpeg/v7/data.libjpeg.arm.cpu.config @@ -22,5 +22,5 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/libpng/1.6.37/data.libpng.arm.cpu.config b/templates/libpng/1.6.37/data.libpng.arm.cpu.config index 590405e6a729c486896b406fdd0012e007f294d8..53e098a9572c4a5c065242f444413b87ac2a244c 100644 --- a/templates/libpng/1.6.37/data.libpng.arm.cpu.config +++ b/templates/libpng/1.6.37/data.libpng.arm.cpu.config @@ -22,5 +22,5 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/libxc/5.1.4/data.libxc.arm.cpu.config b/templates/libxc/5.1.4/data.libxc.arm.cpu.config index 053f6e3898ec8e52717476671cca8d4442f22896..f217b99289c5e9f20a32b6b208a93946e1fe0f25 100644 --- a/templates/libxc/5.1.4/data.libxc.arm.cpu.config +++ b/templates/libxc/5.1.4/data.libxc.arm.cpu.config @@ -26,4 +26,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/miniFE/2.2.0/data.miniFE.arm.cpu.config b/templates/miniFE/2.2.0/data.miniFE.arm.cpu.config index c8e5ad3e188e05aa18e790e26d713c8c2d445ac6..3018548abd91ec911e2334027efa6a612591858f 100644 --- a/templates/miniFE/2.2.0/data.miniFE.arm.cpu.config +++ b/templates/miniFE/2.2.0/data.miniFE.arm.cpu.config @@ -35,5 +35,5 @@ make -j [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/netcdf/4.7.0/data.netcdf.arm.cpu.config b/templates/netcdf/4.7.0/data.netcdf.arm.cpu.config index adb741dd86c6281835dbb3cf8f20a114d379cf28..4b55e3fd4a61d67aff65b9cd074937bdfc030943 100644 --- a/templates/netcdf/4.7.0/data.netcdf.arm.cpu.config +++ b/templates/netcdf/4.7.0/data.netcdf.arm.cpu.config @@ -32,4 +32,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/nwchem/6.8.1/data.nwchem.arm.cpu.config b/templates/nwchem/6.8.1/data.nwchem.arm.cpu.config index 20700eff7b5d13ea3cb7211cfd22c171180346a9..d9cc4010d979e3d65d48d991413614080ca7b3a6 100644 --- a/templates/nwchem/6.8.1/data.nwchem.arm.cpu.config +++ b/templates/nwchem/6.8.1/data.nwchem.arm.cpu.config @@ -47,5 +47,5 @@ make FC=flang [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/octave/6.4.0/data.octave.arm.cpu.config b/templates/octave/6.4.0/data.octave.arm.cpu.config index 24dc6af3b47c984983a9a6bf6d9bbf80febf8a10..694a9581234d557a967517f0465bdd6ac5949446 100644 --- a/templates/octave/6.4.0/data.octave.arm.cpu.config +++ b/templates/octave/6.4.0/data.octave.arm.cpu.config @@ -42,5 +42,5 @@ make install [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/octopus/10.3/data.octopus.arm.kpgcc.cpu.config b/templates/octopus/10.3/data.octopus.arm.kpgcc.cpu.config index cf18e0dc0ea53cecacf298c9b9fc5e6aa17bf575..30c925e37e1223ef5759c922ba46ed48bd8b0440 100644 --- a/templates/octopus/10.3/data.octopus.arm.kpgcc.cpu.config +++ b/templates/octopus/10.3/data.octopus.arm.kpgcc.cpu.config @@ -59,5 +59,5 @@ make install [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/opencv/4.5.5/data.opencv.arm.cpu.config b/templates/opencv/4.5.5/data.opencv.arm.cpu.config index 63b09e060dfe8496c6af5f4dcad347e9c5be5f19..d806ba78aa46e8574e5eba2acc310fde26fd7aa6 100644 --- a/templates/opencv/4.5.5/data.opencv.arm.cpu.config +++ b/templates/opencv/4.5.5/data.opencv.arm.cpu.config @@ -27,4 +27,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/openjpeg/2.4.0/data.openjpeg.arm.cpu.config b/templates/openjpeg/2.4.0/data.openjpeg.arm.cpu.config index c60e5fe7bf3cc55aebb757b1f13c87a8fde18f4f..5dd028b75f901ba7b7bf2b98f281c716d6d68e3d 100644 --- a/templates/openjpeg/2.4.0/data.openjpeg.arm.cpu.config +++ b/templates/openjpeg/2.4.0/data.openjpeg.arm.cpu.config @@ -27,4 +27,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/picard/2.27.0/data.picard.arm.cpu.config b/templates/picard/2.27.0/data.picard.arm.cpu.config index 40095089eb52e66253876e11626c01c09fc60a70..e4615c4989ca6a2b5fc5311a4086351a9f70aacd 100644 --- a/templates/picard/2.27.0/data.picard.arm.cpu.config +++ b/templates/picard/2.27.0/data.picard.arm.cpu.config @@ -27,5 +27,5 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/pnetcdf/1.11.2/data.pnetcdf.arm.cpu.config b/templates/pnetcdf/1.11.2/data.pnetcdf.arm.cpu.config index 99aac606505e57dddae3713dc94e5606d623b031..863632b6d89d74a63f84c93f5b72cea4eeefa271 100644 --- a/templates/pnetcdf/1.11.2/data.pnetcdf.arm.cpu.config +++ b/templates/pnetcdf/1.11.2/data.pnetcdf.arm.cpu.config @@ -31,7 +31,7 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/python3/3.7.10/data.python3.arm.bisheng.config b/templates/python3/3.7.10/data.python3.arm.bisheng.config index 8d35c3a30c33d92af971e94aa2f793f7bfa728e8..463af93100edb0cd5d641da6db73b3afcb94a588 100644 --- a/templates/python3/3.7.10/data.python3.arm.bisheng.config +++ b/templates/python3/3.7.10/data.python3.arm.bisheng.config @@ -25,4 +25,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/relion/3.1.2/data.relion.arm.cpu.config b/templates/relion/3.1.2/data.relion.arm.cpu.config index e6b70262372d1a85d4b8d9a6b2c9554ddda68aff..094ff58fafd7709941784d7f82c1ad7e6b451d56 100644 --- a/templates/relion/3.1.2/data.relion.arm.cpu.config +++ b/templates/relion/3.1.2/data.relion.arm.cpu.config @@ -47,4 +47,4 @@ make install [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/roms/4.0/Linux-flang.mk b/templates/roms/4.0/Linux-flang.mk new file mode 100644 index 0000000000000000000000000000000000000000..fd9cb1423e47b93c15719ee8ad034b39c8fcb992 --- /dev/null +++ b/templates/roms/4.0/Linux-flang.mk @@ -0,0 +1,334 @@ +# svn $Id: Linux-gfortran.mk 1064 2021-05-10 19:55:56Z arango $ +#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +# Copyright (c) 2002-2021 The ROMS/TOMS Group ::: +# Licensed under a MIT/X style license ::: +# See License_ROMS.txt ::: +#:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +# +# Include file for GNU Fortran compiler on Linux +# ------------------------------------------------------------------------- +# +# ARPACK_LIBDIR ARPACK libary directory +# FC Name of the fortran compiler to use +# FFLAGS Flags to the fortran compiler +# CPP Name of the C-preprocessor +# CPPFLAGS Flags to the C-preprocessor +# HDF5_INCDIR HDF5 include directory +# HDF5_LIBDIR HDF5 library directory +# HDF5_LIBS HDF5 library switches +# LIBS Required libraries during linking +# NF_CONFIG NetCDF Fortran configuration script +# NETCDF_INCDIR NetCDF include directory +# NETCDF_LIBDIR NetCDF library directory +# NETCDF_LIBS NetCDF library switches +# LD Program to load the objects into an executable +# LDFLAGS Flags to the loader +# RANLIB Name of ranlib command +# MDEPFLAGS Flags for sfmakedepend (-s if you keep .f files) +# +# First the defaults +# + FC := mpifort + FFLAGS := -frepack-arrays -fvectorize -funroll-loops -mllvm -unroll-indirect-loads=true -mcpu=tsv110 -mllvm -prefetch-loop-depth=3 -mllvm -min-prefetch-stride=4 -mllvm -prefetch-distance=1600 -fstack-arrays -lstringlib -Wl,--wrap=memset -Wl,--wrap=memcpy -ljemalloc + FIXEDFLAGS := -ffixed-form + FREEFLAGS := -ffree-form -ffree-line-length-none + CPP := /usr/bin/cpp + CPPFLAGS := -P -traditional -w # -w turns of warnings + INCDIR := /usr/include /usr/local/bin + SLIBS := -L/usr/local/lib -L/usr/lib -L/usr/lib64 + ULIBS := + LIBS := $(SCRATCH_DIR)/libNLM.a # cyclic dependencies + MOD_SUFFIX := mod + LD := $(FC) + LDFLAGS := -lstringlib -Wl,--wrap=memset -Wl,--wrap=memcpy -ljemalloc + AR := ar + ARFLAGS := -r + MKDIR := mkdir -p + CP := cp -p -v + RM := rm -f + RANLIB := ranlib + PERL := perl + TEST := test + +#-------------------------------------------------------------------------- +# Compiling flags for ROMS Applications. +#-------------------------------------------------------------------------- + +ifdef USE_ROMS + ifdef USE_DEBUG + FFLAGS += -g -O0 + FFLAGS += -fbounds-check + FFLAGS += -fbacktrace + FFLAGS += -fcheck=all + FFLAGS += -fsanitize=address -fsanitize=undefined + FFLAGS += -finit-real=nan -ffpe-trap=invalid,zero,overflow + else + FFLAGS += -O3 + FFLAGS += -ffast-math + endif + MDEPFLAGS := --cpp --fext=f90 --file=- --objdir=$(SCRATCH_DIR) +endif + +#-------------------------------------------------------------------------- +# Compiling flags for CICE Applications. +#-------------------------------------------------------------------------- + +ifdef CICE_APPLICATION + CPPDEFS := -DLINUS $(MY_CPP_FLAGS) + ifdef USE_DEBUG + FFLAGS += -g + FFLAGS += -fbounds-check +# FFLAGS += -fcheck=all + FFLAGS += -fsanitize=address -fsanitize=undefined + else + FFLAGS := -O3 -w + endif +endif + +#-------------------------------------------------------------------------- +# Coupled models. Notice Linux needs the libraries repeated for +# dependencies for some of the coupled components. +#-------------------------------------------------------------------------- + +ifdef USE_COAMPS + LIBS += $(COAMPS_LIB_DIR)/coamps_driver.a + LIBS += $(COAMPS_LIB_DIR)/libaa.a + LIBS += $(COAMPS_LIB_DIR)/libam.a + LIBS += $(COAMPS_LIB_DIR)/libashare.a + LIBS += $(COAMPS_LIB_DIR)/libcoamps.a + LIBS += $(COAMPS_LIB_DIR)/libfnoc.a + LIBS += $(COAMPS_LIB_DIR)/libaa.a + LIBS += $(COAMPS_LIB_DIR)/libam.a + LIBS += $(COAMPS_LIB_DIR)/libashare.a + LIBS += $(COAMPS_LIB_DIR)/libcoamps.a + LIBS += $(COAMPS_LIB_DIR)/libfnoc.a + LIBS += $(COAMPS_LIB_DIR)/libfishpak.a + LIBS += $(COAMPS_LIB_DIR)/libtracer.a +endif + +ifdef CICE_APPLICATION + SLIBS += $(SLIBS) $(LIBS) +endif + +ifdef USE_WRF + ifeq "$(strip $(WRF_LIB_DIR))" "$(WRF_SRC_DIR)" + LIBS += $(WRF_LIB_DIR)/main/module_wrf_top.o + LIBS += $(WRF_LIB_DIR)/main/libwrflib.a + LIBS += $(WRF_LIB_DIR)/external/fftpack/fftpack5/libfftpack.a + LIBS += $(WRF_LIB_DIR)/external/io_grib1/libio_grib1.a + LIBS += $(WRF_LIB_DIR)/external/io_grib_share/libio_grib_share.a + LIBS += $(WRF_LIB_DIR)/external/io_int/libwrfio_int.a + LIBS += $(WRF_LIB_DIR)/external/esmf_time_f90/libesmf_time.a + LIBS += $(WRF_LIB_DIR)/external/RSL_LITE/librsl_lite.a + LIBS += $(WRF_LIB_DIR)/frame/module_internal_header_util.o + LIBS += $(WRF_LIB_DIR)/frame/pack_utils.o + LIBS += $(WRF_LIB_DIR)/external/io_netcdf/libwrfio_nf.a + WRF_MOD_DIRS = main frame phys share external/esmf_time_f90 + else + LIBS += $(WRF_LIB_DIR)/module_wrf_top.o + LIBS += $(WRF_LIB_DIR)/libwrflib.a + LIBS += $(WRF_LIB_DIR)/libfftpack.a + LIBS += $(WRF_LIB_DIR)/libio_grib1.a + LIBS += $(WRF_LIB_DIR)/libio_grib_share.a + LIBS += $(WRF_LIB_DIR)/libwrfio_int.a + LIBS += $(WRF_LIB_DIR)/libesmf_time.a + LIBS += $(WRF_LIB_DIR)/librsl_lite.a + LIBS += $(WRF_LIB_DIR)/module_internal_header_util.o + LIBS += $(WRF_LIB_DIR)/pack_utils.o + LIBS += $(WRF_LIB_DIR)/libwrfio_nf.a + endif +endif + +#-------------------------------------------------------------------------- +# Library locations, can be overridden by environment variables. +#-------------------------------------------------------------------------- + + LDFLAGS := $(FFLAGS) + +ifdef USE_PIO + PIO_INCDIR ?= /opt/gfortransoft/openmpi/pio/include + PIO_LIBDIR ?= /opt/gfortransoft/openmpi/pio/lib + FFLAGS += -I$(PIO_INCDIR) + LIBS += -L$(PIO_LIBDIR) -lpiof -lpioc + + PNETCDF_INCDIR ?= /opt/gfortransoft/openmpi/pnetcdf/include + PNETCDF_LIBDIR ?= /opt/gfortransoft/openmpi/pnetcdf/lib + FFLAGS += -I$(PNETCDF_INCDIR) + LIBS += -L$(PNETCDF_LIBDIR) -lpnetcdf +endif + +ifdef USE_SCORPIO + PIO_INCDIR ?= /opt/gfortransoft/openmpi/scorpio/include + PIO_LIBDIR ?= /opt/gfortransoft/openmpi/scorpio/lib + FFLAGS += -I$(PIO_INCDIR) + LIBS += -L$(PIO_LIBDIR) -lpiof -lpioc + + PNETCDF_INCDIR ?= /opt/intelsoft/openmpi/pnetcdf/include + PNETCDF_LIBDIR ?= /opt/intelsoft/openmpi/pnetcdf/lib + FFLAGS += -I$(PNETCDF_INCDIR) + LIBS += -L$(PNETCDF_LIBDIR) -lpnetcdf +endif + +ifdef USE_NETCDF4 + NF_CONFIG ?= nf-config + NETCDF_INCDIR ?= $(shell $(NF_CONFIG) --prefix)/include + LIBS += $(shell $(NF_CONFIG) --flibs) + INCDIR += $(NETCDF_INCDIR) $(INCDIR) +else + NETCDF_INCDIR ?= /opt/gfortransoft/serial/netcdf3/include + NETCDF_LIBDIR ?= /opt/gfortransoft/serial/netcdf3/lib + NETCDF_LIBS ?= -lnetcdf + LIBS += -L$(NETCDF_LIBDIR) $(NETCDF_LIBS) + INCDIR += $(NETCDF_INCDIR) $(INCDIR) +endif + +ifdef USE_HDF5 +# HDF5_INCDIR ?= /opt/gfortransoft/serial/hdf5/include +# HDF5_LIBDIR ?= /opt/gfortransoft/serial/hdf5/lib + HDF5_INCDIR ?= $(HDF5_INC) + HDF5_LIBDIR ?= $(HDF5_LIBDIR) + HDF5_LIBS ?= -lhdf5_fortran -lhdf5hl_fortran -lhdf5 -lz + LIBS += -L$(HDF5_LIBDIR) $(HDF5_LIBS) + INCDIR += $(HDF5_INCDIR) +endif + +ifdef USE_ARPACK + ifdef USE_MPI + PARPACK_LIBDIR ?= /opt/gfortransoft/PARPACK + LIBS += -L$(PARPACK_LIBDIR) -lparpack + endif + ARPACK_LIBDIR ?= /opt/gfortransoft/ARPACK + LIBS += -L$(ARPACK_LIBDIR) -larpack +endif + +ifdef USE_MPI + CPPFLAGS += -DMPI + ifdef USE_MPIF90 + FC := mpif90 + else + LIBS += -lfmpi -lmpi + endif +endif + +ifdef USE_OpenMP + CPPFLAGS += -D_OPENMP + FFLAGS += -fopenmp -static-libgcc +# LIBS += -lgomp +endif + +ifdef USE_MCT + MCT_INCDIR ?= /usr/local/mct/include + MCT_LIBDIR ?= /usr/local/mct/lib + FFLAGS += -I$(MCT_INCDIR) + LIBS += -L$(MCT_LIBDIR) -lmct -lmpeu + INCDIR += $(MCT_INCDIR) $(INCDIR) +endif + +ifdef USE_ESMF + ESMF_OS ?= $(OS) + ESMF_SUBDIR := $(ESMF_OS).$(ESMF_COMPILER).$(ESMF_ABI).$(ESMF_COMM).$(ESMF_SITE) + ESMF_MK_DIR ?= $(ESMF_DIR)/lib/lib$(ESMF_BOPT)/$(ESMF_SUBDIR) + include $(ESMF_MK_DIR)/esmf.mk + FFLAGS += $(ESMF_F90COMPILEPATHS) + LIBS += $(ESMF_F90LINKPATHS) $(ESMF_F90ESMFLINKLIBS) +endif + +# Use full path of compiler. + + FC := $(shell which ${FC}) + LD := $(FC) + +#-------------------------------------------------------------------------- +# ROMS specific rules. +#-------------------------------------------------------------------------- + +# Turn off bounds checking for function def_var, as "dimension(*)" +# declarations confuse Gnu Fortran 95 bounds-checking code. + +ifdef USE_ROMS + $(SCRATCH_DIR)/def_var.o: FFLAGS += -fno-bounds-check +endif + +# Allow integer overflow in ran_state.F. This is not allowed +# during -O3 optimization. This option should be applied only for +# Gfortran versions >= 4.2. + +ifdef USE_ROMS + FC_TEST := $(findstring $(shell ${FC} --version | head -1 | \ + awk '{ sub("Fortran 95", "Fortran"); print }' | \ + cut -d " " -f 4 | \ + cut -d "." -f 1-2), \ + 4.0 4.1) + + ifeq "${FC_TEST}" "" + $(SCRATCH_DIR)/ran_state.o: FFLAGS += -fno-strict-overflow + endif +endif + +# Set free form format in some ROMS source files to allow long string for +# local directory and compilation flags inside the code. + +ifdef USE_ROMS + $(SCRATCH_DIR)/mod_ncparam.o: FFLAGS += $(FREEFLAGS) + $(SCRATCH_DIR)/mod_strings.o: FFLAGS += $(FREEFLAGS) + $(SCRATCH_DIR)/analytical.o: FFLAGS += $(FREEFLAGS) + $(SCRATCH_DIR)/biology.o: FFLAGS += $(FREEFLAGS) + + ifdef USE_ADJOINT + $(SCRATCH_DIR)/ad_biology.o: FFLAGS += $(FREEFLAGS) + endif + ifdef USE_REPRESENTER + $(SCRATCH_DIR)/rp_biology.o: FFLAGS += $(FREEFLAGS) + endif + ifdef USE_TANGENT + $(SCRATCH_DIR)/tl_biology.o: FFLAGS += $(FREEFLAGS) + endif +endif + +#-------------------------------------------------------------------------- +# Model coupling specific rules. +#-------------------------------------------------------------------------- + +# Add COAMPS library directory to include path of ESMF coupling files. + +ifdef USE_COAMPS + $(SCRATCH_DIR)/esmf_atm.o: FFLAGS += -I$(COAMPS_LIB_DIR) + $(SCRATCH_DIR)/esmf_esm.o: FFLAGS += -I$(COAMPS_LIB_DIR) +endif + +# Add WRF library directory to include path of ESMF coupling files. + +ifdef USE_WRF + ifeq "$(strip $(WRF_LIB_DIR))" "$(WRF_SRC_DIR)" + $(SCRATCH_DIR)/esmf_atm.o: FFLAGS += $(addprefix -I$(WRF_LIB_DIR)/,$(WRF_MOD_DIRS)) + else + $(SCRATCH_DIR)/esmf_atm.o: FFLAGS += -I$(WRF_LIB_DIR) + endif +endif + +# Supress free format in SWAN source files since there are comments +# beyond column 72. + +ifdef USE_SWAN + $(SCRATCH_DIR)/ocpcre.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/ocpids.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/ocpmix.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swancom1.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swancom2.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swancom3.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swancom4.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swancom5.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swanmain.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swanout1.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swanout2.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swanparll.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swanpre1.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swanpre2.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swanser.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swmod1.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/swmod2.o: FFLAGS += $(FIXEDFLAGS) + $(SCRATCH_DIR)/m_constants.o: FFLAGS += $(FREEFLAGS) + $(SCRATCH_DIR)/m_fileio.o: FFLAGS += $(FREEFLAGS) + $(SCRATCH_DIR)/mod_xnl4v5.o: FFLAGS += $(FREEFLAGS) + $(SCRATCH_DIR)/serv_xnl4v5.o: FFLAGS += $(FREEFLAGS) +endif diff --git a/templates/roms/4.0/roms.arm.cpu.config b/templates/roms/4.0/roms.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..45be9f8611f693b89583d7e8b1df8a0b2738174a --- /dev/null +++ b/templates/roms/4.0/roms.arm.cpu.config @@ -0,0 +1,79 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +ROMS/4.0 https://github.com/kshedstrom/roms/archive/refs/tags/v3.9_cobalt.tar.gz + +[DEPENDENCY] +set -x +set -e +#yum install perl-XML-LibXML +./jarvis -install bisheng/2.5.0 com +module purge +module use ./software/modulefiles +module load bisheng/2.5.0 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +./jarvis -install hmpi/1.2.0 bisheng +module load hmpi/1.2.0 +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort +./jarvis -install hdf5/1.12.0/clang clang+mpi +module load hdf5-clang/1.12.0 +./jarvis -install pnetcdf/1.12.1 clang+mpi +module load pnetcdf/1.12.1 +./jarvis -install package/darshan/3.4 any +if [ $HDF5_CLANG_PATH ];then + echo $HDF5_CLANG_PATH +else + echo "HDF5 is not exists" + exit 1 +fi +./jarvis -install netcdf/4.8.1/clang clang+mpi +module load netcdf-clang/4.8.1 +./jarvis -install pio/2.5.10 clang+mpi +#tar -xzvf $JARVIS_DOWNLOAD/release-cesm2.1.3.tar.gz + +[ENV] +module purge +module use software/modulefiles +module use software/moduledeps +module load bisheng/2.5.0 +module load hmpi/1.2.0 +module load hdf5-clang/1.12.0 +module load pnetcdf/1.12.1 +module load netcdf-clang/4.8.1 +module load pio/2.5.10 +module load darshan/3.4 +export NETCDF_PATH=${NETCDF_CLANG_PATH} +export CC=mpicc CXX=mpicxx FC=mpifort F77=mpifort +#export LD_LIBRARY_PATH=$KML_GCC_PATH/lib/kblas/omp:$LD_LIBRARY_PATH +export DARSHAN_LOG_PATH=./ +export DXT_ENABLE_IO_TRACE=1 +export SRC_DIR=roms_src + +[APP] +app_name = ROMS +build_dir = $JARVIS_ROOT/$SRC_DIR +binary_dir = +case_dir = $JARVIS_ROOT/$SRC_DIR + +[BUILD] +set -e +set -x +chmod +x build_roms.sh +./build_roms.sh -j 8 -noclean + +[CLEAN] +set -e +set -x +chmod +x build_roms.sh +./build_roms.sh -j 8 + +[RUN] +run = chmod +x submit_roms.sh && dsub -s submit_roms.sh +binary = +nodes = 1 + +[BATCH] +#! /bin/bash diff --git a/templates/roms/4.0/submit_roms.sh b/templates/roms/4.0/submit_roms.sh new file mode 100644 index 0000000000000000000000000000000000000000..e88985081bb97257d869db2baf15df1b9408bcc9 --- /dev/null +++ b/templates/roms/4.0/submit_roms.sh @@ -0,0 +1,42 @@ +#!/bin/sh +#=========================================================== +#配置DSUB资源 +#=========================================================== +#DSUB --job_type cosched +#DSUB -n roms_2n +#DSUB -A root.default +#DSUB -q root.default +#DSUB -R cpu=128 +#DSUB -N 4 +#DSUB -oo log/out_%J.log +#DSUB -eo log/err_%J.log + +#=========================================================== +#获得hostfile +#=========================================================== +if [ "${CCS_ALLOC_FILE}" != "" ]; then + cat ${CCS_ALLOC_FILE} +fi + +export HOSTFILE=/tmp/hostfile.$$ +rm -rf $HOSTFILE +touch $HOSTFILE + +ntask=`cat ${CCS_ALLOC_FILE} | awk -v fff="$HOSTFILE" '{} +{ + split($0, a, " ") + if (length(a[1]) >0 && length(a[3]) >0) { + print a[1]" slots="a[2] >> fff + total_task+=a[3] + } +}END{print total_task}'` + +echo "HOSTFILE: $HOSTFILE generated:" +cat $HOSTFILE +echo "-----------------------" +echo "Total tasks is $ntask" +#=========================================================== +#运行测试脚本 +#=========================================================== + +mpirun -hostfile $HOSTFILE --mca plm_rsh_agent /opt/batch/agent/tools/dstart -mca pml ucx -x UCX_NET_DEVICES=mlx5_0:1 -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm,rc -x PATH -x LD_LIBRARY_PATH --bind-to numa -x OMP_NUM_THREADS=1 -np 256 -N 64 ./romsM ocean_cold_start.in \ No newline at end of file diff --git a/templates/samtools/1.15/data.samtools.arm.bisheng.config b/templates/samtools/1.15/data.samtools.arm.bisheng.config index 52b1b0aefa80f9ed3086028ca3cc8a437b735bf9..18fcadfc2bca879267dc92a1c2859d2724a486a9 100644 --- a/templates/samtools/1.15/data.samtools.arm.bisheng.config +++ b/templates/samtools/1.15/data.samtools.arm.bisheng.config @@ -25,4 +25,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/scalapack/2.1.0/data.scalapack.arm.cpu.config b/templates/scalapack/2.1.0/data.scalapack.arm.cpu.config index 3f8d4b7bb4925c5582df316ef367f27a71f6a195..52e6c07a0a845000ea2d5bd34e4960286f06f213 100644 --- a/templates/scalapack/2.1.0/data.scalapack.arm.cpu.config +++ b/templates/scalapack/2.1.0/data.scalapack.arm.cpu.config @@ -31,4 +31,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/siesta/4.0.2/data.siesta.arm.kpgcc.cpu.config b/templates/siesta/4.0.2/data.siesta.arm.kpgcc.cpu.config index 854647416762492ad7069019be7cb40afbd9e6f8..e5b663289d709a3feb74028ab7c6a046320d79a0 100644 --- a/templates/siesta/4.0.2/data.siesta.arm.kpgcc.cpu.config +++ b/templates/siesta/4.0.2/data.siesta.arm.kpgcc.cpu.config @@ -73,5 +73,5 @@ make [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/singularity/3.9.9/data.singularity.arm.cpu.config b/templates/singularity/3.9.9/data.singularity.arm.cpu.config index 59b41cdd2a7d2108e9a5d0a671d5109f32bda86b..daa42d77e9103670174f9a6de36cff8dcf50a45b 100644 --- a/templates/singularity/3.9.9/data.singularity.arm.cpu.config +++ b/templates/singularity/3.9.9/data.singularity.arm.cpu.config @@ -26,5 +26,5 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/szip/2.1.1/data.szip.arm.bisheng.config b/templates/szip/2.1.1/data.szip.arm.bisheng.config index 177af0e526c41c007b4e19b9da3ed27ebfdca8fd..6a41155ea687bcb73d12a8744070614ca044c69f 100644 --- a/templates/szip/2.1.1/data.szip.arm.bisheng.config +++ b/templates/szip/2.1.1/data.szip.arm.bisheng.config @@ -25,4 +25,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/udunits/2.2.28/data.udunits.arm.cpu.config b/templates/udunits/2.2.28/data.udunits.arm.cpu.config index c25e2ce848bd059709df753be9036d6c243f4295..0c672bbfa31469e9615fbb2631da67a80540870b 100644 --- a/templates/udunits/2.2.28/data.udunits.arm.cpu.config +++ b/templates/udunits/2.2.28/data.udunits.arm.cpu.config @@ -29,5 +29,5 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/wxWidgets/3.0.5/data.wxWidgets.arm.cpu.config b/templates/wxWidgets/3.0.5/data.wxWidgets.arm.cpu.config index 8873b920270954e65a2cfea535ecefc2c249fc90..4216c1c63b47fa213555e21b1fbb0b94abf8c86d 100644 --- a/templates/wxWidgets/3.0.5/data.wxWidgets.arm.cpu.config +++ b/templates/wxWidgets/3.0.5/data.wxWidgets.arm.cpu.config @@ -28,4 +28,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1 diff --git a/templates/zlib/1.2.11/data.zlib.arm.cpu.config b/templates/zlib/1.2.11/data.zlib.arm.cpu.config index 389d6b2eba73e88681b398bc7d909e408aff61c2..192b804e8c81488079bd0525332b0a3dcaf746d3 100644 --- a/templates/zlib/1.2.11/data.zlib.arm.cpu.config +++ b/templates/zlib/1.2.11/data.zlib.arm.cpu.config @@ -22,4 +22,4 @@ case_dir = [RUN] run = binary = -node = 1 +nodes = 1