Skip to content

Building DGSWEM HPX on Stampede

Zach Byerly edited this page Aug 8, 2016 · 15 revisions

Build and Install HPX

Before starting the following steps, follow the link below for installing HPX:

Building HPX on Stampede

Load Modules

module swap intel/15.0.2 gcc/4.9.1

module load boost/1.55.0

module load cmake/3.1.0

Build and Install LibGeoDecomp

wget --no-check-certificate https://libgeodecomp.org/archive/libgeodecomp-0.4.0-ra22d890554f5fb00b7d88c1e1f7c4716a364511b.tar.gz

tar -xzvf libgeodecomp-0.4.0-ra22d890554f5fb00b7d88c1e1f7c4716a364511b.tar.gz

mv libgeodecomp-0.4.0-ra22d890554f5fb00b7d88c1e1f7c4716a364511b libgeodecomp-0.4.0

Download build script: build_lgd_release_stampede.sh

chmod +x build_lgd_release_stampede.sh

./build_lgd_release_stampede.sh

Clone and Build DGSWEM/HPX

git clone -b dgswem-hpx git@github.com:foci/dgswem.git dgswem-hpx

or:

git clone https://github.com/foci/dgswem.git

cd dgswem

git checkout -b dgswem-hpx remotes/origin/dgswem-hpx

then:

mkdir dgswem-hpx/build_release

cd dgswem-hpx/build_release

cmake -DCMAKE_CXX_COMPILER=/opt/apps/gcc/4.9.1/bin/g++ -DCMAKE_C_COMPILER=/opt/apps/gcc/4.9.1/bin/gcc -DCMAKE_PREFIX_PATH=$WORK/local_install/ -DCMAKE_Fortran_COMPILER=/opt/apps/intel/15/composer_xe_2015.2.164/bin/intel64/ifort -DCMAKE_BUILD_TYPE=Release ..

make dgswem_lgd_dataflow

Running dgswem_hpx

You need to build and run adcprep (make adcprep) and run it in the directory as you normally would for a parallel DGSWEM run. However, the number of subdomains you divide the grid into does not need to match the number of compute cores you plan to use (but generally you should break it into at least that number).

before running, verify that you have the same modules loaded as above:

module swap intel/15.0.2 gcc/4.9.1

module load boost/1.55.0

module load cmake/3.1.0

and add the ifort libraries to your LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=/opt/apps/intel/15/composer_xe_2015.2.164/compiler/lib/intel64:$LD_LIBRARY_PATH

and then finally from the directory of the problem you want to run:

/PATH/TO/dgswem-hpx-dev/build_release/src/dgswem_lgd_dataflow

Command Line Options:

--n_timesteps <number of timesteps>

The application will run into problems if the ulimit -n is not set high enough. (This hasn't been a problem on Stampede so far.)

Sample slurm batch script

When running an HPX application, instead of using -n , use -N -n . Also, there is no restriction on the number of compute nodes or cores and the number of subdomains the problem is divided into.

run_hpx.slurm