Download presentation
Presentation is loading. Please wait.
Published byJessica Stanley Modified over 9 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.