Skip to content
Kevin Huck edited this page Jul 9, 2019 · 18 revisions

Welcome to the xpress-apex wiki!

On this page, there will be several links to get you up and running with different APEX examples. In particular, we hope to have examples for:

  • HPX-5 (aka HPX+, from Indiana University)
  • HPX (from Louisiana State University)
  • OpenMP
  • MPI
  • OCR
  • Others

The full APEX documentation is available on the Github web site.

Building APEX dependencies

APEX has a number of optional dependencies, here's how to build each one. Please read the note for each one to see if it is required for your scenario.

Active Harmony

Required to run APEX policies. Active Harmony has some code that doesn't compile with pedantic warnings as errors, so in that case, use the make options -i or -k to "ignore errors" and/or "keep going".

wget https://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.6.0.tar.gz
tar -xzf ah-4.6.0.tar.gz
cd activeharmony-4.6.0
make
make install prefix=/path/to/install/activeharmony

OTF2

Required to generate OTF2 trace files.

wget https://www.vi-hps.org/cms/upload/packages/otf2/otf2-2.1.1.tar.gz
tar -xzf otf2-2.1.1.tar.gz
cd otf2-2.1.1
./configure --prefix=/path/to/install/otf2 --enable-shared
make
make install

Binutils

Required to support measurement of OpenMP, in order to find code locations of parallel regions and loops based on instruction pointers.

wget http://ftp.gnu.org/gnu/binutils/binutils-2.32.tar.gz
tar -xzf binutils-2.32.tar.gz
cd binutils-2.32
./configure --prefix=/path/to/install/binutils --disable-dependency-tracking --enable-interwork --disable-multilib --enable-shared --disable-nls --enable-64-bit-bfd --enable-install-libiberty
make
make install

OMPT

Required in order to measure OpenMP using the OpenMP Tools Interface.

git clone https://github.com/OpenMPToolsInterface/LLVM-openmp.git
cd LLVM-openmp
mkdir build
cd build
cmake -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DCMAKE_INSTALL_PREFIX=/path/to/install/ompt -DCMAKE_BUILD_TYPE=Release ../project_ompt
make
make install