Skip to content

MightyHelper/ppyd-gol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ppyd-gol

A basic implementation of the Game of Life using MPI.

Cmake 3.28 is required - you need the ppa (https://apt.kitware.com/)

Compilation

To compile the project, please run the following commands:

mkdir build
cd build
cmake ..
make -j 32

Execution

From the build directory, you can run the following commands:

src/main/gol
mpirun -n 9 src/main/par_gol

Debugging

GDB

GDB 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) exit

Valgrind

Valgrind 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.

Sequential

valgrind src/main/gol

Parallel

When running with MPI, Valgrind may produce some MPI-related warnings that can be ignored:

mpirun -n 9 valgrind src/main/par_gol

Experiment execution

  1. Create a WANDB account wandb.ai
  2. Install WANDB locally using pip
  3. Run wandb login and paste in your token
  4. Create a sweep.yaml
  5. Run wandb sweep -p <project> -e <entity> to create the sweep
  6. Create a available_processes.txt inside executor with the number of cores available on the machine
  7. Run nohup <sweep agent cmd> & as many times as required from executor

About

MPI GOL basic implementation

Resources

Stars

0 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors