From ad5d2ff18cbb7ee486f085f0f931148ab4631c01 Mon Sep 17 00:00:00 2001 From: jsfhd <2162443403@qq.com> Date: Fri, 7 Mar 2025 11:56:04 +0800 Subject: [PATCH] add mpb-1.11.1 templates --- templates/mpb/1.11.1/data.mpb.arm.cpu.config | 163 +++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 templates/mpb/1.11.1/data.mpb.arm.cpu.config diff --git a/templates/mpb/1.11.1/data.mpb.arm.cpu.config b/templates/mpb/1.11.1/data.mpb.arm.cpu.config new file mode 100644 index 0000000..4a2d4a7 --- /dev/null +++ b/templates/mpb/1.11.1/data.mpb.arm.cpu.config @@ -0,0 +1,163 @@ +[SERVER] +11.11.11.11 + +[DOWNLOAD] +openblas/0.3.18 https://github.com/xianyi/OpenBLAS/archive/refs/tags/v0.3.18.tar.gz OpenBLAS-0.3.18.tar.gz +hdf5/1.10.1 https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.1/src/hdf5-1.10.1.tar.gz +harminv/1.4.1 https://codeload.github.com/NanoComp/harminv/tar.gz/v1.4.1 harminv-v1.4.1.tar.gz +fftw/3.3.8 http://www.fftw.org/fftw-3.3.8.tar.gz +libctl/4.5.0 https://codeload.github.com/NanoComp/libctl/tar.gz/v4.5.0 libctl-v4.5.0.tar.gz +libGDSII/0.21 https://codeload.github.com/HomerReid/libGDSII/tar.gz/v0.21 libGDSII-v0.21.tar.gz +mpb/1.11.1 https://github.com/NanoComp/mpb/archive/v1.11.1.tar.gz mpb-v1.11.1.tar.gz + +[DEPENDENCY] +set -e +set -x +module purge +./jarvis -install package/hpckit/2024.12.30 any +module use software/utils/hpckit/2024.12.30/HPCKit/latest/modulefiles +module add bisheng/compiler4.1.0/bishengmodule + +[ENV] +module purge +module use software/utils/hpckit/2024.12.30/HPCKit/latest/modulefiles +module add bisheng/compiler4.1.0/bishengmodule +export MPB_DEPENDENCIES_DIR=${JARVIS_ROOT}/MPB_DEPENDENCIES +export MPB_DIR=${JARVIS_ROOT}/software/apps/bisheng/mpb/1.11.1 +export PATH=${MPB_DEPENDENCIES_DIR}/bin:${MPB_DIR}/bin:$PATH +export LD_LIBRARY_PATH=${MPB_DEPENDENCIES_DIR}/lib:${MPB_DEPENDENCIES_DIR}/lib64:${MPB_DIR}/lib:${MPB_DIR}/lib64:$LD_LIBRARY_PATH +export LIBRARY_PATH=${MPB_DEPENDENCIES_DIR}/lib:${MPB_DEPENDENCIES_DIR}/lib64:${MPB_DIR}/lib:${MPB_DIR}/lib64:$LIBRARY_PATH +export C_INCLUDE_PATH=${MPB_DEPENDENCIES_DIR}/include:${MPB_DIR}/include:$C_INCLUDE_PATH +export CPLUS_INCLUDE_PATH=${MPB_DEPENDENCIES_DIR}/include:${MPB_DIR}/include:$CPLUS_INCLUDE_PATH +mkdir -p ${JARVIS_ROOT}/case + +[APP] +app_name = mpb +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = ${JARVIS_ROOT}/case + +[BUILD] +#install basedependencies +yum install -y guile-devel python3-devel gsl-devel latex2html swig patch hostname + +export MPB_DEPENDENCIES_DIR=${JARVIS_ROOT}/MPB_DEPENDENCIES +export MPB_DIR=${JARVIS_ROOT}/software/apps/bisheng/mpb/1.11.1 + +rm -rf ${MPB_DEPENDENCIES_DIR} +rm -rf ${MPB_DIR} + +#openblas +cd ${JARVIS_ROOT}/tmp +rm -rf OpenBLAS-0.3.18 +tar xf ${JARVIS_DOWNLOAD}/OpenBLAS-0.3.18.tar.gz +cd OpenBLAS-0.3.18 +make -j CFLAGS="-Wno-implicit-function-declaration -Wno-implicit-int -Wno-int-conversion" +make PREFIX=${MPB_DEPENDENCIES_DIR} install +rm -rf ${JARVIS_ROOT}/tmp/OpenBLAS-0.3.18 +export PATH=${MPB_DEPENDENCIES_DIR}/bin:$PATH +export LD_LIBRARY_PATH=${MPB_DEPENDENCIES_DIR}/lib:${MPB_DEPENDENCIES_DIR}/lib64:$LD_LIBRARY_PATH +export LIBRARY_PATH=${MPB_DEPENDENCIES_DIR}/lib:${MPB_DEPENDENCIES_DIR}/lib64:$LIBRARY_PATH +export C_INCLUDE_PATH=${MPB_DEPENDENCIES_DIR}/include:$C_INCLUDE_PATH +export CPLUS_INCLUDE_PATH=${MPB_DEPENDENCIES_DIR}/include:$CPLUS_INCLUDE_PATH + +#hdf5 +cd ${JARVIS_ROOT}/tmp +rm -rf hdf5-1.10.1 +tar xf ${JARVIS_DOWNLOAD}/hdf5-1.10.1.tar.gz +cd hdf5-1.10.1 +CC=mpicc CXX=mpicxx FC=mpifort ./configure --prefix=${MPB_DEPENDENCIES_DIR} --enable-fortran --enable-static=yes --enable-parallel --enable-shared CFLAGS="-O3 -fPIC -Wno-incompatible-pointer-types-discards-qualifiers -Wno-non-literal-null-conversion -Wno-implicit-function-declaration -Wno-implicit-int -Wno-int-conversion" FCFLAGS="-O3 -fPIC" LDFLAGS="-Wl,--build-id" +sed -i '11835c wl="-Wl,"' libtool +make -j +make install +rm -rf ${JARVIS_ROOT}/tmp/hdf5-1.10.1 + +#install harminv +cd ${JARVIS_ROOT}/tmp +rm -rf harminv-1.4.1 +tar xvf ${JARVIS_DOWNLOAD}/harminv-v1.4.1.tar.gz +cd harminv-1.4.1 +sh autogen.sh --prefix=${MPB_DEPENDENCIES_DIR} --enable-shared LDFLAGS="-L${MPB_DEPENDENCIES_DIR}/lib" +make -j +make install +rm -rf ${JARVIS_ROOT}/tmp/harminv-1.4.1 + +#fftw +cd ${JARVIS_ROOT}/tmp +rm -rf fftw-3.3.8 +tar xf ${JARVIS_DOWNLOAD}/fftw-3.3.8.tar.gz +cd fftw-3.3.8 +./bootstrap.sh +./configure --prefix=${MPB_DEPENDENCIES_DIR} --enable-shared --enable-static --enable-fma --enable-neon --enable-mpi +make -j +make install +rm -rf ${JARVIS_ROOT}/tmp/fftw-3.3.8 + +#install libctl +cd ${JARVIS_ROOT}/tmp +rm -rf libctl-4.5.0 +tar xf ${JARVIS_DOWNLOAD}/libctl-v4.5.0.tar.gz +cd libctl-4.5.0 +sh autogen.sh --enable-shared --prefix=${MPB_DEPENDENCIES_DIR} LDFLAGS="-L${MPB_DEPENDENCIES_DIR}/lib" CPPFLAGS="-I${MPB_DEPENDENCIES_DIR}/include" +make -j +make -j install +rm -rf ${JARVIS_ROOT}/tmp/libctl-4.5.0 + +#install libGDSII +cd ${JARVIS_ROOT}/tmp +rm -rf libGDSII-0.21 +tar xvf ${JARVIS_DOWNLOAD}/libGDSII-v0.21.tar.gz +cd libGDSII-0.21 +sh autogen.sh --prefix=${MPB_DEPENDENCIES_DIR} +make -j +make -j install +rm -rf ${JARVIS_ROOT}/tmp/libGDSII-0.21 + +#install mpb +cd ${JARVIS_ROOT}/tmp +rm -rf mpb-1.11.1 +tar xvf ${JARVIS_DOWNLOAD}/mpb-v1.11.1.tar.gz +cd mpb-1.11.1 +sh autogen.sh --prefix=${MPB_DIR} --enable-shared LDFLAGS="-L${MPB_DEPENDENCIES_DIR}/lib -L/usr/lib64" CPPFLAGS="-I${MPB_DEPENDENCIES_DIR}/include -I/usr/include" CFLAGS="-O3 -march=armv8.2-a -mtune=tsv110" --with-libctl=${MPB_DEPENDENCIES_DIR}/share/libctl +sed -i "43s/scm/(SCM) scm/g" mpb/my-smob.h +sed -i "42d" mpb/my-smob.h +make -j +make install +rm -rf ${JARVIS_ROOT}/tmp/mpb-1.11.1 + +[CLEAN] + +[RUN] +run = +binary = +nodes = 1 + +[BATCH] +#定义日志文件 +LOG_FILE="mpb-performance.log" + +#清空日志文件 +> "$LOG_FILE" + +#执行命令并统计性能 +#待补充 + + +[JOB] +#!/bin/sh +#DSUB -n mpb_test +#DSUB --mpi hmpi +#DSUB -q default +#DSUB -N 1 +#DSUB -R cpu =128 +#DSUB -oo mpb_$J.out +#DSUB -eo mpb.$J.err + +#生成算例 +cd ${JARVIS_ROOT}/case +tar xf ${JARVIS_DOWNLOAD}/mpb-v1.11.1.tar.gz +cd mpb-1.11.1/examples + +#运行 +#待补充 +#mpb check.ctl |tee check.out -- Gitee