зеркало из https://github.com/Azure/azurehpc.git
Коммит
6b643eb0de
|
@ -1,12 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
DATA_TAR_SAS_URL=/path/to/casedata.tar
|
||||
DATA_TAR_SAS_URL=/path/to/casedata.tar.tgz
|
||||
DATA_TAR=BO_192_192_28.tgz
|
||||
|
||||
SHARED_DATA=/data
|
||||
DATA_INSTALL_DIR=${DATA_INSTALL_DIR:-/data}
|
||||
|
||||
pushd $SHARED_DATA
|
||||
if [ ! -f ${SHARED_DATA}/${DATA_TAR} ]; then
|
||||
pushd $DATA_INSTALL_DIR
|
||||
if [ ! -f ${DATA_INSTALL_DIR}/${DATA_TAR} ]; then
|
||||
wget -O ${DATA_TAR} "$DATA_TAR_SAS_URL"
|
||||
fi
|
||||
popd
|
||||
|
|
|
@ -2,19 +2,19 @@
|
|||
DOWNLOAD_DIR=/mnt/resource
|
||||
|
||||
# setup IX
|
||||
ECLPATH=/apps/ecl
|
||||
SHARED_APP=/apps
|
||||
APP_INSTALL_DIR=${APP_INSTALL_DIR:-/apps}
|
||||
ECLPATH=${APP_INSTALL_DIR}/ecl
|
||||
APP_NAME=ecl
|
||||
APP_VERSION=2018.2
|
||||
PACKAGE=${APP_VERSION}_IX_DVD.iso
|
||||
PACKAGE2=${APP_VERSION}_DVD.iso
|
||||
MODULE_DIR=${SHARED_APP}/modulefiles
|
||||
MODULE_DIR=${APP_INSTALL_DIR}/modulefiles
|
||||
MODULE_NAME=intersect_${APP_VERSION}
|
||||
|
||||
#NOTE!!! Populate these variables before running the script
|
||||
LICENSE_PORT_IP=<PORT@IP for license server>
|
||||
IX_ISO_SAS_URL=/path/to/intersect_iso.tar
|
||||
ECLIPSE_ISO_SAS_URL=/path/to/eclipse_iso.tar
|
||||
IX_ISO_SAS_URL=/path/to/2018.2_IX_DVD.iso
|
||||
ECLIPSE_ISO_SAS_URL=/path/to/2018.2_DVD.iso
|
||||
|
||||
function create_intersect_modulefile {
|
||||
mkdir -p ${MODULE_DIR}
|
||||
|
@ -23,8 +23,8 @@ cat << EOF >> ${MODULE_DIR}/${MODULE_NAME}
|
|||
#
|
||||
# intersect module for use with 'environment-modules' package:
|
||||
#
|
||||
prepend-path PATH ${SHARED_APP}/${APP_NAME}/tools/linux_x86_64/eclpython/bin
|
||||
prepend-path PATH ${SHARED_APP}/${APP_NAME}/macros
|
||||
prepend-path PATH ${APP_INSTALL_DIR}/${APP_NAME}/tools/linux_x86_64/eclpython/bin
|
||||
prepend-path PATH ${APP_INSTALL_DIR}/${APP_NAME}/macros
|
||||
setenv LM_LICENSE_FILE ${LICENSE_PORT_IP}
|
||||
setenv F_UFMTENDIAN big
|
||||
EOF
|
||||
|
@ -40,7 +40,7 @@ sudo mount -t iso9660 -o loop ${DOWNLOAD_DIR}/${PACKAGE2} /mnt/iso2
|
|||
csh /mnt/iso2/ECLIPSE/UNIX/install/cdinst.csh <<EOF
|
||||
2
|
||||
A
|
||||
${SHARED_APP}/${APP_NAME}
|
||||
${APP_INSTALL_DIR}/${APP_NAME}
|
||||
y
|
||||
EOF
|
||||
|
||||
|
@ -53,10 +53,11 @@ sudo mount -t iso9660 -o loop ${DOWNLOAD_DIR}/${PACKAGE} /mnt/iso
|
|||
|
||||
csh /mnt/iso/UNIX/install/cdinst.csh <<EOF
|
||||
A
|
||||
${SHARED_APP}/${APP_NAME}
|
||||
${APP_INSTALL_DIR}/${APP_NAME}
|
||||
y
|
||||
EOF
|
||||
|
||||
create_intersect_modulefile
|
||||
|
||||
sudo sed -i 's/\/opt\/intel\/compilers_and_libraries_2018.1.163\/linux\/mpi/\/apps\/ecl\/tools\/linux_x86_64\/intel\/mpi\/2018.1.163/g' ${ECLPATH}/tools/linux_x86_64/intel/mpi/2018.1.163/intel64/bin/mpivars.sh
|
||||
SED_STR="s/\/opt\/intel\/compilers_and_libraries_2018.1.163\/linux\/mpi/\\"${APP_INSTALL_DIR}"\/ecl\/tools\/linux_x86_64\/intel\/mpi\/2018.1.163/g"
|
||||
sudo sed -i $SED_STR ${ECLPATH}/tools/linux_x86_64/intel/mpi/2018.1.163/intel64/bin/mpivars.sh
|
||||
|
|
|
@ -60,3 +60,44 @@ To see if the job is running do
|
|||
````
|
||||
qstat -aw
|
||||
````
|
||||
|
||||
## Install and run intersect Benchmarks using [Azure CycleCloud](https://docs.microsoft.com/en-us/azure/cyclecloud/) Cluster
|
||||
|
||||
## Prerequisites
|
||||
|
||||
These steps require a Azure CycleCloud cluster with PBS. The `cyclecloud_simple_pbs` template in the examples directory a suitable choice.
|
||||
|
||||
Follow the steps in the examples/cyclecloud_simple_pbs/readme.md to setup cycle, import the template and start cluster.
|
||||
|
||||
Log in to the headnode of the cluster (from cycleserver):
|
||||
|
||||
```
|
||||
$ cyclecloud connect master -c <cyclecloud cluster name>
|
||||
```
|
||||
|
||||
## Installing Intersect
|
||||
|
||||
You will need to copy the apps/intersect folder to the cyclecloud master.
|
||||
|
||||
Run the following to install ntersect on the cluster (in /scratch):
|
||||
|
||||
export APP_INSTALL_DIR=/scratch
|
||||
```
|
||||
apps/intersect/install_full_intersect_2018.2.sh
|
||||
```
|
||||
|
||||
## Install the data sets for intersect
|
||||
|
||||
export DATA_INSTALL_DIR=/scratch
|
||||
```
|
||||
apps/intersect/install_case_intersect_2018.2.sh
|
||||
```
|
||||
|
||||
## Running Intersect
|
||||
|
||||
Copy apps/intersect to the cyclecloud master node.
|
||||
|
||||
To run on two HB nodes with 8 total cores (4 cores on each node) run ( Intersect installation and case model are in /scratch)
|
||||
```
|
||||
qsub -l select=2:ncpus=60:mpiprocs=4 -v case=BO_192_192_28,APP_INSTALL_DIR=/scratch,DATA_INSTALL_DIR=/scratch apps/intersect/run_intersect_2018.2.sh
|
||||
```
|
||||
|
|
|
@ -4,19 +4,21 @@ set -o pipefail
|
|||
|
||||
APP_NAME=intersect
|
||||
APP_VERSION=2018.2
|
||||
SHARED_APP=/apps
|
||||
SHARED_DATA=/data
|
||||
ECLPATH=$SHARED_APP/ecl
|
||||
case=${case:-BO_192_192_28}
|
||||
APP_INSTALL_DIR=${APP_INSTALL_DIR:-/apps}
|
||||
DATA_INSTALL_DIR=${DATA_INSTALL_DIR:-/scratch}
|
||||
ECLPATH=$APP_INSTALL_DIR/ecl
|
||||
#NOTE!! this path will depend on the dataset tar structure. the tar we used had case files under data e.g. data/BO_192_192_28
|
||||
CASEPATH=data/${case}
|
||||
source /etc/profile # so we can load modules
|
||||
module use $SHARED_APP/modulefiles
|
||||
CASEPATH=${PBS_O_WORKDIR}/${case}
|
||||
export MODULEPATH=${APP_INSTALL_DIR}/modulefiles:$MODULEPATH
|
||||
module use $APP_INSTALL_DIR/modulefiles
|
||||
module load intersect_${APP_VERSION}
|
||||
source ${ECLPATH}/tools/linux_x86_64/intel/mpi/2018.1.163/intel64/bin/mpivars.sh
|
||||
|
||||
cores=`cat $PBS_NODEFILE | wc -l`
|
||||
|
||||
cp $SHARED_DATA/${case}.tgz .
|
||||
cd $PBS_O_WORKDIR
|
||||
cp $DATA_INSTALL_DIR/${case}.tgz .
|
||||
tar xvf ${case}.tgz
|
||||
#
|
||||
start_time=$SECONDS
|
||||
|
@ -31,8 +33,6 @@ eclrun_time=$(($end_time - $start_time))
|
|||
|
||||
case_output=$CASEPATH/${case}.LOG
|
||||
|
||||
cp -r $CASEPATH $SHARED_DATA
|
||||
|
||||
# extract telemetry
|
||||
if [ -f "${case_output}" ]; then
|
||||
# SECTION Simulation complete. E 215s = 0h03m35s | C [198s,206s] | M [879.1M,1.2G,29.1G]
|
||||
|
|
Загрузка…
Ссылка в новой задаче