13
Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid Defense

Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

Embed Size (px)

Citation preview

Page 1: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

Cellular AutomataSemester Project for Parallel

Computing

Group Members:

Bibrak QamarJahanzeb Maqbool

Muhammad Imran

Bilawal SarwarMehreen Nadeem

Mid Defense

Page 2: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

Project Description

• We have chosen 'Game of Life' and 'Fish and Shark Problem' . 

• We are using CUDA to implement these simulations as they are not only compute intensive but also best fits in the CUDA paradigm, for having many threads.

• Work Completed• Implementation Game of Life on CUDA is completed

• Implementation Fish and Shark on CUDA is completed 

Page 3: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

Game of Life Kernel

Host memory = NxNxsizeof(int) one arrayDevice memory = NxNxsizeof(int) two arrays

Page 4: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

• Implementation Game of Life in CUDA using OpenGL 

Initialized the grid

Page 5: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

After 700 generations

Page 6: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

Fish and Shark Kernel 

Page 7: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

•#define fishes 0•#define sharks 1•#define fish_breed 2•#define shark_breed 3-----------------------------------------------------------------------------•int FS_Data[4];•FS_Data[fishes] = 0; // fishes•FS_Data[sharks] = 0; // sharks•FS_Data[fish_breed] = 0; // fishes breed•FS_Data[shark_breed] = 0; // sharks breed

Good use of registers ( with block size = 256, compute capability = 1.1)nvcc --ptxas-options=-v shows registers used ptxas info : Used 10 registers, 8+16 bytes smem, 60 bytes cmem[1]

Page 8: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid
Page 9: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

• Implementation “Fish and Shark “ on CUDA is completed

Initialized the grid

Yellow = Shark

Red = Fish

Black = Dead

Page 10: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

After 1263 generations

Page 11: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid
Page 12: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid

Remaining Work

• Using a new technique MPI + CUDA• We intend to use MPJ + JCUDA

– We have successfully run JCUDA program on linux and windows, and have merged both MPJ and JCUDA.

Page 13: Cellular Automata Semester Project for Parallel Computing Group Members: Bibrak Qamar Jahanzeb Maqbool Muhammad Imran Bilawal Sarwar Mehreen Nadeem Mid