Programming Parallel Computers

Aalto 2023

P: project

Please read the general instructions on this page first, and then check the individual tasks for more details. For each task you can download a zip file that contains the code templates you can use for development.

Task Attempts Expected Points Max Rating Rec. Deadline for full points
P9a: project

Please submit here the URL of your private Git repository.

5 ★★+ 2023-06-04 at 23:59:59

General instructions for this exercise

This is a small research project in which you are expected to explore both the theoretical and practical limitations of some real-world computer. You are free to use, for example, your own personal computer or some Linux computer that you can access remotely.


In this project you are expected to give (at least partial) answers to the following questions. You can focus either on the CPU, or the GPU, or both. If you only focus on the CPU, we would expect a very careful and precise analysis for full points (all the way to the level of individual machine-language instructions and execution ports).

(a) Theoretical limitations:

(b) Practical limitations:

(c) Comparison with your CP solutions:

What to submit and how?

You will need to set up a private Git repository in GitHub, and invite the GitHub user suomela as a collaborator to your private repository so that the lecturer can see what is in the repository.

Use this Git repository to organize your project work. Gather your notes, source material, C++ code, benchmark results, etc. in the repository.

In the root directory of your Git repository you will need to have also a written report. You can use any tools to write the report, but the end result has to be a single PDF file, with the file name report.pdf. The PDF file has to be committed and pushed to the Git repository.

In the PDF file, you should give your answers to the above research questions, for all three parts (a), (b), and (c). Please explain what you did and how, and give pointers to the C++ code and other material that is kept elsewhere in the same Git repository.

Once all is ready in the Git repository and it is ready for grading, simply submit here the link to your Git repository in GitHub. A URL that takes one to the front page of the repository is perfect, something like