Optimization & Vectorization
academic year 2020/21 – 4th block
This website contains
Vectorization: Modern processors achieve
their performance levels using parallel execution. This
happens on the thread level, but also on the instruction
level. Being able to produce efficient vectorized code is
an important factor in achieving peak performance.
GPGPU: Graphics processors employ a streaming code
execution model, taking vectorization to extremes, both in
the programming model and the underlying architecture.
Leveraging GPU processing power is an important option
when optimizing existing code.
Context: Optimization is a vital skill
for game engine developers, but also applies to other
join us on INFOMOV
The course will be taught in English. Warning: A decent level of
C/C++ is expected. Expect a significantly higher
workload if you are a C++ novice.
Cross-platform version of the C/C++ template used in the course, 2019 edition (v2, checked and ready for 2021).Practice / demonstration materials:
Will be made available during the course - in 2021, look for them in Teams!OptmzdSummaries™:
These will be uploaded during the course - in 2021, look for them in Teams!
Additional resources will be made available during the course.
Period 4 Schedule (tentative)
All assignments can be done alone or in teams of two students. For teams: it is not mandatory to do all four assignments with the same partner; switching is allowed.
Assignment P1 - LOW LEVEL
For this assignment you will apply low-level optimization to a graphical application. Details will follow later.
May 10, 17:00. Extended deadline (1pt penalty): Tuesday
May 11, 17:00.
This assignment involves caching. Details will follow later.
May 28, 17:00. Extended deadline (1pt penalty): Saturday
May 29, 17:00.
Deadline: Friday June 25, 17:00. Extended deadline (1pt penalty): Saturday 26, 17:00.
Programming assignments: Your practical
grade P is based on two programming assignments P1
(20%), P2 (30%) and one final assignment P3 (50%).
Exam: Your exam / theory grade T is based
on a single final exam.
Final grade: Your final grade is (3P
+ T) / 4. You must score at least 4.0 (before
rounding) for the exam to pass this course.
RETAKES AND REQUIREMENTS
Retake: To qualify for a retake, the
final grade must be at least 4 (before rounding). You may
repair your final grade by redoing one of the four
assignments, or the exam. Exact terms will be
Overview of literature used during this course:
Links verified on September 5.