Skip to content

Building FleCSI with stand alone Legion Gasnet

Galen Shipman edited this page Sep 20, 2016 · 16 revisions

Get GASNet (currently using version 1.26.4)

https://gasnet.lbl.gov

wget https://gasnet.lbl.gov/GASNet-1.26.4.tar.gz

Configure GASNet

  • make sure to select an MPI interop compatible conduit such as mpi or ibv conduit.

  • make sure to compile with fPIC (position independent code) as we will be linking the static libs generated from gasnet into a legion shared library

    ./configure --disable-udp --prefix= --enable-mpi-compat --enable-mpi --enable-par CC=gcc -g -fPIC CXX=g++ -g -fPIC MPI_CC=mpicc -g -fPIC

Build and install GASNet:

make -j 4 VERBOSE=1 2>&1 | tee make.out && make install 

Clone Legion:

git clone https://github.com/StanfordLegion/legion.git

Checkout master:

git checkout master 

Make a build directory, say /build

mkdir build && cd build 

Run cmake (or ccmake if you prefer), the following params are useful, make sure the conduit and the gasnet path match what you configured in GASNet

cmake .. -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=<your desired install directory>  -DCMAKE_PREFIX_PATH=<gasnet install dir> -DGASNet_CONDUIT=<conduit> 

Now run make

make -j 4 VERBOSE=1 2>&1 | tee make.out  && make install 

You should now have liblegion.so and librealm.so in your install dir

ls -ltr <your desired install directory>

-rwxr-xr-x. 1 name name 21919984 Sep 20 11:19 librealm.so.1

-rwxr-xr-x. 1 name name 67707976 Sep 20 11:20 liblegion.so.1