Credits
6
Types
Elective
Requirements
This subject has not requirements
, but it has got previous capacities
Department
AC
Teachers
Person in charge
- Agustín Fernández Jiménez ( agustin@ac.upc.edu )
Others
- Daniel Jimenez Gonzalez ( djimenez@ac.upc.edu )
- Eduard Ayguadé Parra ( eduard@ac.upc.edu )
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Competences
Common technical competencies
- CT1.1B - To demonstrate knowledge and comprehension about the fundamentals of computer usage and programming. Knowledge about the structure, operation and interconnection of computer systems, and about the fundamentals of its programming.
- CT6.2 - To demonstrate knowledge, comprehension and capacity to evaluate the structure and architecture of computers, and the basic components that compound them.
- CT6.3 - To demonstrate knowledge about the characteristics, functionalities and structure of the Operating Systems allowing an adequate use, management and design, as well as the implementation of applications based on its services.
- CT7.1 - To demonstrate knowledge about metrics of quality and be able to use them.
- CT7.2 - To evaluate hardware/software systems in function of a determined criteria of quality.
Effective oral and written communication
- G4.2 - To use strategies to prepare and perform oral presentations and write texts and documents with a coherent content, adequate structure and style and a good orthographic and grammatical level. To perform an oral presentation in front of a limited audience. To choose properly the contents, style, timing and format of the presentation. To be capable of communicating effectively with the user in a non-technical language, and understand its needs.
Computer engineering specialization
- CEC2.1 - To analyse, evaluate, select and configure hardware platforms for the development and execution of computer applications and services.
- CEC2.2 - To program taking into account the hardware architecture, using assembly language as well as high-level programming languages.
- CEC3.1 - To analyse, evaluate and select the most adequate hardware and software platform to support embedded and real-time applications.
Computer science specialization
- CCO2.6 - To design and implement graphic, virtual reality, augmented reality and video-games applications.
- CCO3.1 - To implement critical code following criteria like execution time, efficiency and security.
- CCO3.2 - To program taking into account the hardware architecture, using assembly language as well as high-level programming languages.
Objectives
-
Know in depth the operation of a graphics card
Related competences: CT7.2, CEC2.2, CEC3.1, CCO3.2, -
Know the limitations of a graphics card in the execution of general purpose applications.
Related competences: CEC2.1, CT7.1, CT7.2, -
Know the basic techniques to implement general purpose applications on a graphics card.
Related competences: G4.3, CT6.3, G4.2, CEC2.2, CCO3.1, CCO3.2, G7.3, CT1.1B, -
Know the possibilities offered by a graphics card to implement non-interactive graphics applications.
Related competences: G4.3, CCO2.6, CT6.3, G4.2, CEC2.2, CCO3.1, CCO3.2, G6.2, G7.3, -
Given some performance requirements, evaluate which is the best hardware alternative to achieve them.
Related competences: CEC2.1, CT6.3, CT7.1, CT7.2, CT6.2, CEC3.1, CT1.1B,
Contents
-
Unit 1 1: Introduction
- History of Graphics Cards
- The graphic pipeline -
UNIT 2: Components of a graphics card
- Shaders
- Rasteritzation
- Textures
- Antialiasing -
UNIT 3: Commercial Examples
- Historical evolution of graphic hardware
- Classic Examples
- Current Examples -
Unit 4: High Performance Computing
- CPUs vs GPUs
- Supercomputing and GPUs
- Paradigms of computing/parallelism
- Multi-GPU systems
- Accelerators -
Unit 5: Software
- GPGPU
- CUDA
- OpenGL
- DirectX
- Shader Assembly and Shading Languages -
Unit 6: Technological Aspects
- Cooling
- Overclocking
- Benchmarking
- Buses
- Connectors
Activities
Activity Evaluation act
Final exam
It is a remote exam. Around week 13, the exam will be given during class time. Students have 2 weeks to take the exam. Each exam question has a limited space to answer. The answers must be concise, clear and correct.Objectives: 1 2 3 4 5
Week: 13
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
CUDA
The basic tools offered by CUDA for graphics card programming will be presented.Objectives: 3
Contents:
Theory
6h
Problems
0h
Laboratory
14h
Guided learning
0h
Autonomous learning
14h
Theory
4h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
2h
History
Historical overview of the evolution of graphics cards, from the first PC to today.Objectives: 1
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
There are two types of classes: theory and laboratory classes.During the first weeks there will be no laboratory classes.
The theory classes will be expository by the teacher, including theoretical concepts, practical examples and resolution of training exercises.
The laboratory classes will be of two types: the first classes will be directed, aimed at knowing the tools and programming languages used; The following classes will be oriented to the realization of a small project.
In addition, depending on the availability of each course, there will be conferences by experts.
Evaluation methodology
50% Take-home exam50% Laboratory
The take-home exam will be held at the end of the course. The statement will be delivered in class and will be returned resolved after about 10 days. It is an individual test that must be done by hand on the exam sheets distributed by the teacher.
The laboratory grade is obtained from the follow-up notes of the practice sessions prepared by each teacher and the evaluation of the project. To evaluate the project, students must submit a written report.
Bibliography
Basic
-
Estructura y diseño de computadores: la interfaz software/hardware
- Patterson, D.A.; Hennessy, J.L,
Reverté,
2011.
ISBN: 9788429126204
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003859419706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Programming massively parallel processors : a hands-on approach
- Hwu, Wen-mei W.; Kirk, D.B.; El Hajj, I,
Morgan Kaufmann,
2023.
ISBN: 9780323912310
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005136979006711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Procesadores gráficos para PC
- Ujaldón Martínez, M,
Ciencia 3,
2005.
ISBN: 8495391090
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003042859706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Heterogeneous computing with OpenCL
- Gaster B.R.; Howes, L.; Kaeli, D.R.; Mistry, P.; Schaa, D,
Elsevier/Morgan Kaufmann,
2013.
ISBN: 9780124058941
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004025809706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Previous capacities
Basic knowledge of computer architecture.Basic knowledge about graphics.