Programming Parallel Computers

Aalto 2026

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 the URL of your private GitHub repository here.

5 ★★+ 2026-05-31 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.

Overview

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 on 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 also need to have 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 everything is ready in the Git repository and ready for grading, simply submit the link to your Git repository on GitHub here. A URL that takes one to the front page of the repository is perfect, something like https://github.com/USER/REPO/.