Skip to content

nmagarino/Project1-CUDA-Flocking

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

University of Pennsylvania, CIS 565: GPU Programming and Architecture, Project 1 - Flocking

FLOCKING ZOOMIES

READ-ME

Boids are particles that follow three rules: cohesion, separation, and alignment, and check their neighboring boids to compute their velocity on the next frame of the simulation.

Performance Analysis

For each implementation, increasing the number of boids generally decreases the framerate as more neighbor boid data accesses are done per boid.

Increasing the CUDA kernels' block size generally improved performance, as doing so allows more threads to run in parallel on the GPU.

In all, the coherent grid had greater performance than any other implementation, as expected, as this method allowed the most data to be continguous in memory, thus decreasing the time needed to access the next piece of data.

Decreasing cell width reduces performance, as it adds more overall cells to check. In general, more cells results in more memory access that may not be contiguous, reducing performance.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Cuda 40.8%
  • C++ 39.4%
  • CMake 17.8%
  • Other 2.0%