This was a group project at the Technical University of Munich within the High Performance Computing Lecture as a part of a masters degree in ECE.
The goal was implement an asynchronous value iteration model configured as a dynamic programming problem. This was
done using Open-MPI
to distribute the workload across different machines.
Many thanks to the lecturers that oversaw the work and provided such an amazing opportunity:
Lecturer | |
---|---|
Gottwald, Martin (PhD) | martin.gottwald@tum.de |
Hein, Alice (PhD) | alice.hein@tum.de |
CMake
OpenMPI
TODO
sudo pacman -S cmake openmpi
pip install numpy scipy termcolor tabulate pytest pytest-check pandas matplotlib seaborn
-
make project
: This is the only target you actually need to run if on the HPC server. It will clean the project, convert pickle files, compile the code and start the execution of the project using thedebug
andsmall
datasets with 2,4 and 6 processes. -
make run
: Simple target to run on the HPC server to debug/run the implementation quickly with only 2 and 4 processes. Only runs the debug dataset by default. -
make local
: Simple target to run on locally to debug/run the implementation quickly with only 2 processes. Only runs the debug dataset by default. -
make bench
: Runs the benchmarking script on the data found in results. -
make test
: Runs a verification/correctness test on all the data found in results. -
make format
: Formates code according to google's style guide. -
make docs
: Generates doxygen documentation.
MPI needs to be able to ssh into the machines specified by the hostfile.
- Run
ssh-keygen
if it hasn't been done already. - Run
ssh-copy-id <user>@hpc02.clients.eikon.tum.de
to copy generated key to a hpc machine. - (Optional)
- Take
example-config
fromblob/example-config
and place it into your~/.ssh
folder. - Then replace
<USER>
with your username. - Rename the file to
config
.
- Take