Skip to content

installing and running codes online simulation with Union

xwang149 edited this page Apr 11, 2023 · 1 revision

Installing Union with CODES

This page describes the step-by-step process to compile Union and its dependencies and enable Union online simulation with CODES. First, create a directory in which all these dependencies will be installed. In the following, we will assume this directory is $HOME/CODES.

Installing Conceptual

Download Conceptual at https://ccsweb.lanl.gov/~pakin/software/conceptual/download.html (version 1.5.1 or greater)

cd $HOME/CODES
tar xvf conceptual-1.5.1.tar.gz
mv conceptual-1.5.1 conceptual
cd conceptual
./configure --prefix=$HOME/CODES/install/conceptual
make
make install
cd ../

Installing Boost-Python

Download boost at http://www.boost.org/users/download/ (version 1.68 or greater)

tar xvf boost_1_68_0.tar.gz
mv boost_1_68_0 boost
cd boost
./bootstrap.sh --prefix=$HOME/CODES/install/boost  --with-libraries=python
./b2 install
cd ../

Installing Union

Download Union at https://github.com/SPEAR-IIT/Union.git

cd union
./prepare.sh
./configure --with-boost=/path/to/boost/install --with-conceptual=$HOME/CODES/install/conceptual --prefix=$HOME/CODES/install/union CC=mpicc CXX=mpicxx
make
make install

Installing Argobots

git clone --origin argobots [email protected]:pmodels/argobots.git argobots
cd argobots
./autogen.sh
mkdir build
cd build
./configure --prefix=$HOME/CODES/install/argobots
make -j 
make -j install
cd ../

Installing ROSS

git clone https://github.com/carothersc/ROSS.git
mv ROSS ross
cd ross
mkdir build
cd build
ARCH=x86_64 CC=mpicc CXX=mpicxx cmake .. -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$HOME/CODES/install/ross
make
make install
cd ../..

Installing CODES

git clone https://xgitlab.cels.anl.gov/codes/codes.git
cd codes
./prepare.sh
mkdir build
cd build
../configure --prefix=$HOME/CODES/install/codes CC=mpicc CXX=mpicxx CFLAGS='-g -O0' CXXFLAGS='-g -O0' \
PKG_CONFIG_PATH=$HOME/CODES/install/ross/lib/pkgconfig:$HOME/CODES/install/argobots/lib/pkgconfig/:$HOME/CODES/install/union/lib/pkgconfig:$HOME/CODES/install/swm/lib/pkgconfig \
        --with-union=true \
        --with-online=true
make
make install
cd ../..

Running Union online simulations with CODES

Configuration File for Conceptual benchmarks

In $HOME/CODES/install/union/share, a JSON file named conceptual.json could be modified to specify the parameters of the Conceptual benchmarks.

cat $HOME/CODES/configrootdir/conceptual.json
{
  "latency": {
    "argc": 5,
    "argv": [
      "latency",
      "--reps",
      "100",
      "--maxbytes",
      "1M"
    ]
  }
}

Running simulations

  • Running the simulation in sequential mode
$HOME/CODES/install/codes/bin/model-net-mpi-replay --sync=1 --num_net_traces=2 
	--workload_name=conceptual-latency  --workload_type=conc-online 
	-- $HOME/CODES/codes/src/network-workloads/conf/modelnet-mpi-test.conf
  • Running the simulation in optimistic mode
mpirun -np 2 $HOME/CODES/install/codes/bin/model-net-mpi-replay --sync=3 --num_net_traces=2 
	--workload_name=conceptual-latency  --workload_type=conc-online 
	-- $HOME/CODES/codes/src/network-workloads/conf/modelnet-mpi-test.conf
Clone this wiki locally