Skip to content
This repository has been archived by the owner on Nov 23, 2022. It is now read-only.
/ GameOfLife Public archive

Parallel Horton's Game of Life with two parallelization methods using MPI and CUDA, including sequential method.

License

Notifications You must be signed in to change notification settings

matbmoser/GameOfLife

Repository files navigation

Contributors Forks Tags Issues MIT License LinkedIn


Logo

Game Of Life

We are two students that are learning about HPC, so we programmed this GameOfLife using three diferent methods
Explore the docs »

View Demo · Report Bug · Request Feature

Important

If you want to print the board of the GameOfLife use the sequentialGame.py file, all the files that contain -noprint have no grafical interface and give only the time of the execution.

Built With

(back to top)

Getting Started

Open the script you want to execute, and compile it using py example.py

Prerequisites

Install OpenMPI from: https://www.open-mpi.org/

  • MPI4PY
    python -m pip install mpi4py

If you have a NVIDIA GPU you shall install CUDA Toolkit: https://developer.nvidia.com/cuda-downloads

  • Numba
    python -m pip install numba

For more information check: https://developer.nvidia.com/cuda-python

Installation

  1. Clone the repo

    git clone https://github.com/matbmoser/GameOfLife.git
  2. If you want to execute with NUMBA do:

    python parallelGame.py

    And select the max number of cores

  3. If you want to execute with MPI do:

     mpiexec -cores <numofcores> python .\parallelGameMPI.py 

    You can choose the number of cores by changing numofcores to 2 for example

(back to top)

License

Distributed under the MIT License. See LICENSE.md for more information.

(back to top)

Contact

Mathias Moser - [email protected]

Project Link: https://github.com/matbmoser/GameOfLife

(back to top)

About

Parallel Horton's Game of Life with two parallelization methods using MPI and CUDA, including sequential method.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages