

On Ubuntu 14.04 and compiled with gcc 4.8.4.

Please make sure you have correctly set up all CUDA environment variables. It is a cellular automaton, and was invented by Cambridge mathematician John Conway. DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc # This is done for systems where the user may use another compiler that may not be compatible with NVIDIA's nvcc) The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. mkdir build # Create a directory where the compilation will be performed.We made use of CMake in order to build the project. The following libraries are required to build the code: As long as a cell is alive it's blue channel componet is increased.Then, if a cell dies it is colored red and gradually vanishes from the board.When the game starts, all cells that are initially alive are colored green.The game is played on an innite grid of square cells, and its evolution is only determined by its initial state. The GLUT and OpenGL libraries are required for the execution of the game. The Game of Life is a cellular-automaton, zero player game, developed by John Conway in 1970.
#Conway game of life flash update
We made use of the CUDA-OpenGL interoperabilityįunctionality to update the texture array when running the CUDA version. The project has OpenGL support for viewing the game's evolution. When the kernel is launched, all threads in a block copy their corresponding cells to the shared memory array, thus limiting redundant global memory loads, and then calculate the status of each cell in the next generation. This explorable illustrates one of the most famous complex dynamical systems: The Game of Life developed by John Horton Conway in 1970. The final (and fastest) kernel makes use of the on-chip shared memory. That corresponds to each thread is a input parameter specified in the configuration file by the cellsPerThread entry. The second kernel uses a 2D version of a grid sized loop to calculate each generation. Whether it is alive or not in the next generation. In the first kernel each cell is assigned one cell, fetches it's neighbors and decides according to the rules above We use the game to explore issues in symbiopoiesis and evo-devo, where we explore a fractal hypothesis: that self-similarity exists at different levels (cells, organisms, ecological communities). Today we will see the types of life-forms we can create with this game, whether we can tell if a game of Life will go on innitely, and see how a game of Life can be used to solve any computational problem a computer can solve. In order to simulate the infinite grid we implemented a cyclic world version.įor more information and other interesting facts visit Conway's Game of Life on Wikipedia CUDA Kernels Simple Cuda Kernel This might seem like a rather boring game at rst, but there are many remarkable facts about this game. Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.

#Conway game of life flash code
This is not a new idea, there's already a video out there of this being done, but my version is much faster and uses a matrix with far more pixels, making it much more interesting to watch.This repository contains an implementation of Conway's Game of Life in C++ and CUDA Code by Vassilis Choutas and Konstantinos Chamzas. Having just discovered the excellent TVout library, I though I would combine it with one of my old favourites, Conway's Game Of Life.
