From 1b4e5eb825777a9bb50ce304bf2f621507f71d05 Mon Sep 17 00:00:00 2001 From: jsfhd <2162443403@qq.com> Date: Fri, 7 Mar 2025 11:44:23 +0800 Subject: [PATCH] add meep-1.17.1 templates --- .../meep/1.17.1/data.meep.arm.cpu.config | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 templates/meep/1.17.1/data.meep.arm.cpu.config diff --git a/templates/meep/1.17.1/data.meep.arm.cpu.config b/templates/meep/1.17.1/data.meep.arm.cpu.config new file mode 100644 index 0000000..b552d92 --- /dev/null +++ b/templates/meep/1.17.1/data.meep.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-1.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-4.5.0.tar.gz +libGDSII/0.21 https://codeload.github.com/HomerReid/libGDSII/tar.gz/v0.21 libGDSII-0.21.tar.gz +meep/1.17.1 https://codeload.github.com/NanoComp/meep/tar.gz/v1.17.1 meep-1.17.1.tar.gz + +[DEPENDENCY] +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 +module add bisheng/hmpi2.4.3/hmpi + +[ENV] +module purge +module use software/utils/hpckit/2024.12.30/HPCKit/latest/modulefiles +module add bisheng/compiler4.1.0/bishengmodule +module add bisheng/hmpi2.4.3/hmpi +export MEEP_DEPENDENCIES_DIR=${JARVIS_ROOT}/MEEP_DEPENDENCIES +export MEEP_DIR=${JARVIS_ROOT}/software/apps/bisheng/meep/1.17.1 +export PATH=${MEEP_DEPENDENCIES_DIR}/bin:${MEEP_DIR}/bin:$PATH +export LD_LIBRARY_PATH=${MEEP_DEPENDENCIES_DIR}/lib:${MEEP_DEPENDENCIES_DIR}/lib64:${MEEP_DIR}/lib:${MEEP_DIR}/lib64:$LD_LIBRARY_PATH +export LIBRARY_PATH=${MEEP_DEPENDENCIES_DIR}/lib:${MEEP_DEPENDENCIES_DIR}/lib64:${MEEP_DIR}/lib:${MEEP_DIR}/lib64:$LIBRARY_PATH +export C_INCLUDE_PATH=${MEEP_DEPENDENCIES_DIR}/include:${MEEP_DIR}/include:$C_INCLUDE_PATH +export CPLUS_INCLUDE_PATH=${MEEP_DEPENDENCIES_DIR}/include:${MEEP_DIR}/include:$CPLUS_INCLUDE_PATH +mkdir -p ${JARVIS_ROOT}/case + +[APP] +app_name = meep +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 MEEP_DEPENDENCIES_DIR=${JARVIS_ROOT}/MEEP_DEPENDENCIES +export MEEP_DIR=${JARVIS_ROOT}/software/apps/bisheng/meep/1.17.1 + +rm -rf ${MEEP_DEPENDENCIES_DIR} +rm -rf ${MEEP_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=${MEEP_DEPENDENCIES_DIR} install +rm -rf ${JARVIS_ROOT}/tmp/OpenBLAS-0.3.18 +export PATH=${MEEP_DEPENDENCIES_DIR}/bin:$PATH +export LD_LIBRARY_PATH=${MEEP_DEPENDENCIES_DIR}/lib:${MEEP_DEPENDENCIES_DIR}/lib64:$LD_LIBRARY_PATH +export LIBRARY_PATH=${MEEP_DEPENDENCIES_DIR}/lib:${MEEP_DEPENDENCIES_DIR}/lib64:$LIBRARY_PATH +export C_INCLUDE_PATH=${MEEP_DEPENDENCIES_DIR}/include:$C_INCLUDE_PATH +export CPLUS_INCLUDE_PATH=${MEEP_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=${MEEP_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-1.4.1.tar.gz +cd harminv-1.4.1 +sh autogen.sh --prefix=${MEEP_DEPENDENCIES_DIR} --enable-shared LDFLAGS="-L${MEEP_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=${MEEP_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-4.5.0.tar.gz +cd libctl-4.5.0 +sh autogen.sh --enable-shared --prefix=${MEEP_DEPENDENCIES_DIR} LDFLAGS="-L${MEEP_DEPENDENCIES_DIR}/lib" CPPFLAGS="-I${MEEP_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-0.21.tar.gz +cd libGDSII-0.21 +sh autogen.sh --prefix=${MEEP_DEPENDENCIES_DIR} +make -j +make -j install +rm -rf ${JARVIS_ROOT}/tmp/libGDSII-0.21 + +#install meep +cd ${JARVIS_ROOT}/tmp +rm -rf meep-1.17.1 +tar xvf ${JARVIS_DOWNLOAD}/meep-1.17.1.tar.gz +cd meep-1.17.1 +sh autogen.sh --prefix=${MEEP_DIR} --enable-shared --with-mpi --with-openmp PYTHON=python3 MPICC=`which mpicc` MPICXX=`which mpic++` LDFLAGS="-L${MEEP_DEPENDENCIES_DIR}/lib -L/usr/lib64" CPPFLAGS="-I${MEEP_DEPENDENCIES_DIR}/include -I/usr/include" CFLAGS="-O3 -march=armv8.2-a -mtune=tsv110" --with-libctl=${MEEP_DEPENDENCIES_DIR}/share/libctl +make -j +make install +rm -rf ${JARVIS_ROOT}/tmp/meep-1.17.1 + +[CLEAN] + +[RUN] +run = +binary = +nodes = 1 + +[BATCH] +#定义日志文件 +LOG_FILE="meep-performance.log" + +#清空日志文件 +> "$LOG_FILE" + +#执行命令并统计性能 +#待补充 + +[JOB] +#!/bin/sh +#DSUB -n meep_test +#DSUB --mpi hmpi +#DSUB -q default +#DSUB -N 1 +#DSUB -R cpu =128 +#DSUB -oo meep_$J.out +#DSUB -eo meep.$J.err + +#生成算例 +cd ${JARVIS_ROOT}/case +tar xf ${JARVIS_DOWNLOAD}/meep-1.17.1.tar.gz +cd meep-1.17.1/scheme/examples + +#运行 +#待补充 +#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 128 meep mie-scattering.ctl |tee mie.out + -- Gitee