Skip to content

Building HPX on Stampede

Parsa Amini edited this page Feb 20, 2019 · 1 revision

Because the $HOME directory quotas on Stampede are so small (5GB), we recommend installing HPX in the $WORK directory.

Create Install Directory

mkdir $WORK/local_install

Load Modules

module swap intel/15.0.2 gcc/4.9.1

module load boost/1.55.0

module load cmake/3.1.0

Install hwloc

wget https://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.2.tar.gz

tar -xzvf hwloc-1.11.2.tar.gz

cd hwloc-1.11.2

./configure --prefix=$WORK/local_install

make

make install

Install jemalloc

download jemalloc-3.6.0.sh

chmod +x jemalloc-3.6.0.sh

./jemalloc-3.6.0.sh $WORK/local_install

Download HPX 0.9.99 Release

wget http://stellar.cct.lsu.edu/files/hpx_0.9.99.tar.gz

tar -xzvf hpx_0.9.99.tar.gz

Build HPX

Download this build script: build_hpx_release_stampede.sh

Make it executable:

chmod +x build_hpx_release_stampede.sh

And finally, run it:

./build_hpx_release_stampede.sh

This script assumes that you've downloaded HPX in your $WORK directory. Change any paths as needed.

(Optional) Building with Intel Compilers

In order to enable support for some c++ features we need, we have to specify some extra compiler flags to the intel compiler: -DCMAKE_CXX_FLAGS:STRING=-gcc-name=/opt/apps/gcc/4.9.1/bin/gcc -gxx-name=/opt/apps/gcc/4.9.1/bin/g++

And because the correct c libraries used are not part of the LD_LIBRARY_PATH when the Intel modules are loaded, we have to manually add the path to the correct libraries before running anything built:

export LD_LIBRARY_PATH=/opt/apps/gcc/4.9.1/lib64/:$LD_LIBRARY_PATH

Clone this wiki locally