diff --git a/container/openeuler-gcc-9.3.0-mfem.def b/container/openeuler-gcc-9.3.0-mfem.def new file mode 100644 index 0000000000000000000000000000000000000000..b45e03fc6c33f5ed6b73757cf841da0097691ca4 --- /dev/null +++ b/container/openeuler-gcc-9.3.0-mfem.def @@ -0,0 +1,34 @@ +BootStrap: docker +From: openeuler/openeuler + +%environment + source /etc/profile || true + cd /hpcrunner + source env.sh + +%post + # Install the necessary development environment + yum install -y environment-modules git dmidecode pciutils wget vim + # Install base gcc + yum install -y gcc gcc-c++ gcc-gfortran glibc-devel make libgfortran + # install network package + yum install -y tcsh tcl lsof tk bc + source /etc/profile || true + git config --global http.sslVerify false + git clone https://gitee.com/openeuler/hpcrunner + cd hpcrunner + source ./init.sh + ./jarvis -i + # Switch config + ./jarvis -use templates/mfem/4.4/data.mfem.amd.cpu.config + # install dependency + ./jarvis -dp + # build hpc + ./jarvis -b + # run hpc + ./jarvis -r + # clean tmp directory + #rm -rf downloads tmp + +%labels + Author blackgaryc \ No newline at end of file diff --git a/package/mfem/4.4/install.sh b/package/mfem/4.4/install.sh new file mode 100644 index 0000000000000000000000000000000000000000..66ac7f626161f797f06326da735c3ad010e38d96 --- /dev/null +++ b/package/mfem/4.4/install.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -x +set -e +. ${DOWNLOAD_TOOL} -u https://github.com/mfem/mfem/archive/refs/tags/v4.4.tar.gz +cd ${JARVIS_TMP} +rm -rf mfem-4.4 +tar -xvf ${JARVIS_DOWNLOAD}/v4.4.tar.gz +sed -i 's/>= MINSIGSTKSZ.*/;/' mfem-4.4/tests/unit/catch.hpp +cd mfem-4.4 +make serial -j +make install PREFIX=$1 \ No newline at end of file diff --git a/templates/mfem/4.4/data.mfem.amd.cpu.config b/templates/mfem/4.4/data.mfem.amd.cpu.config new file mode 100644 index 0000000000000000000000000000000000000000..2c5c68259f11b3e4b20f53a20ca3c1ed3ac1a049 --- /dev/null +++ b/templates/mfem/4.4/data.mfem.amd.cpu.config @@ -0,0 +1,34 @@ +[SERVER] +11.11.11.11 + +[DEPENDENCY] +set -e +set -x +./jarvis -install gcc/9.3.0 com +module purge +module use ./software/modulefiles +module load gcc/9.3.0 +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` +[ENV] +module purge +module use ${JARVIS_ROOT}/software/modulefiles +module load gcc/9.3.0 +export CC=`which gcc` +export CXX=`which g++` +export FC=`which gfortran` + +[APP] +app_name = mfem +build_dir = ${JARVIS_ROOT} +binary_dir = +case_dir = + +[BUILD] +./jarvis -install mfem/4.4 gcc + +[RUN] +run = cd ${JARVIS_ROOT}/tmp/mfem-4.4 && make test +binary = +nodes = 1 diff --git a/test/test-mfem.sh b/test/test-mfem.sh new file mode 100644 index 0000000000000000000000000000000000000000..56e233b2320fb8f0d803d754e234fa45463548ac --- /dev/null +++ b/test/test-mfem.sh @@ -0,0 +1,15 @@ +#!/bin/bash +cd .. +# release mfem src code +rm -rf tmp/mfem-4.4 +tar xzvf ./downloads/mfem-4.4.tar.gz -C tmp/ +# copy templates +cp -rf templates/mfem/4.4/data.mfem.amd.cpu.config ./ +# switch to config +./jarvis -use data.mfem.amd.cpu.config +# install dependency +./jarvis -dp +# build +./jarvis -b +# run +./jarvis -r