TU Delft
Year
print this page print this page     
NEDERLANDSENGLISH
Organization
2017/2018 Electrical Engineering, Mathematics and Computer Science Master Electrical Engineering
EE4C07
Advanced Computing Systems
ECTS: 5
Responsible Instructor
Name E-mail
Dr.ir. Z. Al-Ars    Z.Al-Ars@tudelft.nl
Contact Hours / Week x/x/x/x
4/0/0/0
Education Period
1
Start Education
1
Exam Period
1
2
Course Language
English
Expected prior knowledge
Students are expected to have a good background in programming. Experience in C or C++ is a plus since this course focuses on low level (closer to hardware) programming.
Course Contents
Recent developments in computing systems have resulted in the emergence of a number of different computational platforms that provide various performance, cost and power advantages in different application domains. This course discusses the most widely used computational platforms (CPUs, GPUs, FPGAs and DSPs), while addressing the theoretical and practical trade-offs in computer system organization and the latest developments and trends in computer architecture. The course will help the students in quantifying architectural design decisions in terms of performance, cost and power. An accompanying lab aids the students in applying this knowledge to create powerful heterogeneous (CPU, GPU, FPGA and/or DSP) computational solutions in computationally intensive application domains, such as multimedia and scientific computing.
Study Goals
After completing this course, students are able to:
1. Analyze the computational characteristics of the application (available parallelism and memory access). This helps students to understand the algorithmic limitations of running them on a multicore platform.
2. Identify the components of a multicore architecture (processing elements, memory system, interconnect network). This helps students to estimate how their application will perform on an architecture built with these components.
3. Determine the potential performance of implementing an application on various available multicore architectures. This helps students to select an optimal architecture for their application.
4. Use profiling tools to identify bottlenecks in running applications on a system. This helps students to optimize their implementation.
5. Select a specific multicore system and implement the application using various techniques such as OpenMP, CUDA/OpenCL, and SIMD extensions. This helps students to select optimal multicore platforms for their target applications.
Education Method
Lectures for 2 hours per week in addition to lab sessions of 2 hours a week. Students are expected to spend 10 hours a week to prepare for the lab, read material and solve homework assignments at home.
Literature and Study Materials
Publications and reading material provided via blackboard
Assessment
1. L1 and L2: lab assignments to use advanced computing techniques
2. L3: a lab assignment to accelerate a specific application on heterogeneous multicore platforms (CPU and GPU)
3. H: 5 homework assignments based on reading material
4. C: a multiple choice exam used to assess individual competence

Final grade = 0.3 * H + C * (0.1 * L1 + 0.2 * L2 + 0.4 * L3)
L1, L2, L3, H is in the range [0, 10]
C is in the range [0, 1.1]