A basic implementation of the Game of Life using MPI.
Cmake 3.28 is required - you need the ppa (https://apt.kitware.com/)
To compile the project, please run the following commands:
mkdir build
cd build
cmake ..
make -j 32From the build directory, you can run the following commands:
src/main/golmpirun -n 9 src/main/par_golGDB is a powerful debugger that integrates well with CLion. You can run it by debugging a CMake run configuration in CLion.
Alternatively, you can run it from the command line (from the build directory):
$ gdb src/main/gol
(gdb) run
...
(gdb) exitValgrind is a really cool tool for detecting memory leaks and other reasons your program might crash.
Valgrind is also available in CLion as another option alongside debugging, but you can run it from the command line as well.
valgrind src/main/golWhen running with MPI, Valgrind may produce some MPI-related warnings that can be ignored:
mpirun -n 9 valgrind src/main/par_gol- Create a WANDB account wandb.ai
- Install WANDB locally using pip
- Run
wandb loginand paste in your token - Create a sweep.yaml
- Run
wandb sweep -p <project> -e <entity>to create the sweep - Create a
available_processes.txtinsideexecutorwith the number of cores available on the machine - Run
nohup <sweep agent cmd> &as many times as required fromexecutor