Course Plan


IMPORTANT NOTE: In the first week of the period, the lab classes will be used to provide the students with an introductory lecture to review the most fundamental concepts about computer architecture and RISC-V instruction set architecture (ISA). Although not mandatory, all the students are invited to attend this lecture, in order to review (and consolidate) previous knowledge about computer architectures. NOTE: the same lecture will be presented in both sessions offered on February 20th.

General Information

Along the course, there will be 3 lab assignments, to be delivered in weeks 3, 5, and 7. 
The students should work in groups of 3 people (mandatory), implying a convenient group registration on the course webpage (Groups tab).

Considerations about using AI and advanced automated tools

The use of artificial intelligence, machine learning, or any other autogenerative tools (e.g. Microsoft Copilot, Google Gemini, OpenAI ChatGPT, etc.) is allowed provided that such use is properly documented and credited. In particular, students must include a dedicated appendix in their report describing how they used the tool (e.g., what specific tool was used, what prompt and settings were used to generate the material, and how that material was incorporated into the assignment).NOTE: All suspecting or improperly documented/credited material may be subjected to a final oral examination by the teaching staff (naturally, the questions of this oral examination may also be generated with the support of any of these tools).

Assignment #1 [weeks 2 and 3]

In the first assignment, each group will present and discuss a paper from a pool of manuscripts that were recently published at renowned scientific conferences on computer architectures (ISCA'2025 and MICRO'2025).
Rules for selection of papers: 
  • Indicate your paper selection here using your Group Number.
  • One paper can only be presented once. If any other group has already selected the paper, you must select a different one. 
  • Some papers are harder/more interesting than others. You can change the paper if your first choice seems too hard to understand. 
Rules for presentation: 
  • Once you select one paper, do not expect to fully understand it on the first read. Generally, you will need to read it 3 or 4 times to really understand. 
  • If you have questions regarding any details, feel free to contact your professor. 
  • Reading a paper takes time. It is not something you do in 1 hour! 
  • Presentations should be 10-15 minutes (the exact time will be provided later). Structure your presentations carefully. First, make sure the audience comprehends the big picture, then explain the details, if you have time (explaining the details is interesting and important, but you won't have time to explain all the details; leave some for Q&A). 
  • Use pictures and figures when possible. That will help the audience. But don't forget to add some text. 
  • Structure your slides for about 1 slide per minute (title slides and transition slides generally do not count). Remember that the audience has 1 minute to read the slide while listening to you, so keep the slide simple and clear to focus on the message. 
  • Use topics/bullets and not full sentences. Avoid animations unless absolutely required. 
  • You will find presentations for most papers online. Feel free to reuse whatever you want, including previous slides and figures from the paper, as long as you can explain the paper well. 
  • Presentations will take place on March 4th and 6th. A PDF version of the slides must be submitted to Fenix by March 6th (after the presentations).

Assignment #2 [weeks 4 and 5]

The handout for the second assignment is available here. It is assumed that group numbers and composition are the same as in assignment #1 (presentations). 
UPDATE:As defined in the assignment (end of section 3), the weights (alpha) to be considered in the Merith equation were defined based on the analysis of the preliminary results obtained by a sampled subset of the students. Accordingly, all students should consider the following weights:
  • alpha_s = 0.25 
  • alpha_t = 0.25 
  • alpha_c = 2.00
In the final report, the students are expected to propose 4 (four) different designs of the cache hierarchy:
  • one design that maximises the Speedup;
  • one design that maximises the Access Time Acceleration (Acc_t);
  • one design that minimises the Cost Overhead (C_ov);
  • one design that maximises the Merith function.
All these designs should be experimentally evaluated (and discussed) with the following application parameterisation: (128 x 128) grid; 2 holes; 550 steps [UPDATED].
NOTE: Students are expected to run only these 4 experiments with this larger parameterisation. Each of these four runs takes about 1h10min to execute on cuda2 machine.


Assignment #3 [weeks 6 and 7]

The handout for the second assignment is available here. It is assumed that group numbers and composition are the same as in assignment #1 (presentations). 

UPDATE: Besides conducting the experimental evaluation procedure already described in section 2.4 of the lab assignment, the students are required to include a final and standardised evaluation of their accelerated application by considering the following parameterisations:
  • Application: (4096 x 4096) grid; 2 holes; 20000 steps
  • Compilation: -O2 optimization, both at the CPU (gcc) and at the GPU (nvcc)
  • Machine: cuda3 server (optionally using 1 or 2 GPUs)
Section 3 of the report ("Results") should include a table with the execution time obtained with the CPU-only implementation (reference time) and the corresponding execution time obtained with the GPU-accelerated implementation (accelerated time). These two values should be used to compute and discuss the attained speedup

New deadline: April 7th, 23h59