Optimization & VectorizationUniversiteit Utrecht - Information and Computing Sciencesacademic year 2019/20 – 1st block |
|||
|
Navigation |
||||||
|
News
|
Recent news November 6:
October 31:
October 28:
October 24:
Older news is still available here. |
Course Overview
|
![]() Course: INFOMOV is a practical course on
optimization: the art of improving software performance,
without affecting functionality. We apply high level and
low level optimizations, in a structured manner.
Especially for the low level optimizations, we must
intimately understand the hardware platform (CPU, GPU,
memory, caches) and modify our code to use it efficiently.
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
fields. Lecturer: Jacco
Bikker (j.bikker@uu.nl or bikker.j@gmail.com) Comms:
join us on Slack: UUGMT
(UU students only). Lectures:
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. |
Files
|
Downloads Fundamentals:Cross-platform version of the C/C++ template used in the course, 2019 edition (v2).Practice / demonstration materials: balls - tmpl_2019.zip - profiling practice material (see accompanying tutorial).OptmzdSummaries™: #0: Introduction and profiling Additional resources will be made available during the course. |
|
|
|
||||||||
|
|
|
||||||||
|
|
|
||||||||
|
|
|
||||||||
|
||||||||||
Course Schedule
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Period 1 Schedule (tentative)
|
Assignments
|
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. Full details are in the formal
assignment description. Deadline: Tuesday
September
24,
23:59. Extended deadline (1pt penalty): Wednesday
September 25, 23:59.
For this assignment, you will build a three-level set
associative cache simulator. Full details are in the
formal assignment description. Deadline: Thursday
October 10, 23:59. Extended deadline (1pt
penalty): Friday October 11, 23:59. In this final assignment, you will apply all techniques to speed up real-world software. Full details are in the formal assignment description. Resources:
Additional options will be presented by Roland
Geraerts on Monday. Deadline: Thursday October 31, 23:59. Extended deadline (1pt penalty): Friday November 1, 23:59.
|
News Archive
|
Old posts
October 19:
October 17:
October 14:
October 4:
September 30:
September 26:
September 16:
August 21:
|