In this course, students will study in depth the operation of a current graphics card. With special emphasis on their strengths and architectural limitations, the growing relationship of these devices with Supercomputing and the new accelerators that are appearing on the market will also be studied.
Teachers
Person in charge
Agustín Fernández Jiménez (
)
Others
Daniel Jimenez Gonzalez (
)
Eduard Ayguadé Parra (
)
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Competences
Technical Competences
Common technical competencies
CT1 - To demonstrate knowledge and comprehension of essential facts, concepts, principles and theories related to informatics and their disciplines of reference.
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 - To demonstrate knowledge and comprehension about the internal operation of a computer and about the operation of communications between computers.
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 - To evaluate and select hardware and software production platforms for executing applications and computer 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.
Transversal Competences
Effective oral and written communication
G4 [Avaluable] - To communicate with other people knowledge, procedures, results and ideas orally and in a written way. To participate in discussions about topics related to the activity of a technical informatics engineer.
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.
Technical Competences of each Specialization
Computer engineering specialization
CEC2 - To analyse and evaluate computer architectures including parallel and distributed platforms, and develop and optimize software for these platforms.
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 - To develop and analyse hardware and software for embedded and/or very low consumption systems.
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 - To develop effectively and efficiently the adequate algorithms and software to solve complex computation problems.
CCO2.6
- To design and implement graphic, virtual reality, augmented reality and video-games applications.
CCO3 - To develop computer solutions that, taking into account the execution environment and the computer architecture where they are executed, achieve the best performance.
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,
CEC3.1,
CCO3.2,
CEC2.2,
Know the limitations of a graphics card in the execution of general purpose applications.
Related competences:
CT7.1,
CT7.2,
CEC2.1,
Know the basic techniques to implement general purpose applications on a graphics card.
Related competences:
CT6.3,
G4.3,
CCO3.1,
G7.3,
CT1.1B,
G4.2,
CCO3.2,
CEC2.2,
Know the possibilities offered by a graphics card to implement non-interactive graphics applications.
Related competences:
G4.2,
CT6.3,
CCO2.6,
G4.3,
G6.2,
CCO3.1,
CCO3.2,
G7.3,
CEC2.2,
Given some performance requirements, evaluate which is the best hardware alternative to achieve them.
Related competences:
CT1.1B,
CT6.2,
CT6.3,
CT7.1,
CT7.2,
CEC2.1,
CEC3.1,
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
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:12345 Week:
13
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
30h
CUDA
The basic tools offered by CUDA for graphics card programming will be presented. Objectives:3 Contents:
Describe the classical GPGPU techniques and how their limitations have influenced the design of new architectures and programming languages. Objectives:23 Contents:
During the course, and depending on availability, talks on related topics will be given. Objectives:12345
Theory
4h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h
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 exam
50% 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.