diff --git a/README.md b/README.md index 3a2fa7c62eb661dbca2dca62c35f43a6332ce7fb..f800e160fd5db8e1cb4ac19ef6f9fa35cf6bfc49 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## ***愿景:自动容器化助力极简部署,一站式调优HPC应用*** ![贾维斯](./images/jarvis-logo.png) ### 项目背景 - +# ​ HPC被喻为是IT行业“金字塔上的明珠”,其部署、编译、运行、性能采集分析的门槛非常高,不同的机器上部署HPC应用耗费大量精力,而且很多情况下需要同时部署ARM/X86两套环境进行验证,增加了很多的重复性工作,无法聚焦核心算法优化。 ![贾维斯功能概览](./images/jarvis.png) diff --git a/package/R/4.4.3/install.sh b/package/R/4.4.3/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..4aa0d65db9b53d2941cedf13650591eec6849b60 --- /dev/null +++ b/package/R/4.4.3/install.sh @@ -0,0 +1,11 @@ +#!/bin/bash +. $CHECK_ROOT && yum install -y libXt-devel readline-devel texinfo texlive texlive-inconsolata +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://cloud.r-project.org/src/base/R-4/R-4.4.3.tar.gz +cd ${JARVIS_TMP} +tar -xvf ${JARVIS_DOWNLOAD}/R-4.4.3.tar.gz +cd R-4.4.3 +./configure --prefix=$1 -enable-R-shlib --with-libpng --with-jpeglib +make all -j +make install diff --git a/package/hdf4/4.2.15/bisheng/install.sh b/package/hdf4/4.2.15/bisheng/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..4e6751f827f7f21059b703eae9fef05495f9b51b --- /dev/null +++ b/package/hdf4/4.2.15/bisheng/install.sh @@ -0,0 +1,28 @@ +#!/bin/bash +set -e +. ${DOWNLOAD_TOOL} -u https://support.hdfgroup.org/ftp/HDF/releases/HDF4.2.15/src/hdf-4.2.15.tar.gz +cd ${JARVIS_TMP} +rm -rf hdf-4.2.15 +tar -xvf ${JARVIS_DOWNLOAD}/hdf-4.2.15.tar.gz +cd hdf-4.2.15/ +yum install -y libtirpc-devel +sed -i '974c #if defined(__linux__) && defined __x86_64__ && !( defined SUN) || defined(__aarch64__)' hdf/src/hdfi.h +sed -i '23660a LIBS="$LIBS -ltirpc"' configure +sed -i '23662c CPPFLAGS="$SYSCPPFLAGS -I/usr/include/tirpc"' configure +sed -i 'N; s/\n\(static int32_t \*.*\)/ || defined __aarch64__\n\1/; P; D' mfhdf/libsrc/xdrposix.c +sed -i '/^\.c.lo:/{:a; $!N; /-MT/!ba; s/-MT/-std=c89 &/}' mfhdf/libsrc/Makefile.in +for file in \ + hdf/test/Makefile.in \ + hdf/util/Makefile.in \ + mfhdf/test/Makefile.in \ + mfhdf/ncdump/Makefile.in \ + mfhdf/ncgen/Makefile.in \ + mfhdf/hdfimport/Makefile.in \ + mfhdf/hdiff/Makefile.in +do + sed -i '/^\.c\.o:/{:a; $!N; /-MT/!ba; s/-MT/-std=c89 &/}' "$file" +done +export CC=mpicc CXX=mpicxx FC=mpifort +./configure --prefix=$1 --enable-production --with-zlib=/usr --enable-fortran --enable-hdf4-xdr --disable-shared --build=arm-linux --with-jpeg=${LIBJPEG_PATH} --disable-netcdf CFLAGS="-fPIC -Wno-error=int-conversion" CXXFLAGS="-fPIC" FFLAGS="-fPIC" LDFLAGS="-L/usr/lib64 -ltirpc" CPPFLAGS="-I/usr/include/tirpc" --build=aarch64-unknown-linux-gnu +make -j +make install diff --git a/package/hpckit/2025.3.30/install.sh b/package/hpckit/2025.3.30/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..776f800b21cff5ce294144bb3d2ee4800389857c --- /dev/null +++ b/package/hpckit/2025.3.30/install.sh @@ -0,0 +1,4 @@ +#!/bin/bash +set -e +export hpckit_ver="25.0.0" +../meta.sh $1 \ No newline at end of file diff --git a/package/udunits/2.2.28/install.sh b/package/udunits/2.2.28/install.sh index da426de3d09e9ba833717de304d506c69ff9e0a4..15ec82231bf32eb9754bb6576d64d4788181b199 100644 --- a/package/udunits/2.2.28/install.sh +++ b/package/udunits/2.2.28/install.sh @@ -1,11 +1,12 @@ #!/bin/bash set -x set -e -. ${DOWNLOAD_TOOL} -u https://artifacts.unidata.ucar.edu/repository/downloads-udunits/2.2.28/udunits-2.2.28.tar.gz +. ${DOWNLOAD_TOOL} -u https://downloads.unidata.ucar.edu/udunits/2.2.28/udunits-2.2.28.tar.gz cd ${JARVIS_TMP} rm -rf udunits-2.2.28 tar xvf ${JARVIS_DOWNLOAD}/udunits-2.2.28.tar.gz cd udunits-2.2.28 +yum install -y expat-devel ./configure --prefix=$1 make -j make install diff --git a/templates/ARPS/5.3.4/data.arps.arm.cpu.config b/templates/ARPS/5.3.4/data.arps.arm.cpu.config old mode 100755 new mode 100644 index 48fcaf88de7826388f266476cdec4e87ceb554d5..973a815b89f7b894d9d4c8415f1686dc9a0758df --- a/templates/ARPS/5.3.4/data.arps.arm.cpu.config +++ b/templates/ARPS/5.3.4/data.arps.arm.cpu.config @@ -1,59 +1,62 @@ -[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 +[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 -e +yum install -y tcsh libtirpc-devel libjpeg-turbo-devel +export LIBJPEG_PATH=/usr +module purge +module use ./software/modulefiles +./jarvis -install kgcc/10.3.1 com +module load kgcc/10.3.1 +./jarvis -install hmpi/2.4.2 gcc +module load hmpi/2.4.2 +./jarvis -install hdf4/4.2.15 gcc+mpi + +tar -zxvf ${JARVIS_DOWNLOAD}/arps5.3.4.tar.gz -C ${JARVIS_TMP_DOWNLOAD} +mkdir -p ${JARVIS_ROOT}/software/app/arps + +[ENV] +export LIBJPEG_PATH=/usr +module purge +module use ./software/modulefiles +module load kgcc/10.3.1 +module load hmpi/2.4.2 +export HDFPATH=${JARVIS_LIBS}/kgcc10.3.1/hmpi2.4.2/hdf4/4.2.15 + +[APP] +app_name = ARPS +build_dir = ${JARVIS_TMP_DOWNLOAD}/arps5.3.4 +binary_dir = ${JARVIS_ROOT}/software/app/arps/bin +case_dir = ${JARVIS_TMP_DOWNLOAD}/arps5.3.4/sounding + +[BUILD] +sed -i '259s/ifort/mpifort/g' makearps +sed -i 's/-fp-model source/-fallow-argument-mismatch/g' makearps +sed -i 's/-convert big_endian/-fconvert=big-endian/g' makearps +sed -i 's/-module /-J/g' makearps +sed -i 's/-ljpeg/-ljpeg -ltirpc/g' makearps +sed -i 's/-DINQUIREDIR//g' makearps +sed -i 's/-c module_precision.f90/-cpp -c module_precision.f90/g' src/arps/Makefile +sed -i 's/-c module_mp_wsm6.f90/-cpp -c module_mp_wsm6.f90/g' src/arps/Makefile +sed -i 's/-c lnxlib3d.f90/-cpp -c lnxlib3d.f90/g' src/arps/Makefile + +./makearps -io hdf arps +./makearps -io hdf arps_mpi + +cp -ar ./bin ./lib ./modules ${JARVIS_ROOT}/software/app/arps + +# nproc_x、nproc_y 乘积应与-np数相等 +sed -i '211s/nproc_x = 1/nproc_x = 2/g' ./input/arps.input +sed -i '212s/nproc_y = 1/nproc_y = 4/g' ./input/arps.input + +[CLEAN] +./makearps clean + +[RUN] +run = mpirun --allow-run-as-root -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --map-by socket --rank-by core -x UCX_BUILTIN_ALLREDUCE_ALGORITHM=8 -np $(nproc) +binary = arps_mpi ../input/arps.input arps.output +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 old mode 100755 new mode 100644 index 88640ba38e675125c110604c70071546223d48f9..822c79d59e96225620901ad0a56991d8b157d26e --- a/templates/ARPS/5.3.4/data.arps.arm.cpu.sve.config +++ b/templates/ARPS/5.3.4/data.arps.arm.cpu.sve.config @@ -5,57 +5,59 @@ ARPS/5.3.4 https://arps.caps.ou.edu/ARPS/download/code/arps5.3.4.tar.gz [DEPENDENCY] -set -x set -e +yum install -y tcsh libtirpc-devel libjpeg-turbo-devel +export LIBJPEG_PATH=/usr module purge -source ./HPCKit.env -export CC=`which mpicc` -export CXX=`which mpicxx` -export FC=`which mpifort` +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 +./jarvis -install hmpi/2.4.2 bisheng +module load hmpi/2.4.2 +./jarvis -install hdf4/4.2.15/bisheng bisheng+mpi -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 +tar -zxvf ${JARVIS_DOWNLOAD}/arps5.3.4.tar.gz -C ${JARVIS_TMP_DOWNLOAD} +mkdir -p ${JARVIS_ROOT}/software/app/arps [ENV] -export HDFPATH=$JARVIS_ROOT/HDF4 +export LIBJPEG_PATH=/usr +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module load hmpi/2.4.2 +export HDFPATH=${JARVIS_LIBS}/bisheng4.1.0/hmpi2.4.2/hdf4-bisheng/4.2.15 [APP] app_name = ARPS -build_dir = $JARVIS_ROOT/arps5.3.4 -binary_dir = -case_dir = +build_dir = ${JARVIS_TMP_DOWNLOAD}/arps5.3.4 +binary_dir = ${JARVIS_ROOT}/software/app/arps/bin +case_dir = ${JARVIS_TMP_DOWNLOAD}/arps5.3.4/sounding [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/-DINQUIREDIR//g' makearps sed -i 's/-ljpeg/-ljpeg -ltirpc/g' makearps -sed -i 's/DIRECTORY/FILE/g' src/arps/lnxlib3d.F -which mpifort +sed -i 's/-fp-model source/-mtune=native -mcpu=hip09 -mllvm -force-customized-pipeline=true/g' makearps +sed -i 's/-c module_precision.f90/-cpp -c module_precision.f90/g' src/arps/Makefile +sed -i 's/-c module_mp_wsm6.f90/-cpp -c module_mp_wsm6.f90/g' src/arps/Makefile +sed -i 's/-c lnxlib3d.f90/-cpp -c lnxlib3d.f90/g' src/arps/Makefile + ./makearps -io hdf arps ./makearps -io hdf arps_mpi +#查看是否使能SVE特性 +#objdump -d bin/arps_mpi | grep 'z0' + +cp -ar ./bin ./lib ./modules ${JARVIS_ROOT}/software/app/arps + +# nproc_x、nproc_y 乘积应与-np数相等 +sed -i '211s/nproc_x = 1/nproc_x = 2/g' ./input/arps.input +sed -i '212s/nproc_y = 1/nproc_y = 4/g' ./input/arps.input [CLEAN] -make clean +./makearps clean [RUN] -run = -binary = +# need CPU 7270Z and higher +run = mpirun --allow-run-as-root -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --map-by socket --rank-by core -x UCX_BUILTIN_ALLREDUCE_ALGORITHM=8 -np $(nproc) +binary = arps_mpi ../input/arps.input arps.output nodes = 1 diff --git a/templates/NOVOPlasty/4.3.1/novoplasty.arm.config b/templates/NOVOPlasty/4.3.1/novoplasty.arm.config new file mode 100644 index 0000000000000000000000000000000000000000..062f05b9b5518f2ee02320c15215b0e984ebe89f --- /dev/null +++ b/templates/NOVOPlasty/4.3.1/novoplasty.arm.config @@ -0,0 +1,29 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +NOVOPlasty/4.3.1 ${JARVIS_PROXY}/ndierckx/NOVOPlasty/archive/refs/tags/NOVOPlasty4.3.1.tar.gz + +[DEPENDENCY] +module purge +mkdir -p ${JARVIS_ROOT}/software/app +tar -zxvf ${JARVIS_DOWNLOAD}/NOVOPlasty4.3.1.tar.gz -C ${JARVIS_ROOT}/software/app --transform='s/NOVOPlasty-NOVOPlasty4.3.1/NOVOPlasty/' + +[ENV] +module purge + +[APP] +app_name = NOVOPlasty +build_dir = ${JARVIS_ROOT}/software/app/NOVOPlasty/ +binary_dir = ${JARVIS_ROOT}/software/app/NOVOPlasty/ +case_dir = ${JARVIS_ROOT}/software/app/NOVOPlasty/Test\ datasets/Chloroplast\ assembly/ + +[BUILD] +chmod +x NOVOPlasty4.3.1.pl + +[CLEAN] + +[RUN] +run = perl +binary = NOVOPlasty4.3.1.pl -c config_test_chloro.txt +nodes = 1 diff --git a/templates/PWDFT/master/pwdft.arm.bisheng.hmpi.config b/templates/PWDFT/master/pwdft.arm.bisheng.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..db8fe22a56989562786000e9c0ecace9872996ef --- /dev/null +++ b/templates/PWDFT/master/pwdft.arm.bisheng.hmpi.config @@ -0,0 +1,44 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +PWDFT/master ${JARVIS_PROXY}/ebylaska/PWDFT/archive/refs/heads/master.zip PWDFT-master.zip + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 +./jarvis -install hmpi/2.4.2 bisheng +module load hmpi/2.4.2 + +mkdir -p ${JARVIS_ROOT}/software/apps/pwdft/bin +unzip ${JARVIS_DOWNLOAD}/PWDFT-master.zip -d ${JARVIS_TMP_DOWNLOAD} + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module load hmpi/2.4.2 + +[APP] +app_name = pwdft +build_dir = ${JARVIS_TMP_DOWNLOAD}/PWDFT-master +binary_dir = ${JARVIS_ROOT}/software/apps/pwdft/bin +case_dir = ${JARVIS_TMP_DOWNLOAD}/PWDFT-master/test + +[BUILD] +sed -ri 's/\-m64/\-mabi=lp64/g' Nwpw/CMakeLists.txt +sed -ri 's/\-mfpmath=sse//g' Nwpw/CMakeLists.txt +cmake -H. -Bbuild -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_C_COMPILER=mpicc -DCMAKE_Fortran_COMPILER=mpifort ./Nwpw +cd build/ +make +cp -ar pwdft ${JARVIS_ROOT}/software/apps/pwdft/bin/ + +[CLEAN] +rm -rf build + +[RUN] +run = mpirun --allow-run-as-root -np $(nproc) --mca btl ^openib +binary = pwdft eric0.nw +nodes = 1 diff --git a/templates/PyRosetta/4/pyrosetta4.aarch64.py39.config b/templates/PyRosetta/4/pyrosetta4.aarch64.py39.config new file mode 100644 index 0000000000000000000000000000000000000000..5cb275ab64d83d9a87ecc4516856199afac2a6c4 --- /dev/null +++ b/templates/PyRosetta/4/pyrosetta4.aarch64.py39.config @@ -0,0 +1,39 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +PyRosetta4/py39 https://graylab.jhu.edu/download/PyRosetta4/archive/release/PyRosetta4.Release.python39.aarch64/PyRosetta4.Release.python39.aarch64.release-342.tar.bz2 + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 +./jarvis -install python3/3.9.9 bisheng +module load python3/3.9.9 + +tar -jxvf ${JARVIS_DOWNLOAD}/PyRosetta4.Release.python39.aarch64.release-342.tar.bz2 -C ${JARVIS_TMP_DOWNLOAD} +mv ${JARVIS_TMP_DOWNLOAD}/PyRosetta4.Release.python39.aarch64.release-342 ${JARVIS_TMP_DOWNLOAD}/PyRosetta4.py39 + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module load python3/3.9.9 + +[APP] +app_name = pyrosetta +build_dir = ${JARVIS_TMP_DOWNLOAD}/PyRosetta4.py39/setup +binary_dir = +case_dir = ${JARVIS_TMP_DOWNLOAD}/PyRosetta4.py39/test + +[BUILD] +python3 setup.py install + +[CLEAN] +pip3 uninstall pyrosetta -y + +[RUN] +run = python3 +binary = T000_Imports.py +nodes = 1 diff --git a/templates/Seurat/5.1.0/seurat.arm.bisheng.hmpi.R.config b/templates/Seurat/5.1.0/seurat.arm.bisheng.hmpi.R.config new file mode 100644 index 0000000000000000000000000000000000000000..8feaa91e10ea80efac4eb12b32ab3ecab8602506 --- /dev/null +++ b/templates/Seurat/5.1.0/seurat.arm.bisheng.hmpi.R.config @@ -0,0 +1,46 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +Seurat/5.1.0 https://cran.r-project.org/src/contrib/Archive/Seurat/Seurat_5.1.0.tar.gz + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 +./jarvis -install hmpi/2.4.2 bisheng +module load hmpi/2.4.2 +./jarvis -install libpng/1.6.37 bisheng+mpi +module load libpng/1.6.37 +./jarvis -install R/4.4.3 bisheng+mpi +module load R/4.4.3 + +tar -zxvf ${JARVIS_DOWNLOAD}/Seurat_5.1.0.tar.gz -C ${JARVIS_TMP_DOWNLOAD} + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module load hmpi/2.4.2 +module load libpng/1.6.37 +module load R/4.4.3 + +[APP] +app_name = Seurat +build_dir = ${JARVIS_TMP_DOWNLOAD}/Seurat +binary_dir = +case_dir = ${JARVIS_TMP_DOWNLOAD}/Seurat/tests + +[BUILD] +R --vanilla -e 'install.packages(c("SeuratObject", "cowplot", "fastDummies", "fitdistrplus", "future", "future.apply", "generics", "ggplot2", "ggrepel", "ggridges", "httr", "ica", "igraph", "irlba", "jsonlite", "leiden", "lifecycle", "lmtest", "matrixStats", "miniUI", "patchwork", "pbapply", "plotly", "png", "progressr", "purrr", "RANN", "RColorBrewer", "Rcpp", "RcppAnnoy", "RcppHNSW", "reticulate", "rlang", "ROCR", "RSpectra", "Rtsne", "scales", "scattermore", "sctransform", "shiny", "spatstat.explore", "spatstat.geom", "tibble", "uwot", "RcppEigen", "RcppProgress", "testthat"), repos="https://cloud.r-project.org/"); q()' +R CMD INSTALL . + +[CLEAN] +detach("package:Seurat", unload = T) +remove.packages("Seurat") + +[RUN] +run = R --vanilla -e "testthat::test_file(\"testthat.R\"); q()" +binary = +nodes = 1 diff --git a/templates/abyss/2.2.4/data.abyss.arm.cpu.bisheng.hmpi.config b/templates/abyss/2.2.4/data.abyss.arm.cpu.bisheng.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..0363a04a1736145b0c2f28fbb524499fca8683c1 --- /dev/null +++ b/templates/abyss/2.2.4/data.abyss.arm.cpu.bisheng.hmpi.config @@ -0,0 +1,69 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +abyss/2.2.4 https://github.com/bcgsc/abyss/archive/2.2.4.tar.gz abyss-2.2.4.tar.gz +test-data https://www.bcgsc.ca/platform/bioinfo/software/abyss/releases/1.3.4/test-data.tar.gz test-data.tar.gz + +[DEPENDENCY] +set -e +set -x +yum install -y vim tar git wget automake autoconf libtool make cmake +./jarvis -install bisheng/4.1.0 com +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +./jarvis -install hmpi/2.4.2 clang +module use ./software/moduledeps/bisheng4.1.0 +module load hmpi/2.4.2 +./jarvis -install boost/1.72.0/clang bisheng +module load boost-clang/1.72.0 +yum install libomp -y +tar -vzxf ${JARVIS_DOWNLOAD}/abyss-2.2.4.tar.gz +mkdir -p ABYSS +tar xvf ${JARVIS_DOWNLOAD}/test-data.tar.gz + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module use ./software/moduledeps/bisheng4.1.0 +module load hmpi/2.4.2 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +module use ./software/moduledeps/bisheng4.1.0 +module load boost-clang/1.72.0 + +[APP] +app_name = abyss +build_dir = ${JARVIS_ROOT}/abyss-2.2.4/ +binary_dir = ${JARVIS_ROOT}/ABYSS/bin +case_dir = ${JARVIS_ROOT}/test-data/ + +[BUILD] +./autogen.sh +export CURRENT_MPI_PATH=`which mpirun | sed 's/\/bin\/mpirun//g'` +./configure --prefix=${JARVIS_ROOT}/ABYSS --with-boost=${BOOST_PATH} --without-sparsehash --with-mpi=$CURRENT_MPI_PATH +make -j 32 AM_CXXFLAGS=-Wall +make install AM_CXXFLAGS=-Wall +sed -i '543s/\$(mpirun)/\$(mpirun) --allow-run-as-root -mca coll_hcoll_enable 0/' "${JARVIS_ROOT}/ABYSS/bin/abyss-pe" +sed -i '551s/\$(mpirun)/\$(mpirun) --allow-run-as-root -mca coll_hcoll_enable 0/' "${JARVIS_ROOT}/ABYSS/bin/abyss-pe" + + + +[CLEAN] +make clean + +[RUN] +run = +binary = abyss-pe k=25 name=test in="reads1.fastq reads2.fastq" +nodes = 1 + +[PERF] +perf= +nsys= +ncu=--target-processes all diff --git a/templates/code_aster/14.6.0/code_aster.arm.cpu.kgcc.hmpi.config b/templates/code_aster/14.6.0/code_aster.arm.cpu.kgcc.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..6641f78be120c1c1f05149bf4d36d9319b34d737 --- /dev/null +++ b/templates/code_aster/14.6.0/code_aster.arm.cpu.kgcc.hmpi.config @@ -0,0 +1,82 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +code_aster/14.6.0 https://www.code-aster.org/FICHIERS/aster-full-src-14.6.0-1.noarch.tar.gz aster-full-src-14.6.0-1.noarch.tar.gz + +[DEPENDENCY] +set -e +set -x + +yum install -y vim tar git wget automake autoconf libtool make cmake +./jarvis -install hpckit/2024.12.30 any +source software/utils/hpckit/2024.12.30/HPCKit/latest/setvars.sh --use-bisheng --force +module use software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module purge +module add gcc/compiler12.3.1/gccmodule gcc/hmpi2.4.3/hmpi +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` +yum -y install zlib* lapack* blas* python3.aarch64 python3-devel.aarch64 cmake3 boost-python* boost boost-devel numpy* python-numpy flex bison tcl tk +yum install -y lapack lapack-devel +yum install -y openblas openblas-devel +yum install -y glibc-devel +pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.24.4 +tar -xvf ${JARVIS_DOWNLOAD}/aster-full-src-14.6.0-1.noarch.tar.gz +mkdir -p CODE-ASTER + +[ENV] +module use software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module purge +module add gcc/compiler12.3.1/gccmodule gcc/hmpi2.4.3/hmpi +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` + +[APP] +app_name = code_aster +build_dir = ${JARVIS_ROOT}/aster-full-src-14.6.0/ +binary_dir = ${JARVIS_ROOT}/CODE-ASTER/bin/ +case_dir = ${JARVIS_ROOT}/CODE-ASTER/bin/ + +[BUILD] +sed -i "354s/'ppc64'/'ppc64', 'aarch64'/" setup.py +sed -i "518c\ if cc is None and ftools.check_compiler_name(cc, 'GCC'):" setup.py +sed -i '1538i\ '\''aarch64'\'': '\''shell|script|aarch64'\'',' as_setup.py +sed -i "94i CC='$CC'\nCXX='$CXX'\nF90='$FC'\nLD=F90\nCXXFLAGS=\"-std=c++11\"\nF90FLAGS='-fallow-argument-mismatch'\nLIBDIR=['$HOME/anaconda3/envs/aster/lib', ]" setup.cfg +sed -i '187s|^.*$| conf_cmd = ("export F77=$F90; "|' products.py +cd SRC +tar xvf aster-14.6.0.tgz +sed -i '103s|^.*$| if self.env.DEST_CPU == '\''x86_64'\'' or self.env.DEST_CPU == '\''aarch64'\'':|' aster-14.6.0/bibfor/wscript +sed -i '224c\ curr_idmess = idmess.split("\\0")\n x = curr_idmess.split("_")' aster-14.6.0/bibpyt/Utilitai/Utmess.py +tar cvzf aster-14.6.0.tgz aster-14.6.0 +rm -rf aster-14.6.0 +tar -xvf tfel-3.2.1-1.tar.gz +sed -i '19i #include ' tfel-3.2.1/mfront/src/NewtonRaphsonSolvers.cxx +sed -i '19i #include ' tfel-3.2.1/mfront/src/NewtonRaphsonSolvers.cxx +sed -i '18i #include ' tfel-3.2.1/mfront/src/BroydenSolvers.cxx +sed -i '18i #include ' tfel-3.2.1/mfront/src/SecondBroydenSolver.cxx +sed -i '18i #include ' tfel-3.2.1/mfront/src/LevenbergMarquardtSolvers.cxx +sed -i '21i #include ' tfel-3.2.1/mfront/include/MFront/MFrontLogStream.hxx +tar -czvf tfel-3.2.1.tar.gz tfel-3.2.1 +export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH +export LIBRARY_PATH=/usr/lib64:$LIBRARY_PATH +sudo ln -sf /usr/lib64/libutil.so.1 /usr/lib64/libutil.so +sudo ln -sf /usr/lib64/libutil.a /usr/lib64/libutil.a +sudo ln -sf /usr/lib64/libdl.so.2 /usr/lib64/libdl.so +sudo ldconfig # 更新动态库缓存:ml-citation{ref="6,7" data="citationList"} + +cd .. +echo y | python3 setup.py --prefix=${JARVIS_ROOT}/CODE-ASTER + +[CLEAN] + +[RUN] +run = +binary = as_run --version +nodes = 1 + +[PERF] +perf= +nsys= +ncu=--target-processes all diff --git a/templates/copasi/4.27.217/data.copasi.arm.kgcc.config b/templates/copasi/4.27.217/data.copasi.arm.kgcc.config new file mode 100644 index 0000000000000000000000000000000000000000..970ebcfdb83347eb47ecd8c686890dd42a2b8365 --- /dev/null +++ b/templates/copasi/4.27.217/data.copasi.arm.kgcc.config @@ -0,0 +1,61 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +copasi/4.27.217 https://codeload.github.com/copasi/COPASI/tar.gz/Build-217 COPASI-Build-217.tar.gz +copasi-dependencies/v4.26.213 https://codeload.github.com/copasi/copasi-dependencies/tar.gz/v4.26.213 v4.26.213 + +[DEPENDENCY] +set -e +set -x + +module purge +module use ./software/modulefiles +./jarvis -install kgcc/10.3.1 com +module load kgcc/10.3.1 +yum install qt.aarch64 qt-devel.aarch64 cmake make -y +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` +tar -vzxf ${JARVIS_DOWNLOAD}/COPASI-Build-217.tar.gz + +#wget https://codeload.github.com/copasi/copasi-dependencies/tar.gz/v4.26.213 +tar -xvf ${JARVIS_DOWNLOAD}/v4.26.213 +cd copasi-dependencies-4.26.213 +./createLinux.sh +cp -r ./bin/lib64/* ./bin/lib +cd .. + +[ENV] +module purge +module use ./software/modulefiles +module load kgcc/10.3.1 +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` + +[APP] +app_name = copasi +build_dir = ${JARVIS_ROOT}/COPASI-Build-217/ +binary_dir = ${JARVIS_ROOT}/COPASI-Build-217/build/bin/ +case_dir = ${JARVIS_ROOT}/COPASI-Build-217/TestSuite/events + +[BUILD] +mkdir build +cd build +cmake -DBUILD_GUI=OFF -DCMAKE_INSTALL_PREFIX=${JARVIS_ROOT}/COPASI-Build-217/build -DCOPASI_DEPENDENCY_DIR=${JARVIS_ROOT}/copasi-dependencies-4.26.213/bin ../ +make install + + +[CLEAN] +make clean + +[RUN] +run = +binary = CopasiSE --nologo EventTest10.cps && cat EventTest10.1.txt +nodes = 1 + +[PERF] +perf= +nsys= +ncu=--target-processes all diff --git a/templates/deepmd-kit/2.2.10/deepmdkit.arm.cpu.kgcc.hmpi.config b/templates/deepmd-kit/2.2.10/deepmdkit.arm.cpu.kgcc.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..de43a144e76d4bf5bd7a26ca57c9a1675cf5cbda --- /dev/null +++ b/templates/deepmd-kit/2.2.10/deepmdkit.arm.cpu.kgcc.hmpi.config @@ -0,0 +1,64 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] + +[DEPENDENCY] +set -e +set -x + +yum install -y cmake +module purge +./jarvis -install package/anaconda3/2024.10 any +module use ./software/modulefiles +source ${JARVIS_ROOT}/software/utils/anaconda3/2024.10/etc/profile.d/conda.sh +./jarvis -install hpckit/2024.12.30 any +module use ./software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module add gcc/compiler12.3.1/gccmodule gcc/hmpi2.4.3/hmpi +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` +mkdir -p deepmdkit_install +git clone -b v2.2.10 https://github.com/deepmodeling/deepmd-kit #使用wget获取的v2.2.10.tar.gz文件缺少.git文件,安装的时候报错,只能使用git clone获取软件文件 + +[ENV] +module purge +module use ./software/modulefiles +source ${JARVIS_ROOT}/software/utils/anaconda3/2024.10/etc/profile.d/conda.sh +module use ./software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module add gcc/compiler12.3.1/gccmodule gcc/hmpi2.4.3/hmpi +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` + +[APP] +app_name = deepmd-kit +build_dir = ${JARVIS_ROOT}/deepmd-kit +binary_dir = ${JARVIS_ROOT}/software/utils/anaconda3/2024.10/envs/deepmd-kit-tensorflow/bin/ +case_dir = ${JARVIS_ROOT}/deepmd-kit/examples/water/se_e2_a/ + +[BUILD] +conda create -n deepmd-kit-tensorflow python=3.9 -y +conda activate deepmd-kit-tensorflow +conda install tensorflow -y +pip install . +cd source +mkdir build +cd build +cmake -DTENSORFLOW_ROOT=${JARVIS_ROOT}/software/utils/anaconda3/2024.10/envs/deepmd-kit-tensorflow/lib/python3.9/site-packages/tensorflow -DCMAKE_INSTALL_PREFIX=${JARVIS_ROOT}/deepmdkit_install .. +make -j +make install + +[CLEAN] +make clean +conda clean --all --yes + +[RUN] +run = time +binary = dp train input.json +nodes = 1 + +[PERF] +perf= +nsys= +ncu=--target-processes all diff --git a/templates/diamond/2.0.4/diamond.arm.cpu.bisheng.hmpi.config b/templates/diamond/2.0.4/diamond.arm.cpu.bisheng.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..33619c34641a8fc3a6cd4204421863d4484a4d81 --- /dev/null +++ b/templates/diamond/2.0.4/diamond.arm.cpu.bisheng.hmpi.config @@ -0,0 +1,70 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +diamond/2.0.4 https://github.com/bbuchfink/diamond/archive/v2.0.4.tar.gz diamond-2.0.4.tar.gz +swissprot http://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/swissprot.gz swissprot.gz +human_g1k_v37 http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/human_g1k_v37.fasta.gz human_g1k_v37.fasta.gz + +[DEPENDENCY] +set -e +set -x + +yum install -y vim tar git wget make cmake +module purge +./jarvis -install bisheng/4.1.0 com +module use ./software/modulefiles +module load bisheng/4.1.0 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +./jarvis -install hmpi/2.4.2 clang +module use ./software/moduledeps/bisheng4.1.0 +module load hmpi/2.4.2 +tar -vzxf ${JARVIS_DOWNLOAD}/diamond-2.0.4.tar.gz +mkdir -p DIAMOND +mkdir -p TESTCASE +cp -r ${JARVIS_DOWNLOAD}/swissprot.gz ./TESTCASE +cp -r ${JARVIS_DOWNLOAD}/human_g1k_v37.fasta.gz ./TESTCASE +cd ./TESTCASE +gzip -dk swissprot.gz +gzip -dk human_g1k_v37.fasta.gz || true +split -l 1000000 human_g1k_v37.fasta human_g1k_part_ +cd .. + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +module use ./software/moduledeps/bisheng4.1.0 +module load hmpi/2.4.2 + +[APP] +app_name = diamond +build_dir = ${JARVIS_ROOT}/diamond-2.0.4/ +binary_dir = ${JARVIS_ROOT}/DIAMOND/bin/ +case_dir = ${JARVIS_ROOT}/TESTCASE/ + +[BUILD] +mkdir build +cd build +cmake -DCMAKE_INSTALL_PREFIX=${JARVIS_ROOT}/DIAMOND ../ +make -j 16 +make install + +[CLEAN] +cd build +make clean + +[RUN] +run = +binary = diamond blastp -p 16 -q human_g1k_part_aa -d swissprot -o out_part_aa.tsv --very-sensitive +nodes = 1 + +[PERF] +perf= +nsys= +ncu=--target-processes all diff --git a/templates/espressomd/4.1.4/data.espressomd.arm.cpu.bisheng.hmpi.config b/templates/espressomd/4.1.4/data.espressomd.arm.cpu.bisheng.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..9b3a939d4e4ac597c86e6a479e5e170c98b243ed --- /dev/null +++ b/templates/espressomd/4.1.4/data.espressomd.arm.cpu.bisheng.hmpi.config @@ -0,0 +1,76 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +ESPResSo/4.1.4 https://github.com/espressomd/espresso/releases/download/4.1.4/espresso-4.1.4.tar.gz +boost/1.72.0 https://nchc.dl.sourceforge.net/project/boost/boost/1.72.0/boost_1_72_0.tar.bz2 + +[DEPENDENCY] +set -e +set -x + +yum install zlib-devel git cmake make git vim tar time glibc-headers gcc-c++ -y +yum install fftw-devel fftw3-devel -y +yum install libxml2-devel libxslt-devel cmake -y +pip3 install numpy --upgrade --force-reinstall +pip3 install cython +sudo dnf install python3-devel -y +./jarvis -install hpckit/2024.12.30 any +module use ./software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module purge +module add bisheng/compiler4.1.0/bishengmodule bisheng/hmpi2.4.3/hmpi +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +./jarvis -install fftw/3.3.8 clang+mpi +module use ./software/moduledeps/bisheng4.1.0-hmpi2.4.3 +module load fftw/3.3.8 +tar -vzxf ${JARVIS_DOWNLOAD}/espresso-4.1.4.tar.gz +tar -xf ${JARVIS_DOWNLOAD}/boost_1_72_0.tar.bz2 +mkdir -p boost/1_72_0 +cd boost_1_72_0/ +sed -i "60c #ifdef PTHREAD_STACK_MIN" boost/thread/pthread/thread_data.hpp +sed -i "61c \\\tif (size(PTHREAD_STACK_MIN)) size=PTHREAD_STACK_MIN;" boost/thread/pthread/thread_data.hpp +sed -i "59c #if 1" boost/mpl/aux_/integral_wrapper.hpp +./bootstrap.sh --with-toolset=clang --prefix=${JARVIS_ROOT}/boost/1_72_0 +sed -i '$ a\using mpi : mpicxx ;' project-config.jam +./b2 install --prefix=${JARVIS_ROOT}/boost/1_72_0 toolset=clang +export Boost_INCLUDE_PATH=${JARVIS_ROOT}/boost/1_72_0/include + + +[ENV] +module use software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module purge +module add bisheng/compiler4.1.0/bishengmodule bisheng/hmpi2.4.3/hmpi +export CC=`which clang` +export CXX=`which clang++` +export FC=`which flang` +module use ./software/moduledeps/bisheng4.1.0-hmpi2.4.3 +module load fftw/3.3.8 + +[APP] +app_name = espresso +build_dir = ${JARVIS_ROOT}/espresso/ +binary_dir = +case_dir = ${JARVIS_ROOT}/espresso/build/ + +[BUILD] +sed -i "25i\SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} \"${JARVIS_ROOT}/software/libs/bisheng4.1.0/hmpi2.4.3/fftw/3.3.8/include\")" cmake/FindFFTW3.cmake +sed -i "26i\SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} \"${JARVIS_ROOT}/software/libs/bisheng4.1.0/hmpi2.4.3/fftw/3.3.8/lib\")" cmake/FindFFTW3.cmake +mkdir build +cd build +cmake .. -DBOOST_ROOT=${JARVIS_ROOT}/boost/1_72_0 -DBoost_INCLUDE_DIR=${JARVIS_ROOT}/boost/1_72_0/include +make + +[CLEAN] +make clean + +[RUN] +run = { time -p mpirun --allow-run-as-root -np 8 -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --map-by socket --rank-by core -x UCX_BUILTIN_ALLREDUCE_ALGORITHM=8 ./pypresso ../samples/constraints.py > run.log ;} 2>>run.log && cat run.log +binary = +nodes = 1 + +[PERF] +perf= +nsys= +ncu=--target-processes all diff --git a/templates/hefei-namd/master/hefei-namd.arm.bisheng.config b/templates/hefei-namd/master/hefei-namd.arm.bisheng.config new file mode 100644 index 0000000000000000000000000000000000000000..b1cca30e713d7a0f448769d5a79dd5382cac260f --- /dev/null +++ b/templates/hefei-namd/master/hefei-namd.arm.bisheng.config @@ -0,0 +1,49 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +hefei-namd/master ${JARVIS_PROXY}/QijingZheng/Hefei-NAMD/archive/refs/heads/master.zip Hefei-NAMD-master.zip + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 + +unzip ${JARVIS_DOWNLOAD}/Hefei-NAMD-master.zip -d ${JARVIS_TMP_DOWNLOAD} +mkdir -p ${JARVIS_ROOT}/software/apps/hefei-namd/bin + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 + +[APP] +app_name = hefei-namd +build_dir = ${JARVIS_TMP_DOWNLOAD}/Hefei-NAMD-master/src/dish +binary_dir = ${JARVIS_ROOT}/software/apps/hefei-namd/bin +case_dir = ${JARVIS_TMP_DOWNLOAD}/Hefei-NAMD-master/doc/training_2020/example/results/namd/ + +[BUILD] +sed -i '4c FC= flang' Makefile +make +cp -ar dish ${JARVIS_ROOT}/software/apps/hefei-namd/bin +cd ../namd/ +sed -i '4c FC= flang -assume byterecl' Makefile +sed -i '5c FC= flang' Makefile +make +cp -ar namd ${JARVIS_ROOT}/software/apps/hefei-namd/bin +cd ../namdK/ +sed -i '4c FC= flang' Makefile +sed -i '6c FFLAGS= -g -O2 -fIntel-compatibility' Makefile +make +cp -ar namdk ${JARVIS_ROOT}/software/apps/hefei-namd/bin + +sed -i 's/! LCPEXT/ LCPEXT/' ../../doc/training_2020/example/results/namd/inp + +[CLEAN] + +[RUN] +run = time +binary = namd +nodes = 1 diff --git a/templates/interproscan/5.73-104.0/interproscan.arm.py39.config b/templates/interproscan/5.73-104.0/interproscan.arm.py39.config new file mode 100644 index 0000000000000000000000000000000000000000..f01fd319aa250cb3500e0d4b130d4d89f62a6656 --- /dev/null +++ b/templates/interproscan/5.73-104.0/interproscan.arm.py39.config @@ -0,0 +1,65 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +interproscan/5.53-87.0 http://ftp.ebi.ac.uk/pub/software/unix/iprscan/5/5.73-104.0/interproscan-5.73-104.0-64-bit.tar.gz +bisheng-jdk/11.0.25 https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-11.0.25-linux-aarch64.tar.gz bisheng-jdk-11-aarch64.tar.gz +bisheng-jre/11.0.25 https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jre-11.0.25-linux-aarch64.tar.gz bisheng-jre-11-aarch64.tar.gz + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 +./jarvis -install python3/3.9.9 bisheng +module load python3/3.9.9 +tar -zxvf ${JARVIS_DOWNLOAD}/bisheng-jdk-11-aarch64.tar.gz -C ${JARVIS_COMPILER} +tar -zxvf ${JARVIS_DOWNLOAD}/bisheng-jre-11-aarch64.tar.gz -C ${JARVIS_COMPILER}/bisheng-jdk-11.0.25/ --transform='s/bisheng-jre-11.0.25/jre/' +echo -e "\033[0;32mCheck the execution dependency \"hmmer\" ...\033[0m" +file1="${JARVIS_ROOT}/hmmer/bin/hmmscan" +file2="${JARVIS_ROOT}/hmmer/bin/hmmsearch" +if [[ $( file -b --mime-encoding ${file1} ) = "binary" ]];then + if [[ $( file -b --mime-encoding ${file2} ) = "binary" ]];then + echo -e "\033[0;32mAlready installed the execution dependency \"hmmer\"\033[0m" + fi +else + echo -e "\033[0;31mPlease install the execution dependency \"hmmer\" in ${JARVIS_ROOT} or configuer the hmmer executabla file environment variables after installation.\033[0m" + exit 1 +fi + +mkdir -p ${JARVIS_ROOT}/software/apps +tar -zxvf ${JARVIS_DOWNLOAD}/interproscan-5.73-104.0-64-bit.tar.gz -C ${JARVIS_ROOT}/software/apps/ --transform='s/interproscan-5.73-104.0/interproscan/' + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module load python3/3.9.9 +export PATH=${JARVIS_COMPILER}/bisheng-jdk-11.0.25/bin:${JARVIS_COMPILER}/bisheng-jdk-11.0.25/jre/bin:$PATH + +[APP] +app_name = interproscan +build_dir = ${JARVIS_ROOT}/software/apps/interproscan +binary_dir = ${JARVIS_ROOT}/software/apps/interproscan +case_dir = ${JARVIS_ROOT}/software/apps/interproscan + +[BUILD] +yes | cp -ar ${JARVIS_ROOT}/hmmer/bin/* bin/hmmer/hmmer3/3.3/ +python3 setup.py -f interproscan.properties + +echo -e "\033[0;32mExample: Testing the \"sfld\" module\033[0m" +file -b bin/sfld/sfld_postprocess | grep -qi 'ARM\|aarch64' +if [ $? -eq 0 ];then + echo -e "\033[0;32mAlready \"sfld\" module aarch64 platform binary\033[0m" + echo -e "\033[0;32mNext command ./jarvis -r\033[0m" +else + echo -e "\033[0;31mTo be compiled and replaced with \"bin/sfld/sfld_postprocess\" binaries for aarch64 platforms!\033[0m" + exit 1 +fi + +[CLEAN] + +[RUN] +run = bash interproscan.sh -i +binary = test_all_appl.fasta -f tsv -dp -appl sfld +nodes = 1 diff --git a/templates/jax/0.4.30/jax.arm.py39.cpu.config b/templates/jax/0.4.30/jax.arm.py39.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..04e4a2d9258dae9874ce44947f3fc20ed074047d --- /dev/null +++ b/templates/jax/0.4.30/jax.arm.py39.cpu.config @@ -0,0 +1,38 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +jax/0.4.30 https://github.com/jax-ml/jax/archive/refs/tags/jax-v0.4.30.tar.gz + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 +./jarvis -install python3/3.9.9 bisheng +module load python3/3.9.9 +tar -zxvf ${JARVIS_DOWNLOAD}/jax-v0.4.30.tar.gz -C ${JARVIS_TMP_DOWNLOAD} + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module load python3/3.9.9 + +[APP] +app_name = jax +build_dir = ${JARVIS_TMP_DOWNLOAD}/jax-jax-v0.4.30 +binary_dir = +case_dir = ${JARVIS_TMP_DOWNLOAD}/jax-jax-v0.4.30/tests + +[BUILD] +pip3 install . +pip3 install absl-py + +[CLEAN] +pip3 uninstall jax -y + +[RUN] +run = python3 +binary = jax_jit_test.py +nodes = 1 diff --git a/templates/kraken2/2.1.2/data.kraken2.arm.cpu.config b/templates/kraken2/2.1.2/data.kraken2.arm.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..c0f6bc0798a77b749653ecd765864fc8ad174c08 --- /dev/null +++ b/templates/kraken2/2.1.2/data.kraken2.arm.cpu.config @@ -0,0 +1,47 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +kraken2/2.1.2 https://github.com/DerrickWood/kraken2/archive/refs/tags/v2.1.2.tar.gz kraken2-2.1.2.tar.gz + +[DEPENDENCY] +set -e +set -x +./jarvis -install bisheng/4.1.0 com +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 + +rm -rf kraken2-2.1.2 +tar -xvf ${JARVIS_DOWNLOAD}/kraken2-2.1.2.tar.gz + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 + +[APP] +app_name = kraken2 +build_dir = ${JARVIS_ROOT}/kraken2-2.1.2 +binary_dir = ${JARVIS_ROOT}/kraken2-2.1.2/bin/ +case_dir = ${JARVIS_ROOT}/kraken2-2.1.2 + +[BUILD] +cp src/Makefile src/Makefile.bak +sed -i '1s/^CXX *= *g++/CXX = clang++/' src/Makefile +sed -i '2{/[^ ]-fsigned-char/!s/$/ -fsigned-char/}' src/Makefile +mkdir -p bin +sh install_kraken2.sh bin + +[CLEAN] +rm -rf bin + +[RUN] +run = +binary = kraken2 -h +nodes = 1 + +[PERF] +perf= +nsys= +ncu=--target-processes all diff --git a/templates/modeller/10.6/modeller.arm.bisheng.hmpi.config b/templates/modeller/10.6/modeller.arm.bisheng.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..b52cdb80424a48769267971e58ea054df1071f0e --- /dev/null +++ b/templates/modeller/10.6/modeller.arm.bisheng.hmpi.config @@ -0,0 +1,53 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +modeller/10.6 https://salilab.org/modeller/10.6/modeller-10.6.tar.gz +soap_protein_od.hdf5/modeller>9.13 https://salilab.org/SOAP/soap_protein_od.hdf5 + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 +./jarvis -install hmpi/2.4.2 bisheng +module load hmpi/2.4.2 +./jarvis -install hdf5/1.10.7/clang bisheng+mpi +module load hdf5-clang/1.10.7 +tar -zxvf ${JARVIS_DOWNLOAD}/modeller-10.6.tar.gz -C ${JARVIS_TMP_DOWNLOAD} +mkdir -p ${JARVIS_ROOT}/software/app/modeller + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module load hmpi/2.4.2 +module load hdf5-clang/1.10.7 +export PATH=${JARVIS_ROOT}/software/app/modeller/bin:$PATH + +[APP] +app_name = modeller +build_dir = ${JARVIS_TMP_DOWNLOAD}/modeller-10.6/ +binary_dir = +case_dir = ${JARVIS_ROOT}/software/app/modeller/examples/ + +[BUILD] +./Install <"$LOG_FILE" +cd ${JARVIS_ROOT}/workloads/benchmarks-master/other-inputs/water/ + +#$RUN_TOOL "qe pw.x" "time -p mpirun --allow-run-as-root -mca pml ucx -mca btl tcp -x UCX_TLS=sm,tcp -np 128 -x OMP_NUM_THREADS=1 -np pw.x -input pw.in " + +( time -p mpirun --allow-run-as-root -mca pml ucx -mca btl tcp -x UCX_TLS=sm,tcp -np 128 pw.x -input pw.in ) 2>&1 |tee $LOG_FILE + +[JOB] +#!/bin/sh +#DSUB -n qe_test +#DSUB --mpi hmpi +#DSUB -q default +#DSUB -N 1 +#DSUB -R cpu=128 +#DSUB -oo qe.%J.out +#DSUB -oe qe.%J.err + +LOG_FILE="qe-proformance.log" + +>"$LOG_FILE" +cd ${JARVIS_ROOT}/workloads/benchmarks-master/other-inputs/water/ + +#$RUN_TOOL "qe pw.x" "time -p mpirun --allow-run-as-root -mca pml ucx -mca btl tcp -x UCX_TLS=sm,tcp -np 128 -x OMP_NUM_THREADS=1 -np pw.x -input pw.in " + +( time -p mpirun --allow-run-as-root -mca pml ucx -mca btl tcp -x UCX_TLS=sm,tcp -np 128 -input pw.in ) 2>&1 |tee $LOG_FILE diff --git a/templates/scanpy/1.10.3/scanpy.arm.py39.config b/templates/scanpy/1.10.3/scanpy.arm.py39.config new file mode 100644 index 0000000000000000000000000000000000000000..a00150db13ec0d8c0359e97208db1e77351516e3 --- /dev/null +++ b/templates/scanpy/1.10.3/scanpy.arm.py39.config @@ -0,0 +1,40 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +scanpy/1.10.3 https://files.pythonhosted.org/packages/09/b0/fa244677155c5535ea1458214e9ab6e2d571ba0f64f2cca00ad0ef0d03fe/scanpy-1.10.3.tar.gz + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install bisheng/4.1.0 com +module load bisheng/4.1.0 +./jarvis -install python3/3.9.9 bisheng +module load python3/3.9.9 + +tar -zxvf ${JARVIS_DOWNLOAD}/scanpy-1.10.3.tar.gz -C ${JARVIS_TMP_DOWNLOAD} + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 +module load python3/3.9.9 + +[APP] +app_name = scanpy +build_dir = ${JARVIS_TMP_DOWNLOAD}/scanpy-1.10.3 +binary_dir = +case_dir = ${JARVIS_TMP_DOWNLOAD}/scanpy-1.10.3 + +[BUILD] +# pip>=21.3 +python3.9 -m pip install --upgrade pip==22.2.2 setuptools==68.2.2 setuptools-scm==8.0.4 +pip3 install '.[dev,test]' --trusted-host mirrors.huaweicloud.com -i https://mirrors.huaweicloud.com/repository/pypi/simple + +[CLEAN] +pip3 uninstall scanpy -y + +[RUN] +run = pytest +binary = tests/test_datasets.py +nodes = 1 diff --git a/templates/star/2.7.1a/data.blat.arm.cpu.config b/templates/star/2.7.1a/data.star.arm.cpu.config similarity index 100% rename from templates/star/2.7.1a/data.blat.arm.cpu.config rename to templates/star/2.7.1a/data.star.arm.cpu.config diff --git a/templates/sundials/7.3.0/sundials.arm.hpckit.bisheng.hmpi.config b/templates/sundials/7.3.0/sundials.arm.hpckit.bisheng.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..e794db3b2ead7bfcd0da1d8e84dfb1134dcbe44f --- /dev/null +++ b/templates/sundials/7.3.0/sundials.arm.hpckit.bisheng.hmpi.config @@ -0,0 +1,50 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +sundials/7.3.0 ${JARVIS_PROXY}/LLNL/sundials/releases/download/v7.3.0/sundials-7.3.0.tar.gz + +[DEPENDENCY] +module purge +./jarvis -install hpckit/2024.12.30 any +module use software/utils/hpckit/2024.12.30/HPCKit/latest/modulefiles +module load bisheng/compiler4.1.0/bishengmodule +module load bisheng/hmpi2.4.3/hmpi +module load bisheng/kml2.5.0/kml +module unload bisheng/kml2.5.0/kspblas/omp +module unload bisheng/kml2.5.0/kvml/serial + +mkdir -p ${JARVIS_ROOT}/software/apps/sundials +tar -zxvf ${JARVIS_DOWNLOAD}/sundials-7.3.0.tar.gz -C ${JARVIS_TMP_DOWNLOAD} + +[ENV] +module purge +module use software/utils/hpckit/2024.12.30/HPCKit/latest/modulefiles +module load bisheng/compiler4.1.0/bishengmodule +module load bisheng/hmpi2.4.3/hmpi +module load bisheng/kml2.5.0/kml +module unload bisheng/kml2.5.0/kspblas/omp +module unload bisheng/kml2.5.0/kvml/serial + +[APP] +app_name = sundials +build_dir = ${JARVIS_TMP_DOWNLOAD}/sundials-7.3.0 +binary_dir = +case_dir = ${JARVIS_ROOT}/software/apps/sundials/examples/arkode/C_manyvector + +[BUILD] +rm -rf build +mkdir build +cd build/ +cmake .. -DCMAKE_INSTALL_PREFIX=${JARVIS_ROOT}/software/apps/sundials -DEXAMPLES_INSTALL_PATH=${JARVIS_ROOT}/software/apps/sundials/examples -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DCMAKE_Fortran_COMPILER=mpifort -DENABLE_MPI=ON -DBUILD_FORTRAN_MODULE_INTERFACE=ON -DENABLE_LAPACK=ON -DBLAS_LIBRARIES=${JARVIS_UTILS}/hpckit/2024.12.30/HPCKit/24.12.30/kml/bisheng/lib/neon/kblas/pthread/libkblas.so -DLAPACK_LIBRARIES=${JARVIS_UTILS}/hpckit/2024.12.30/HPCKit/24.12.30/kml/bisheng/lib/neon/libklapack_full.so +make +make install +make test + +[CLEAN] +rm -rf build + +[RUN] +run = make && ./ark_brusselator1D_manyvec +binary = +nodes = 1 diff --git a/templates/tensorflow/2.4.1/data.tensorflow.arm.cpu.kgcc.config b/templates/tensorflow/2.4.1/data.tensorflow.arm.cpu.kgcc.config new file mode 100644 index 0000000000000000000000000000000000000000..6278fb0cc133bf79d65a4fd45286740e0501c1ed --- /dev/null +++ b/templates/tensorflow/2.4.1/data.tensorflow.arm.cpu.kgcc.config @@ -0,0 +1,83 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +tensorflow/2.4.1 https://github.com/tensorflow/tensorflow/archive/refs/tags/v2.4.1.tar.gz tensorflow-2.4.1.tar.gz + +[DEPENDENCY] +set -e +set -x + +yum install -y vim tar git wget +module purge +./jarvis -install package/anaconda3/2023.3 any +source ${JARVIS_ROOT}/software/utils/anaconda3/2023.3/etc/profile.d/conda.sh +./jarvis -install kgcc/10.3.1 com +module use software/modulefiles +module load kgcc/10.3.1 +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` +sudo yum install -y glibc-devel +pip install cython +tar -xzvf ${JARVIS_DOWNLOAD}/tensorflow-2.4.1.tar.gz +mkdir -p tensorflow + +[ENV] +module purge +source ${JARVIS_ROOT}/software/utils/anaconda3/2023.3/etc/profile.d/conda.sh +module use software/modulefiles +module load kgcc/10.3.1 +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` + +[APP] +app_name = tensorflow +build_dir = ${JARVIS_ROOT}/tensorflow-2.4.1/ +binary_dir = +case_dir = ${JARVIS_ROOT}/tensorflow-2.4.1/tensorflow/examples/speech_commands/ + + +[BUILD] +if conda env list | grep -wq "\btensorflow-2.4.1\b"; then + echo "环境 tensorflow-2.4.1 存在" + conda env remove -n tensorflow-2.4.1 +fi +conda create -n tensorflow-2.4.1 bazel=3.7 python=3.7.11 -y +conda activate tensorflow-2.4.1 +conda install -c conda-forge keras-preprocessing=1.1.2 numpy=1.18.5 -y + +yes '' | python configure.py +bazel build //tensorflow/tools/pip_package:build_pip_package +bazel-bin/tensorflow/tools/pip_package/build_pip_package ${JARVIS_ROOT}/tensorflow +cd ${JARVIS_ROOT}/tensorflow +pip install tensorflow-2.4.1-cp37-cp37m-linux_aarch64.whl --no-deps +conda install -c anaconda absl-py -y +pip install google-api-python-client +pip install protobuf==3.20.1 # 选择一个 3.20.x 的版本 +conda install -c conda-forge wrapt -y +conda install -c conda-forge typing_extensions -y +conda install -c conda-forge opt_einsum -y +pip install gast==0.4.0 +pip install astunparse==1.6.3 +pip install --force-reinstall termcolor +pip install flatbuffers==23.5.9 + + +[CLEAN] +conda clean --all --yes + +[RUN] +run = conda activate tensorflow-2.4.1 && time python train.py +binary = +nodes = 1 + +[JOB] +conda activate tensorflow-2.4.1 + +[PERF] +perf= +nsys= +ncu=--target-processes all + diff --git a/templates/tophat/2.1.1/tophat.arm.kgcc.hmpi.py27.config b/templates/tophat/2.1.1/tophat.arm.kgcc.hmpi.py27.config new file mode 100644 index 0000000000000000000000000000000000000000..9107a37a98dfb182441790d56761c72cb4f04257 --- /dev/null +++ b/templates/tophat/2.1.1/tophat.arm.kgcc.hmpi.py27.config @@ -0,0 +1,60 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +TopHat/2.1.1 https://ccb.jhu.edu/software/tophat/downloads/tophat-2.1.1.tar.gz +test_data/ https://ccb.jhu.edu/software/tophat/downloads/test_data.tar.gz + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install kgcc/10.3.1 com +module load kgcc/10.3.1 +./jarvis -install hmpi/2.4.2 gcc +module load hmpi/2.4.2 +sed -i '/cd Python-2.7.16/a sed -i "s/-fp-model strict/-ffloat-store/" configure' ${JARVIS_ROOT}/package/python2/2.7.16/install.sh +./jarvis -install python2/2.7.16 gcc+mpi +module load python2/2.7.16 +sed -i '/cd bowtie2-2.4.5/a sed -i "s/zlib.net/zlib.net\\/fossils/g" Makefile' ${JARVIS_ROOT}/package/bowtie2/2.4.5/install.sh +sed -i 's/-stdlib=libc++/-stdlib=libstdc++/g' ${JARVIS_ROOT}/package/bowtie2/2.4.5/install.sh +./jarvis -install bowtie2/2.4.5 gcc+mpi +export PATH=/opt/hpcrunner/software/libs/bisheng2.1.0/bowtie2/2.4.5/bin:$PATH +sed -i 's/python3/python2/g' ${JARVIS_ROOT}/package/boost-python/1.72.0/install.sh +sed -i 's/\.\/bootstrap.sh/\.\/bootstrap.sh --with-libraries=system,thread/' ${JARVIS_ROOT}/package/boost-python/1.72.0/install.sh +./jarvis -install boost-python/1.72.0 gcc+mpi +module load boost-python/1.72.0 + +mkdir -p ${JARVIS_ROOT}/software/apps/tophat +tar -zxvf ${JARVIS_DOWNLOAD}/tophat-2.1.1.tar.gz -C ${JARVIS_TMP_DOWNLOAD} +tar -zxvf ${JARVIS_DOWNLOAD}/test_data.tar.gz -C ${JARVIS_TMP_DOWNLOAD}/tophat-2.1.1/ + +[ENV] +module purge +module use ./software/modulefiles +module load kgcc/10.3.1 +module load hmpi/2.4.2 +module load python2/2.7.16 +export PATH=/opt/hpcrunner/software/libs/bisheng2.1.0/bowtie2/2.4.5/bin:$PATH +module load boost-python/1.72.0 + +[APP] +app_name = tophat +build_dir = ${JARVIS_TMP_DOWNLOAD}/tophat-2.1.1 +binary_dir = ${JARVIS_ROOT}/software/apps/tophat/bin +case_dir = ${JARVIS_TMP_DOWNLOAD}/tophat-2.1.1/test_data + +[BUILD] +sed -i 's/^CC=.*/CC= mpicc/' src/samtools-0.1.18/Makefile +sed -i 's/^CC=.*/CC= mpicc/' src/samtools-0.1.18/bcftools/Makefile +sed -i 's///g' src/tophat_reports.cpp +PYTHON=`which python3` CC=`which mpicc` CXX=`which mpicxx` ./configure --prefix=${JARVIS_ROOT}/software/apps/tophat --with-boost=${JARVIS_LIBS}/kgcc10.3.1/hmpi2.4.2/boost-python/1.72.0 +make +make install + +[CLEAN] +make clean + +[RUN] +run = +binary = tophat -r 20 test_ref reads_1.fq reads_2.fq +nodes = 1 diff --git a/templates/vaspkit/0.52/data.vaspkit.arm-920.cpu.config b/templates/vaspkit/0.52/data.vaspkit.arm-920.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..c650cb959e2a3e072d1d7a21983578b35c0a80c1 --- /dev/null +++ b/templates/vaspkit/0.52/data.vaspkit.arm-920.cpu.config @@ -0,0 +1,49 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +vaspkit/0.52 https://sourceforge.net/projects/vaspkit/files/Src/vaspkit.0.52.tar.gz + +[DEPENDENCY] +yum install make cmake gcc g++ -y + +module purge +./jarvis -install bisheng/4.1.0 com +module use ./software/modulefiles +module load bisheng/4.1.0 +export CC=clang CXX=clang++ FC=flang + +cd ${JARVIS_TMP_DOWNLOAD} +rm -rf vaspkit-0.52 +tar -xzvf ${JARVIS_DOWNLOAD}/vaspkit.0.52.tar.gz + +[ENV] +module purge +module use ./software/modulefiles +module load bisheng/4.1.0 + +[APP] +app_name = vaspkit +build_dir = ${JARVIS_TMP_DOWNLOAD}/vaspkit.0.52/ +binary_dir = ${JARVIS_TMP_DOWNLOAD}vaspkit.0.52/src/ +case_dir = + +[BUILD] +sed -i "6c FC=flang" make.inc +sed -i "12c CC=clang" make.inc +cd src +make + +[CLEAN] +cd src +make clean + +[RUN] +run = +binary = vaspkit +nodes = 1 + +[PERF] +perf= +nsys= +ncu= diff --git a/templates/velvet/1.2.10/velvet.arm.kgcc.hmpi.config b/templates/velvet/1.2.10/velvet.arm.kgcc.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..c7405b76a7ec0e2f9ea33e61f3a789167a4b11cc --- /dev/null +++ b/templates/velvet/1.2.10/velvet.arm.kgcc.hmpi.config @@ -0,0 +1,45 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +velvet/1.2.10 ${JARVIS_PROXY}/dzerbino/velvet/archive/refs/tags/v1.2.10.tar.gz velvet-1.2.10.tgz + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install kgcc/10.3.1 com +module load kgcc/10.3.1 +./jarvis -install hmpi/2.4.2 gcc +module load hmpi/2.4.2 + +tar -zxvf ${JARVIS_DOWNLOAD}/velvet-1.2.10.tgz -C ${JARVIS_TMP_DOWNLOAD} +mkdir -p ${JARVIS_ROOT}/software/apps/velvet/bin + +[ENV] +module purge +module use ./software/modulefiles +module load kgcc/10.3.1 +module load hmpi/2.4.2 +export OMP_NUM_THREADS=96 +export OMP_THREAD_LIMIT=95 + +[APP] +app_name = velvet +build_dir = ${JARVIS_TMP_DOWNLOAD}/velvet-1.2.10 +binary_dir = ${JARVIS_ROOT}/software/apps/velvet/bin +case_dir = ${JARVIS_TMP_DOWNLOAD}/velvet-1.2.10 + +[BUILD] +sed -ri 's/\-m64/\-mabi=lp64/g' Makefile +sed -ri 's/CC = gcc/CC = mpicc/g' Makefile +sed -ri 's/CC = gcc/CC = mpicc/g' contrib/MetaVelvet-v0.3.1/Makefile +make 'GATEGORIES=10' 'MAXKMERLENGTH=57' 'LONGSEQUENCES=1' 'OPENMP=1' 'BUNDLEDZLIB=1' +cp -ar velveth velvetg ${JARVIS_ROOT}/software/apps/velvet/bin +mkdir -p ${JARVIS_TMP_DOWNLOAD}/velvet-1.2.10/output + +[CLEAN] + +[RUN] +run = ${JARVIS_ROOT}/software/apps/velvet/bin/velveth output 31 -shortPaired -fastq.gz tests/read1.fq.gz -shortPaired -fastq.gz tests/read2.fq.gz && +binary = velvetg output -min_contig_lgth 100 -cov_cutoff 9 +nodes = 1 diff --git a/templates/wannier_tools/2.7.1/wannier_tools.arm.hpckit.bisheng.hmpi.config b/templates/wannier_tools/2.7.1/wannier_tools.arm.hpckit.bisheng.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..dc5a284d6a436202790006bfc575dcac02f11371 --- /dev/null +++ b/templates/wannier_tools/2.7.1/wannier_tools.arm.hpckit.bisheng.hmpi.config @@ -0,0 +1,55 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +wannier_tools/2.7.1 ${JARVIS_PROXY}/quanshengwu/wannier_tools/archive/refs/tags/v2.7.1.tar.gz wannier_tools-2.7.1.tar.gz + +[DEPENDENCY] +module purge +./jarvis -install hpckit/2024.12.30 any +module use ./software/utils/hpckit/2024.12.30/HPCKit/latest/modulefiles +module load bisheng/compiler4.1.0/bishengmodule +module load bisheng/hmpi2.4.3/hmpi +module load bisheng/kml2.5.0/kml +module unload bisheng/kml2.5.0/kspblas/omp +module unload bisheng/kml2.5.0/kvml/serial + +mkdir -p ${JARVIS_ROOT}/software/app/wannier_tools/bin +tar -zxvf ${JARVIS_DOWNLOAD}/wannier_tools-2.7.1.tar.gz -C ${JARVIS_TMP_DOWNLOAD} + +[ENV] +module purge +module use ./software/utils/hpckit/2024.12.30/HPCKit/latest/modulefiles +module load bisheng/compiler4.1.0/bishengmodule +module load bisheng/hmpi2.4.3/hmpi +module load bisheng/kml2.5.0/kml +module unload bisheng/kml2.5.0/kspblas/omp +module unload bisheng/kml2.5.0/kvml/serial +export CC=mpicc +export CXX=mpicxx +export FC=mpifort +export F77=mpifort +export F90=mpifort + +[APP] +app_name = wannier_tools +build_dir = ${JARVIS_TMP_DOWNLOAD}/wannier_tools-2.7.1/src +binary_dir = ${JARVIS_ROOT}/software/app/wannier_tools/bin +case_dir = ${JARVIS_TMP_DOWNLOAD}/wannier_tools-2.7.1/examples/Bi2Se3 + +[BUILD] +echo yes | cp Makefile.gfortran-mpi Makefile +sed -i 's/^F90 =.*/F90 = mpif90 -cpp -DMPI/' Makefile +sed -i 's/^LIBS =.*/LIBS = -L\${JARVIS_UTILS}\/hpckit\/2024.12.30\/HPCKit\/24.12.30\/kml\/bisheng\/lib -lkml_rt/' Makefile +sed -i '1285,1289d' module.f90 +sed -i "1285c character(10) , dimension(magnetic_number_max, angular_number) :: orb_sign = reshape([character(10) :: '','','','s','','','','','','py','pz','px','','','','dxy','dyz','dz2','dxz','dx2-y2','','fy(3x2-y2)','fxyz','fyz2','fz3','fxz2','fz(x2-y2)','fx(x2-3y2)'], [magnetic_number_max, angular_number])" module.f90 +make +cp -ar ../bin/wt.x ${JARVIS_ROOT}/software/app/wannier_tools/bin/ + +[CLEAN] +make clean + +[RUN] +run = tar -zxvf Bi2Se3_hr.tar.gz && mpirun --allow-run-as-root -np $(nproc) +binary = wt.x && cat WT.out | tail -n 40 +nodes = 1 diff --git a/templates/wrf/4.6.0/data.wrf.cpu.sve.config b/templates/wrf/4.6.0/data.wrf.cpu.sve.config new file mode 100644 index 0000000000000000000000000000000000000000..37dfa65871ffabdc88a62ea25c15230dea1bf36f --- /dev/null +++ b/templates/wrf/4.6.0/data.wrf.cpu.sve.config @@ -0,0 +1,145 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +wrf/4.6.0 https://github.com/wrf-model/WRF/releases/download/v4.6.0/v4.6.0.tar.gz WRFV4.6.0.tar.gz + +[DEPENDENCY] +set -e +set -x +sudo yum -y install rpcbind libtirpc* +./jarvis -install package/hpckit/2024.12.30/ any +module use software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module purge +module load bisheng/compiler4.1.0/bishengmodule bisheng/hmpi2.4.3/hmpi + +export CC=clang CXX=clang++ FC=flang +export CFLAGS="-Wno-implicit-function-declaration -Wno-incompatible-function-pointer-types" +./jarvis -install jasper/1.900.2 bisheng + +export CC=mpicc FC=mpifort CXX=mpicxx + +./jarvis -install package/hdf5/1.12.0/clang bisheng+mpi +module use ${JARVIS_ROOT}/software/moduledeps/bisheng4.1.0-hmpi2.4.3/ +module load hdf5-clang/1.12.0 +./jarvis -install package/pnetcdf/1.11.2 bisheng+mpi +module load pnetcdf/1.11.2 +./jarvis -install package/netcdf/4.7.4/clang bisheng+mpi +module load netcdf-clang/4.7.4 +module load bisheng/kml2.5.0/kml bisheng/kml2.5.0/kblas/pthread + +./jarvis -install jasper/1.900.2 bisheng +# basic system components +yum install -y time zlib zlib-devel libtirpc libtirpc-devel patch + +[ENV] +#!/bin/bash +module purge +module use ./software/utils/hpckit/2024.12.30/HPCKit/24.12.30/modulefiles +module purge +module load bisheng/compiler4.1.0/bishengmodule bisheng/hmpi2.4.3/hmpi +module use ./software/moduledeps/bisheng4.1.0-hmpi2.4.3/ +module load hdf5-clang/1.12.0 +module load pnetcdf/1.11.2 +module load netcdf-clang/4.7.4 +module load bisheng/kml2.5.0/kml bisheng/kml2.5.0/kblas/pthread +module use ./software/moduledeps/bisheng4.1.0/ +module load jasper/1.900.2 + +export WRFIO_NCD_LARGE_FILE_SUPPORT=1 +export NETCDF=${NETCDF_CLANG_PATH} +export HDF5=${HDF5_CLANG_PATH} +export PHDF5=${HDF5} +export PNETCDF=${PNETCDF_PATH} +export JASPER=${JASPER_PATH} +export JASPERLIB=${JASPER_PATH}/lib +export JASPREINC=${JASPER_PATH}/include +export MPI_DIR=`dirname $(dirname $(which mpirun))` +export BISHENG_DIR=`dirname $(dirname $(which clang))` +export CPPFLAGS="-I${HDF5}/include -I${PNETCDF}/include -I${NETCDF}/include -I${MPI_DIR}/include" +export LDFLAGS="-L${HDF5}/lib -L${PNETCDF}/lib -L${NETCDF}/lib -lnetcdf -lnetcdff -lpnetcdf -lhdf5_hl -lhdf5 -lz" +export CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif90 F90=mpif90 +export MPI_LIB="-L${MPI_DIR}/lib -lmpi -lomp" +export C_INCLUDE=-I${HDF5}/include:$C_INCLUDE +export CPLUS_INCLUDE=-I${HDF5}/include:$C_INCLUDE + + +export PATH=$JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0/main:$PATH + +[APP] +app_name = WRF +build_dir = $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0 +binary_dir = ${WRF_DIR}/run +case_dir = $JARVIS_ROOT/case/wrf/conus12km + +[BUILD] +set -x +mkdir -p $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0 +tar -xvf ${JARVIS_DOWNLOAD}/WRFV4.6.0.tar.gz --strip-components 1 -C $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0 +cd ${JARVIS_ROOT}/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0 +sed -i "2181c\SFC = flang" arch/configure.defaults +sed -i "2182c\SCC = clang" arch/configure.defaults +sed -i "2183c\CCOMP = clang" arch/configure.defaults +sed -i "2192c\CFLAGS_LOCAL = -w -O3 -c -Wno-implicit-function-declaration -Wno-int-conversion -Wno-implicit-int -mtune=native -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true -L${BISHENG_DIR}/lib -I${BISHENG_DIR}/include " arch/configure.defaults +sed -i "2194c\FCOPTIM = -O3 -mcpu=native -funroll-loops -mtune=native -mcpu=linxicore9100 -mllvm -force-customized-pipeline=true -lmathlib -fopenmp -L${BISHENG_DIR}/lib -Wl,-rpath,${BISHENG_DIR}/lib -L/home/drh/hpcrunner-bak/software/utils/hpckit/2024.12.30/HPCKit/24.12.30/kml/bisheng/lib/noarch -lkm_l9" arch/configure.defaults + + +echo -e "12\n1" | ./configure + +./compile -j 16 em_real 2>&1 | tee -a compile.log + +[CLEAN] +./clean -a + +[RUN] +run = mpirun --allow-run-as-root -n 32 -x OMP_NUM_THREADS=1 -bind-to core ${WRF_DIR}/run/wrf.exe +binary = +nodes = 1 + + +[BATCH] +#定义日志文件 +LOG_FILE="ww3-proformance.log" + +#清空日志文件 +>"$LOG_FILE" + +#复制run目录到运行目录 +mv namelist.input namelist.input-bak +cp -rf $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0/run/* ./ +ln -sf CAMtr_volume_mixing_ratio CAMtr_volume_mixing_ratio.SSP245 +ln -sf MPTABLE.TBL $JARVIS_ROOT/software/apps/bisheng4.1.0-hmpi2.4.3/WRFV4.6.0/phys/noahmp/parameters/MPTABLE.TBL +mv namelist.input-bak namelist.input +trdnum=4 +mynp=32 + +#执行每个命令并统计性能 +#$ROOT_TOOL "mpirun" "time -p mpirun --allow-run-as-root -x PATH -x LD_LIBRARY_PATH --map-by ppr:${mynp}:node:pe=${trdnum} -x OMP_NUM_THREADS=${trdnum} --rank-by core --bind-to core --mca pml ucx -mca btl ^vader,tcp,openib wrf.exe" $LOG_FILE + +mpirun --allow-run-as-root -x PATH -x LD_LIBRARY_PATH --map-by ppr:${mynp}:node:pe=${trdnum} -x OMP_NUM_THREADS=${trdnum} --rank-by core --bind-to core --mca pml ucx -mca btl ^vader,tcp,openib wrf.exe + +echo "ALL commands executed. Performance log saved to $LOG_FILE" + + +[JOB] +#!/bin/sh +#DSUB -n wrf_test +#DSUB --mpi hmpi +#DSUB -q default +#DSUB -N 1 +#DSUB -R cpu=128 +#DSUB -oo wrf.%J.out +#DSUB -oe wrf.%J.err + + +#定义日志文件 +LOG_FILE="wrf-proformance.log" + +#清空日志文件 +>"$LOG_FILE" + +#执行每个命令并统计性能 +$ROOT_TOOL "mpirun" "mpirun -x PATH -x LD_LIBRARY_PATH --map-by ppr:${mynp}:node:pe=${trdnum} -x OMP_NUM_THREADS=${trdnum} --rank-by core --bind-to core --mca pml ucx -mca btl ^vader,tcp,openib wrf.exe" $LOG_FILE +echo "ALL commands executed. Performance log saved to $LOG_FILE" + + diff --git a/templates/wtdbg2/2.5/wtdbg.arm.kgcc.hmpi.config b/templates/wtdbg2/2.5/wtdbg.arm.kgcc.hmpi.config new file mode 100644 index 0000000000000000000000000000000000000000..a96679fb456b211c76a04cfe26b89fa8c3b10bd3 --- /dev/null +++ b/templates/wtdbg2/2.5/wtdbg.arm.kgcc.hmpi.config @@ -0,0 +1,59 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +wtdbg2/2.5 ${JARVIS_PROXY}/ruanjue/wtdbg2/archive/refs/tags/v2.5.tar.gz wtdbg2-2.5.tar.gz +sse2neon/ ${JARVIS_PROXY}/jratcliff63367/sse2neon/archive/master.zip sse2neon-master.zip +case/E.coli http://www.cbcb.umd.edu/software/PBcR/data/selfSampleData.tar.gz + +[DEPENDENCY] +module purge +module use ./software/modulefiles +./jarvis -install kgcc/10.3.1 com +module load kgcc/10.3.1 +./jarvis -install hmpi/2.4.2 gcc +module load hmpi/2.4.2 + +mkdir -p ${JARVIS_ROOT}/software/apps/wtdbg2/bin +tar -zxvf ${JARVIS_DOWNLOAD}/wtdbg2-2.5.tar.gz -C ${JARVIS_TMP_DOWNLOAD} +unzip -j ${JARVIS_DOWNLOAD}/sse2neon-master.zip 'sse2neon-master/SSE2NEON.h' -d ${JARVIS_TMP_DOWNLOAD}/wtdbg2-2.5/ + +[ENV] +module purge +module use ./software/modulefiles +module load kgcc/10.3.1 +module load hmpi/2.4.2 + +[APP] +app_name = wtdbg2 +build_dir = ${JARVIS_TMP_DOWNLOAD}/wtdbg2-2.5 +binary_dir = ${JARVIS_ROOT}/software/apps/wtdbg2/bin +case_dir = ${JARVIS_TMP_DOWNLOAD}/wtdbg2-2.5/wtdbg2_test + +[BUILD] +mv SSE2NEON.h sse2neon.h +sed -i 's/^CC :=.*/CC := mpicc/' Makefile +sed -i 's/^BIN :=.*/BIN := \${JARVIS_ROOT}\/software\/apps\/wtdbg2\/bin/' Makefile +sed -i 's/\-mpopcnt \-msse4.2/\-march=armv8-a/' Makefile +sed -i '/^GENERIC_SRC=.*/s/$/\ sse2neon.h/' Makefile +sed -i '/^#include /a #include \"sse2neon.h\"' ksw.c +sed -i '/^#include /s/^/\/\//' ksw.c +sed -i '/^#include /a #include \"sse2neon.h\"' poacns.h +sed -i '/^#include /s/^/\/\//' poacns.h +sed -i '/^#include /s/^/\/\//' poacns.h +sed -i '/SMASK =.*/s/^/\/\//' poacns.h +make +make install +cp -ar wtdbg2.pl ${JARVIS_ROOT}/software/apps/wtdbg2/bin + +mkdir -p wtdbg2_test +cd wtdbg2_test/ +cp -ar ${JARVIS_DOWNLOAD}/selfSampleData.tar.gz . + +[CLEAN] +make clean + +[RUN] +run = ${JARVIS_ROOT}/software/apps/wtdbg2/bin/wtdbg2 -x rs -g 4.6m -t $(nproc) -i selfSampleData.tar.gz -fo ecoli && +binary = wtpoa-cns -t $(nproc) -i ecoli.ctg.lay.gz -fo ecoli.ctg.fa +nodes = 1