Skip to content

Cray XC40 (Cori) Build Example

Kevin Huck edited this page Dec 20, 2017 · 7 revisions

Building on Cori is slightly more complicated than Titan, because some dependencies (EVPath, SQLite3) have to be built first. EVPath is not available as a module, but SQLite3 is installed in the system directory. Unfortunately, the SQLite3 library is not a static library, and the compiler default is to perform static links. To set up your environment, do the following:

  • Load modules (see note, above)
module unload darshan
module swap PrgEnv-intel PrgEnv-gnu
module swap craype-haswell craype-mic-knl
module load papi
module load cmake
  • Build SQLite3 See instructions on the main page.

  • Build EVPath Follow the instructions on the main page of this wiki, but before running chaos_build.pl, read and follow the instructions at the bottom of the chaos_build_config file. To summarize, do this:

mkdir chaos
cd chaos
wget http://www.cc.gatech.edu/systems/projects/EVPath/chaos_bootstrap.pl
perl ./chaos_bootstrap.pl adios-1.13 /desired/path/to/evpath/installation

edit the chaos_build_config file, then run:

perl ./chaos_build.pl
  • Get the SOS source code:
git clone [email protected]:cdwdirect/sos_flow.git
cd sos_flow
git checkout master
mkdir build-cori-knl
cd build-cori-knl
  • Configure with cmake:
# set an installation prefix location, or just "." for testing
sosdir=/path/to/sos/installation/prefix
FLEXPATH_DIR=/path/to/chaos/installation
SQLite3_DIR=/path/to/sqlite3/installation
cmake \
        -DCMAKE_BUILD_TYPE=RelWithDebInfo \
        -DBUILD_SHARED_LIBS=FALSE \
        -DCMAKE_INSTALL_PREFIX=${sosdir} \
        -DCMAKE_C_COMPILER=cc \
        -DCMAKE_CXX_COMPILER=CC \
        -DSOS_CLOUD_SYNC_WITH_EVPATH=TRUE \
        -DEVPath_DIR=${FLEXPATH_DIR} \
        -DSQLite3_DIR=${SQLite3_DIR} \
        ..
  • Compile!
make -j4
make install