Presentation is loading. Please wait.

Presentation is loading. Please wait.

INF5063: Programming heterogeneous multi-core processors

Similar presentations


Presentation on theme: "INF5063: Programming heterogeneous multi-core processors"— Presentation transcript:

1 INF5063: Programming heterogeneous multi-core processors
… because the OS-course is just to easy! Home Exam 1: Motion JPEG Encoding on Intel x86 using Streaming SIMD Extensions (SSE) 17/ Håkon Kvale Stensland

2 Motion JPEG Encoding Pål wants to encode some videos to Motion JPEG on his computer… Pål has spent his entire computer budget for buying PowerPoint 2010 licenses, so it is your task to make the encoder as efficient as possible on a single core.

3 Motion JPEG MJPEG is a series of JPEG frames without any motion compensation as in more advanced codecs. Allows easy parallelization strategies since there are few data dependencies. Unfortunately not standardized format, but extensively used on cheap embedded devices like web cameras and mobile phones.

4 Precode The precode is a basic single threaded MJPEG encoder written in C. You can use your own machines for this assignment, but you have to make sure that the code works on bush or clinton at the Simula network You are free to use and modify it as you see fit, but are not allowed to paste code from other projects / encoders in it. Your implementation is supposed to be single threaded, and optimized to use the instruction level parallelism available in a single x86 core.

5 Your task Utilize the instruction level parallelism (ILP) and CPU vector unit to get the most performance out of a single core. 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. Write a report with details on which parts of the encoding process that benefited from your optimizations. The report should also explain how your code works. Other tools like objdump are also availible to se the assembly instructions.

6 Formal Information Deadline: Wednesday 6th October – 23:59:59.99
The assignment will be graded, and count 33% of the final grade. Deliver your code and report to: Prepare a short ( minutes) presentation for the class on the Thursday 7th October.

7 Good Luck!


Download ppt "INF5063: Programming heterogeneous multi-core processors"

Similar presentations


Ads by Google