This project contains a simple divide-and-conquer style vector addition program for Constellation.
To install this software, Java >= 8 is required. The software can be built with:
git clone https://github.com/JungleComputing/vectoradd-constellation
cd vectoradd-constellation
./gradlew distTar
This creates a distribution in build/distributions
that can be unpacked
anywhere and run with:
cp build/distributions/vectoradd-constellation.tar /path/of/your/choice
cd /path/of/your/choice
tar xf vectoradd-constellation.tar
Alternatively, the following command installs the distribution in
build/install
.
./gradlew installDist
For running this application, we assume that the distribution has been
installed in /path/of/your/choice
. For example, if you installed it using
installDist
, the path would look like:
export VECTORADD_DIR=/path/of/your/choice/vectoradd-constellation/build/install/vectoradd-constellation
Otherwise:
export VECTORADD_DIR=/path/of/your/choice/vectoradd-constellation
cd $VECTORADD_DIR
We can start the application using the command below. In this case, we will do a vector addition of 8192 elements, the threshold to decide whether to compute or to divide into smaller tasks is 128.
./bin/vectoradd-constellation.local -n 8192 -computeDivideThreshold 128
The next step is to run the Constellation server on the head node of the cluster. To do this, we have to add to the environment on which port we want to communicate with the Constellation server:
export CONSTELLATION_PORT=<your unique port number>
We can now start the Constellation server:
./bin/constellation-server
Finally, we can start the application using the command below. In this case, we will do a vector addition of 8192 elements, the threshold to decide whether to compute or to divide into smaller tasks is 128, and we will run it on 2 regular nodes in the DAS-5 cluster.
./bin/vectoradd-constellation -n 8192 -computeDivideThreshold 128 regular=2