Presentation is loading. Please wait.

Presentation is loading. Please wait.

Home Exam 2: Video Encoding on GPUs using nVIDIA CUDA with Managed Memory Home Exam 2: Video Encoding on GPUs using nVIDIA CUDA with Managed Memory September.

Similar presentations


Presentation on theme: "Home Exam 2: Video Encoding on GPUs using nVIDIA CUDA with Managed Memory Home Exam 2: Video Encoding on GPUs using nVIDIA CUDA with Managed Memory September."— Presentation transcript:

1 Home Exam 2: Video Encoding on GPUs using nVIDIA CUDA with Managed Memory Home Exam 2: Video Encoding on GPUs using nVIDIA CUDA with Managed Memory September 19 th 2014 INF5063: Programming heterogeneous multi-core processors … because the OS-course is just to easy! Håkon Kvale Stensland

2 INF5063, Pål Halvorsen, Carsten Griwodz, Håvard Espeland, Håkon Stensland University of Oslo Video Encoding Pål still wants to encode some videos on his computer… Pål finally got his PowerPoint 2013 license, but animations are more resource demanding than he thought, so he can not spare a single core for video encoding! However, Pål has a GPU lying around, so he needs you to speed up his video encoding on the GPU (Use the CPU as little as possible, it is still occupied running PowerPoint animations).

3 INF5063, Pål Halvorsen, Carsten Griwodz, Håvard Espeland, Håkon Stensland University of Oslo Codec63 Codec63 is basically MJPEG with intra-frame dependencies. It adds Motion Estimation and Motion Compensation from the MJPEG example. It has a more efficient DCT implementation (1D vs. 2D) Will be the basis for all three home exams in the course. The precode that is handed out today is a basic single threaded Codec63 encoder and decoder written in C.

4 INF5063, Pål Halvorsen, Carsten Griwodz, Håvard Espeland, Håkon Stensland University of Oslo Precode Same precode as Home Exam 1! You are not allowed to change out the Motion Estimation, Motion Compensation or DCT algorithms. You are not allowed to paste code from other projects / encoders. You can use your own machines for this assignment, but you have to make sure that the code works on the machines at the Simula network. You only need to optimize the Codec63 encoder! Your implementation is supposed to only focus on the GPU, use managed memory from the CPU.

5 INF5063, Pål Halvorsen, Carsten Griwodz, Håvard Espeland, Håkon Stensland University of Oslo Your task Utilize the data parallel GPU architecture and use the Maxwell Tuning Guide, and other tricks to tune your application. Start by profiling the encoder to see which parts of the encoder that are the bottlenecks. Remember, after optimizing one part of the code, more profiling might be needed to find new bottlenecks. Use the Nvidia profiler to profile the GPU code. Write a scientific report with details on which parts of the encoding process that benefited from your optimizations. The report should also explain how your code works. Remember to also report on optimization that did not work as you expected!

6 INF5063, Pål Halvorsen, Carsten Griwodz, Håvard Espeland, Håkon Stensland University of Oslo How are you evaluated? Make sure that your implementation compiles and run, and that it can produce correct video output (we also check the motion prediction). Efficient use of the GPU for: Motion Estimation, Motion Compensation and DCT/iDCT. Quality of the report. Is profiling of the code done between the different steps and how are the different optimization attempts documented and discussed in the report. Presentation of your solution on a “poster session” is required to pass the exam!

7 INF5063, Pål Halvorsen, Carsten Griwodz, Håvard Espeland, Håkon Stensland University of Oslo Formal Information  Deadline: Thursday October 16 th – 12:00  The assignment will be graded, and count 33% of the final grade.  Deliver your code, report and poster to: https://devilry.ifi.uio.no/ https://devilry.ifi.uio.no/  Prepare a poster (two A3 pages) and a short talk (2 minutes without slides) to pitch your poster for the class (October 17 th ). Best poster & presentation will be awarded!

8 INF5063, Pål Halvorsen, Carsten Griwodz, Håvard Espeland, Håkon Stensland University of Oslo Last but not least!  Codec63 precode available for download in git. Clone the repository and work on you own local version. git clone https://bitbucket.org/mpg_code/inf5063-codec63.git  Bugs in the code can be reported in Bitbucket’s issue tracking system, or on e-mail ( inf5063 at ifi.uio.no )

9 Good Luck! PS! Start early!


Download ppt "Home Exam 2: Video Encoding on GPUs using nVIDIA CUDA with Managed Memory Home Exam 2: Video Encoding on GPUs using nVIDIA CUDA with Managed Memory September."

Similar presentations


Ads by Google