Presentation (mandatory)

Programming assignment (voluntary)

The goal of the exercise is to familiarize you with some of the techniques presented during the seminar. You can take some parallel programming tool, e.g., Cuda, OpenMP, Intel SSE or something else. The task should not be entirely trivial and you have to submit a written report, where you explain the task, justify your decisions and perform some benchmarking (scalability, possible performance gains or loses)

We present some topics but you are free to choose some other or write your own project altogether. Do not choose a project where there already exists a parallelization implementation for your tool of choice. On the other hand, it might be worth doing parallelization with some other technique and doing a comparative study. E.g. If there is already an existing OpenMP parallelization in some project you are interested, you might want to do Cuda implementation and do some performance evaluation between the two techniques.

We'll arrange one extra meeting before next semester, probably in August or September, where you can present your work to us and other participants of the seminar. This meeting is voluntary and you will get your grade and credits long before that (hopefully).

In order to coordinate the effort and make sure that the tasks are reasonable, we require you to register your topic with us before you start doing the project! Read the exact requirements below!

Possible programming topics

Here are few example topics

Or some other topic of your own choosing. We'll add more topics to this list later.

The exact requirements

Follow these requirements carefully

The programming environment

We provide a shell server where we have a NVidia Tesla and OpenMP installed. We give you shell accounts upon request. The server is a 8 core Intel Xeon with Ubuntu Linux so we can easily provide whatever parallelization tools available in Ubuntu as well.

The easiest way for us to hand out your account is for you to e-mail your preferred account name and SSH key to I'll reply with an email giving you your account name and our server name and instructions on how to use various tools on the server.

You can use some other platform as well but remember that we need to be able to test your code, so do not use anything very exotic.

Project grading

We give you a grade of 0-5 for the project. To pass all the requirements defined must be met.

Seminar grading

The course is graded in scale 0-5. The overall course grade is credits weighted average of your presentation grade and the programming project grade.

Timo Lilja
Last modified: Mon May 4 14:38:48 EEST 2009