Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS179: GPU Programming Lecture 16: Final Project Discussion.

Similar presentations


Presentation on theme: "CS179: GPU Programming Lecture 16: Final Project Discussion."— Presentation transcript:

1 CS179: GPU Programming Lecture 16: Final Project Discussion

2 Today  Final Projects

3 Recap  Week 1: Why GPU?  Week 2: Learning & Optimizing CUDA  Week 3: CUDA Memory  Week 4: CUDA and OpenGL  Week 5: GPU Accelerated Libraries  Week 6: Waves on the GPU  Week 7: CUDA and MPI  Week 8: Projects  Week 9, 10: Special topics?

4 Final Project  Self-designed lab  Everything is up to you  Should be about same complexity as labs 3-7  Basing project on existing lab might help  300 points (30% of final grade)  Due Friday, June 6 th  There will be no extensions w/o Dean’s approval!

5 Project Ideas  Image Processing

6 Project Ideas  Computer Vision -- Look into OpenCV  Will be difficult without your own rig feature tracking stereo reconstruction http://www.cs.unc.edu/~gallup/cuda-stereo/ (do not copy source code)

7 Project Ideas  Geometry Processing marching cubes (reference in SDK, don’t copy code)

8 Project Ideas  Fluid Simulations  Check out NVIDIA GPU Gems, SDK, etc.  Lots of resources online!  As always, don’t directly copy code

9 Project Ideas  Raytracing

10 Project Ideas  Sorting  Nothing graphical required here  Will probably be pretty simple in design, but lots to explore  Focus on optimizations, memory, etc.  Algorithm and implementation should be robust!

11 Project Ideas  Many, many more…  Feel free to do what interests you  Try to keep scale reasonable  Talk to TA if you’re stuck!

12 Step 1: Design  What problem are you trying to tackle?  Why will GPU-parallelism work for your project?  What will each thread do?  How will memory be handled?  What sort of CPU overhead do you need?  Will any lab help here?

13 Step 2: Writing the Lab  Easiest to start using an existing lab (but not necessary)  Labs 3 and 4 might be useful for graphics applications  Check other code for useful timing, etc. code  Focus on good memory management  Good memory accessing, using shared instead of global, etc.  After design, project should fall into place  Most GPU algorithms are simple (because GPU threads are simple!)  Again, talk to a TA if you’re unsure where to go

14 Step 3: Analyzing the Project  README required, should contain:  Brief description of project  Any compilation instructions, external libs, etc.  Answer 3 questions from design phase:  Why does GPU help here?  What work does one thread do per kernel call?  What sorts of considerations did you make regarding memory?  Benchmark performances -- do these meet your expectations?  All this will be in the project website writeup

15 Schedule  Today: Project introduction  This week’s OH: Lab 7  This week Wed/Fri: Final Project help  Mini-OH during class time: if you need consultation for a project, feel free to swing by  Next weeks: Special topics in GPU programming  GLSL, OpenCV, etc.  Next weeks’ OH: Final Project  Project Due: June 6 th


Download ppt "CS179: GPU Programming Lecture 16: Final Project Discussion."

Similar presentations


Ads by Google