Computació Avançada d'Altes Prestacions [44730]
Moure Lopez, Juan Carlos
Mendez, Sandra Adriana
Universitat Autònoma de Barcelona. Escola d'Enginyeria

Additional title: Advanced High Performance Computing
Additional title: Computación Avanzada de Altas Prestaciones
Date: 2023-24
Abstract: L'objectiu fonamental de l'assignatura és que l'estudiantat adquireixi les capacitats d'anàlisi, ús i avaluació dels ordinadors, per al desenvolupament d'aplicacions avançades. Els conceptes bàsics que es descriuran a les sessions teòriques són: processament paral·lel en ordinadors, memòries jeràrquiques, avaluació del rendiment, i els llenguatges i models de programació paral·lels d'aquests sistemes. Els objectius més específics són els següents: 1. Entendre les claus per obtenir bon rendiment de computadors multi-nucli i multi-processador, i d'acceleradors de còmput (GPUs) 2. Identificar les oportunitats de paral·lelització a un algorisme o aplicació, a diferents nivells (instruccions, iteracions d'un bucle, crides a funcions. . . ), i expressar-ho formalment 3. Dissenyar les estructures de dades d'una aplicació i els algorismes que hi accedeixen per tal d'afavorir el bon rendiment de la jerarquia de memòria 4. Analitzar, dissenyar i implantar algorismes paral·lels amb patrons de còmput abstractes (reducció, transformació. . . ) sota paradigmes de programació basats en variables compartides i sincronització, i amb llenguatges paral·lels actuals. 1 5. Verificar la funcionalitat i avaluar el rendiment d'aplicacions paral·leles, identificant els colls d'ampolla respecte al rendiment 6. A partir de l'anàlisi de rendiment, seleccionar el computador adequat a una aplicació i/o realitzar optimitzacions del codi que millorin encara més el seu rendiment.
Abstract: The fundamental objective of the subject is that students acquire the capabilities of analysis, use and evaluation of computers, for the development of advanced applications. The basic concepts that will be described in the theoretical sessions are: parallel processing in computers, hierarchical memories, performance evaluation, and the parallel programming languages and models of these systems. The most specific objectives are the following: 1. Understand the keys to obtain good performance from multi-core, multi-processor computers, and from computer accelerators (GPUs) 2. Identify the opportunities for parallelization in an algorithm or application, at different levels (instructions, iterations of a loop, calls to functions . . . ), and express it formally 3. Design the data structures of an application and the algorithms that access these data to favor the good performance of the memory hierarchy 4. Analyze, design and implement parallel algorithms with abstract computation patterns (reduction, transformation . . . ) under programming paradigms based on shared variables and synchronization; and with current parallel languages. 1 5. Verify the functionality and evaluate the performance of parallel applications, identifying performance bottlenecks 6. From performance analysis, select the right computer to an application and/or perform code optimizations that further improve its performance.
Abstract: El objetivo fundamental de la asignatura es que el alumnado adquiera las capacidades de análisis, uso y evaluación de los ordenadores, para el desarrollo de aplicaciones avanzadas. Los conceptos básicos que se expondrán en las sesiones teóricas son: procesamiento paralelo en ordenadores, memorias jerárquicas, evaluación del rendimiento y los lenguajes de programación paralela y modelos de estos sistemas. Los objetivos más específicos son los siguientes: 1. Entender las claves para obtener buen rendimiento de computadores multi-núcleo y multi-procesador, y de aceleradores de cómputo (GPUs) 2. Identificar las oportunidades de paralelización en un algoritmo o aplicación, a diferentes niveles (instrucciones, iteraciones de un bucle, llamadas a funciones. . . ), y expresarlo formalmente 3. Diseñar las estructuras de datos de una aplicación y los algoritmos que acceden a estos datos para favorecer el buen rendimiento de la jerarquía de memoria 4. Analizar, diseñar e implantar algoritmos paralelos con patrones abstractos de cómputo (reducción, transformación. . . ) bajo paradigmas de programación basados en variables compartidas y sincronización; y con lenguajes paralelos actuales. 1 5. Verificar la funcionalidad y evaluar el rendimiento de aplicaciones paralelas, identificando los cuellos de botella respecto al rendimiento 6. A partir del análisis de rendimiento, seleccionar el computador adecuado a una aplicación y/o realizar optimizaciones del código que mejoren aún más su rendimiento.
Rights: Aquest document està subjecte a una llicència d'ús Creative Commons. Es permet la reproducció total o parcial, la distribució, la comunicació pública de l'obra i la creació d'obres derivades, fins i tot amb finalitats comercials, sempre i quan es reconegui l'autoria de l'obra original. Creative Commons
Language: Català, anglès, castellà
Studies: Recerca i Innovació en Ciència i Enginyeria Basades en Computadors [4318303]
Study plan: Màster Universitari en Recerca i Innovació en Ciència i Enginyeria Basades en Computadors [1530]
Document: Objecte d'aprenentatge



Català
4 p, 103.5 KB

Anglès
4 p, 102.1 KB

Castellà
4 p, 103.2 KB

The record appears in these collections:
Course materials > Course guides

 Record created 2023-07-07, last modified 2023-09-16



   Favorit i Compartir