Go to:
Logótipo
You are here: Start > M.EIC033

Efficient Heterogeneous Computing

Code: M.EIC033     Acronym: CHE

Keywords
Classification Keyword
OFICIAL Computer Architecture, Operating Systems and Networks

Instance: 2024/2025 - 1S Ícone do Moodle

Active? Yes
Web Page: https://teams.microsoft.com/l/team/19%3APCJtMjWnC4BYJgOUPpMcySyDr4uMHufSpWhZjbj66GY1%40thread.tacv2/conversations?groupId=9730119d-e2e4-4867-9b1b-8e74daa4e9d2&tenantId=b7821bc8-67cc-447b-b579-82f7854174fc
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M.EIC 11 Syllabus 2 - 6 39 162

Teaching Staff - Responsibilities

Teacher Responsibility
João Manuel Paiva Cardoso
João Paulo de Castro Canas Ferreira

Teaching - Hours

Recitations: 3,00
Type Teacher Classes Hour
Recitations Totals 1 3,00
João Paulo de Castro Canas Ferreira 1,50
João Manuel Paiva Cardoso 1,50

Teaching language

English

Objectives

This course covers all the stages of the application design flow for heterogeneous systems (heterogeneous multi-core/multi-processor, GPGPU, FPGA-based accelerators). Besides the exposition component of examples and use cases in this course, an important component for the acquisition of knowledge is through the execution of a project by groups of students.

The exposure of the topics and their practice contribute decisively to enable students to familiarize themselves with the body of knowledge related to heterogeneous systems.

The content covered in the syllabus will strongly contribute to the competencies described.

Learning outcomes and competences


  1. Describe and explain the processes, methodologies, and best practices associated to the development of applications in the context of heterogeneous high-performance computing systems;

  2. Describe and explain the different stages of the process to map an application to heterogeneous architectures;

  3. Identify the main problems and challenges on mapping and optimizing applications;

  4. Carry out the tuning of an application according to specific requirements such as performance and energy consumption;

  5. Explain and apply a comprehensive set of source-to-source code transformations for the mapping and tuning of applications codes to heterogeneous high-performance computing systems;

  6. Describe and select available tools to help tuning and mapping an application to a computing system, possibly consisting of multiple heterogeneous/homogeneous cores;

  7. Analyze real-life application examples to uncover methods to map and tune their own applications.

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Computer Architecture;
Compilers;
Programming;
Data Structures and Algorithms;
Parallel Computing and/or Programming;

Program

M1. Introduction to Heterogeneous Computing Platforms.

M2.  High Performance Embedded Computing: Target Architectures; Hardware Accelerators; Performance, Power and Energy Models; Transformations and Tuning for Heterogeneous Architectures.

M3. Controlling the Design and Development Cycle.

M4.  Source Code Analysis and Instrumentation: Source Code Complexity Metrics; Source Level Application Code Profiling; Tracing Loop Metrics.

M5.  Source Code Transformations and Optimizations:  Basic Transformations; Loop-based Transformations; Function-based Transformations; Partitioning.

M6.   Compiler Optimizations: Code Specialization; Runtime Aware Optimizations.

M7.   Code Retargeting: Compiler Directives and Pragmas; Mapping to Multi-Core, GPU-based and FPGA-based Systems.

M8.   Advanced Topics:  Runtime Adaptability; Performance/Energy Auto-Tuning; Design Space Exploration.

Mandatory literature

João Manuel Paiva Cardoso; Embedded computing for high performance. ISBN: 978-0-12-804189-5
Terzo, O., Djemame, K., Scionti, A., & Pezuela, C. ; Heterogeneous computing architectures: challenges and vision, Boca Raton: CRC Press, 2019. ISBN: 9780367023447
Wolf, M.; High-performance embedded computing: applications in cyber-physical systems and mobile computing, Morgan Kaufmann, 2014
Marilyn Wolf; Computers as components. ISBN: 978-0-12-805387-4
Various; Selected scientific papers

Teaching methods and learning activities

Lectures: presentation of subject matter, accompanied by examples and clues to solve the problems of practical sessions and practical work. Theoretical-practical classes: problem solving and discussion of practical work issues.

keywords

Technological sciences > Technology > Computer technology > Software technology
Technological sciences > Engineering > Computer engineering
Technological sciences > Technology > Computer technology > Systems technology

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Teste 25,00
Trabalho prático ou de projeto 60,00
Apresentação/discussão de um trabalho científico 15,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 35,00
Frequência das aulas 42,00
Trabalho laboratorial 75,00
Apresentação/discussão de um trabalho científico 10,00
Total: 162,00

Eligibility for exams

Frequency Conditions: a) Practical work with 50% or better;

Do not exceed maximum limit (3) of absences in TP classes.

Calculation formula of final grade

Calculation formula of final grade:

  • Project (PRJ) [0..20]
  • Presentation and discussion of a scientific paper (PAPER) [0..20]
  • EX: grade in the midterm exam (EX1) or in the “recurso” exam (EX2) [0..20]
  • Final grade (FG) = ROUND (0.60 * AD + 0.15 * PAPER + 0.25 * EX)

Approval Conditions:

  • Do not exceed maximum limit (3) of absences in classes, and
  • PROJ >= 10.0, and
  • EX1 or EX2 >= 8.0, and
  • Final Grade (FG) >= 10
Recommend this page Top
Copyright 1996-2025 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2025-06-14 at 03:09:36 | Acceptable Use Policy | Data Protection Policy | Complaint Portal