Skip to content
Kevin Huck edited this page Jun 27, 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.

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 -i
make -i 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 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 for OpenMP support.

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