Skip to content

Maknee/Project1-CUDA-Flocking

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

1000 boids and 10000 boids with coherence

Answer to Questions

For each implementation, how does changing the number of boids affect performance? Why do you think this is?

If one has more boids, the CUDA has to calculate iterate through more boids and calulate neighboring nodes. This impacts performance, especially for the naive implementation, which iterates through all boids for each boid when checking for the rule. For the non-naive implemenation, this is less impactful since boids are stored in grid cells.

For each implementation, how does changing the block count and block size affect performance? Why do you think this is?

When changing the block count/block size to be more, this impacts performance by splitting up more work to the GPUs, so more kernel threads can run.

For the coherent uniform grid: did you experience any performance improvements with the more coherent uniform grid? Was this the outcome you expected? Why or why not?

I did notice a performance boost, which is caused by cache hits in the GPU.

Coherent FPS

Uniform FPS

Did changing cell width and checking 27 vs 8 neighboring cells affect performance? Why or why not? Be careful: it is insufficient (and possibly incorrect) to say that 27-cell is slower simply because there are more cells to check!

When changing the block count/block size to be more, this impacts performance by making the non-naive implementation has to iterate through more boids. This does not impact the naive implementation as it iterates through all the boids anyways.

Performance Analysis (FPS)

Performance Analysis (From NSight)

2000 boids vs 20000 boids (visualized)

Naive

Uniform

Coherent

20000 boids (non visualized)

Uniform

Coherent

128 vs 256 blocks (20000 boids)

Uniform

Coherent

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • CMake 65.2%
  • Cuda 20.6%
  • C++ 13.4%
  • Other 0.8%