Supercomputació per Aplicacions Exigents

Esteu aquí

Crèdits
6
Tipus
Complementària d'especialitat (Computació d'Altes Prestacions)
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
AC
Aquest curs cobreix l'explotació de la supercomputació per a una varietat d'aplicacions científiques i d'enginyeria. Els continguts abasten diversos dominis d'aplicació tant en les àrees numèriques com no numèriques.

Professors

Responsable

  • Daniel Jimenez Gonzalez ( )

Altres

  • Carlos Alvarez Martinez ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.15
Aprenentatge autònom
7.4

Competències

Competències Tècniques de cada especialitat

Computació avançada

  • CEE3.3 - Capacitat per entendre les necessitats computacionals de problemes de disciplines diferents de la informàtica i efectuar contribucions significatives en equips multidisciplinaris que facin servir la computació.

Computació d'altes prestacions

  • CEE4.2 - Capacitat d'analitzar, avaluar, dissenyar i optimitzar programari considerant l'arquitectura i de proposar noves tècniques d'optimització.

Específiques comunes

  • CEC3 - Capacitat per aplicar solucions innovadores i realitzar avanços en el coneixement que explotin els nous paradigmes de la Informàtica, particularment en entorns distribuïts.

Competències Tècniques Generals

Genèriques

  • CG1 - Capacitat per aplicar el mètode científic en l'estudi i anàlisi de fenòmens i sistemes en qualsevol àmbit de la Informàtica, així com en la concepció, disseny i implantació de solucions informàtiques innovadores i originals.
  • CG3 - Capacitat per al modelatge matemàtic, càlcul i disseny experimental en centres tecnològics i d'enginyeria d'empresa, particularment en tasques de recerca i innovació en tots els àmbits de la Informàtica.
  • CG5 - Capacitat per aplicar solucions innovadores i realitzar avenços en el coneixement que explotin els nous paradigmes de la Informàtica, particularment en entorns distribuïts.

Objectius

  1. L'estudiant ha de ser capaç de comprendre la complexitat dels diferents algorismes, identificar les parts computacionalment intensives d'una simulació o processament de dades, i decidir quines parts necessiten optimitzar i paralelizarse.
    Competències relacionades: CG1, CG3, CEE3.3,
  2. L'estudiant ha de ser capaç de dissenyar i implementar algorismes eficients de simulació paral·lela i processament de dades usant un model de programació paral·lel.
    Competències relacionades: CG1, CEE4.2, CEC3, CG5,
  3. L'estudiant ha de ser capaç d'avaluar els diferents compromisos (robustesa, cost computacional, escalabilitat) per a seleccionar un algoritme específic per a un problema de simulació o processament de dades
    Competències relacionades: CG1, CEE3.3,

Continguts

  1. Introducció
    Introducció: descripció general
    El mètode científic modern
    Simulació i optimització
    HPC vs. HTC
    simulacions numèriques
    HPC = Algorismes + Arquitectura + Model de programació
    Límits de la paral·lelització
    Evolució i límits dels sistemes HPC
  2. Introducció a les Simulacions numèriques
    • De models a algorismes
    • Discretització i PDE
    • Tipus de PDEs: el·líptiques, parabòliques, hiperbòliques
    • Del problema a les matemàtiques i la solució
    • Problemes de valor inicial i de valor límit
    • Esquemes numèrics: Explicit vs Implicit
    • Diferències finites i elements finits
  3. Resolució directe de sistemes lineals d'equacions a gran escala
    • Sistemes triangulars i paral·lelització
    • Eliminació de Gauss
    • Factorització LU
    • Mètodes de particions
    • HPL
  4. Resolució iterativa de sistemes lineals d'equacions a gran escala
    • Mètodes directes vs iteratius
    • Jacobi
    • Paral·lelització de mètodes iteratius
    • Gauss-Seidel i SOR
    • Mètodes de Krylov i precondicionament: HPCG
    • Programari per mètodes numèrics: BLAI, LAPACK, etc.
  5. Principis numèrics de problemes d'IA
    • Introducció a les operacions comunes de les DNNs
    • Aplicacions de DNNs més comuns
    • Arquitectures per DNNs
    • Optimitzacions numèriques per DNNs
  6. Casos Pràctics
    - Models de programació en paral·lel
    - Paral·lelisme i granularitat
    - Paral·lelisme de blocs
    - Resolució sistemes dispersos
    - DNNs i precisió
    - Paral·lelisme en DNNs
  7. Alineació de seqüència
    Es tracta d'una forma d'ordenar les seqüències d'ADN, ARN o proteïna per identificar regions de semblança que poden ser conseqüència de relacions funcionals, estructurals o evolutius entre les seqüències.
    Les estratègies de cerca, puntuació i de paral·lelització són importants per superar aquest repte.
  8. Dinàmica molecular
    Se trata de una simulación por ordenador de movimientos físicos de átomos y moléculas. Las técnicas de corte pueden ser importantes para reducir la complejidad de cálculo de este reto.
  9. Acoblament de proteïnes.
    Es tracta d'un mètode que prediu l'orientació preferent d'una molècula a un segon quan està unida entre si per formar un complex estable. Hi ha diversos enfocaments que poden augmentar la precisió, però també la complexitat d'aquests mètodes.
  10. Aprenentatge automàtic en bioinformàtica
    Les estratègies d'aprenentatge automàtic es poden aplicar als desafiaments bioinformàtics. En particular, l'anàlisi de clústers o agrupació, una tasca d'aprenentatge automàtic sense supervisió (p.ex. k-means), es pot aplicar a una gran varietat de problemes de biologia computacional diferents, per a la compressió o el resum d'un conjunt de dades gran.

Activitats

Activitat Acte avaluatiu


Introducció

Seguiu les conferències, estudieu els materials i les pràctiques.
  • Teoria: Introducció: descripció general El mètode científic modern Simulació i optimització HPC vs. HTC simulacions numèriques HPC = Algorismes + Arquitectura + Model de programació Límits de la paral·lelització Evolució i límits dels sistemes HPC
  • Aprenentatge autònom: Estudiar els continguts associats i treballar en les tasques.
Objectius: 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Part I: Aplicacions Numèriques

Seguiu les conferències, estudiï els materials i les pràctiques.
  • Teoria: 1. Introducció a les simulacions numèriques • De models a algorismes • Discretització i PDE • Tipus de PDE: el·líptica, parabòlica, hiperbòlica • Del problema a les matemàtiques i la solució • Problemes de valor inicial i valor límit • Esquemes numèrics: explícit vs. implícit • Diferències finites i elements finits 2. Resolució directa de sistemes lineals d’equacions a gran escala • Sistemes triangulars i paral·lelització • Eliminació de Gauss • Factorització LU • Mètodes de particionament • HPL 3. Resolució iterativa de sistemes lineals a gran escala d’equacions • Mètodes directes vs iteratius • Jacobi • Paral·lelització de mètodes iteratius • Gauss-Seidel i SOR • Mètodes i precondicionament de Krylov: HPCG • Programari per a mètodes numèrics: BLAS, LAPACK, etc. 4. Principis numèrics dels problemes d’IA • Introducció a les operacions comunes dels DNN • Aplicacions DNN més habituals • Arquitectures per a DNN • Optimitzacions numèriques per a DNN
Objectius: 1 2 3
Continguts:
Teoria
12h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
20h

Numerical: Environment and Brief explanation of the tools to be used



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
2h
Aprenentatge autònom
8h

Numerical: Programació paral.lela a blocs. Implementació i anàlisi.



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Numerical: Paral.lelització a blocs de complexitat mitja.



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Numerical: Paral·lelització d'algorismes de resolució de sistemes dispersos



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
14h

Numerical: Introducció als problemes de computació de les aplicacions d'IA



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Lliurable: assignació en aplicacions numèriques

Assignació per a la part d'Aplicacions Numèriques. Per ser lliurat en Racó.
Objectius: 1 2 3
Setmana: 6
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Part II-b) Aplicacions no numèriques: Bioinformàtica

Segueix les classes magistrals, estudia els materials i pràctiques
  • Teoria: In the Bioinformatic part we will work with three important challenges: Sequence Alignment, Molecular Dynamics and Protein-Protein Docking. 1) Sequence Alignment (1 week): [is a way of arranging the sequences of DNA, RNA, or protein to identify regions of similarity that may be a consequence of functional, structural, or evolutionary relationships between the sequences.] Search, scoring and parallel strategies are important to overcome this challenge. 2) Molecular dynamics (1 week): [is a computer simulation of physical movements of atoms and molecules.] Cutoff techniques may be important to reduce the computing complexity of this challenge. 3) Protein-Protein Docking (1 week): [is a method which predicts the preferred orientation of one molecule to a second when bound to each other to form a stable complex.] There are serveral approaches that may increase the accuracy but also de complexity ot those methods. 4) Aprenentatge automàtic en bioinformàtica. El clúster és una tasca d'aprenentatge automàtic sense supervisió que es pot aplicar a una gran varietat de problemes de biologia computacional diferents, per a la compressió o el resum d'un conjunt de dades gran.
  • Aprenentatge autònom: Study the associated contents and work on the assignments.
Objectius: 1 2 3
Continguts:
Teoria
14h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
20h

Bioinformàtica: Anàlisi i paral.lelització d'una aplicació bioinformàtica


  • Laboratori: Anàlisis amb profiling/timing, anàlisis de dependències i paral.lelització amb un model programació paral.lela.

Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Bioinformàtica: Entorn i eines d'acceleració hardware



Teoria
0h
Problemes
0h
Laboratori
2h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Bioinformàtica: Acceleració d'una aplicació de bioinformàtica



Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
16h

Lliurable: Problema en Bio-Informática

Problema del mòdul de Bio-informàtica. A entregar en el Racó.
Objectius: 1 2 3
Setmana: 13
Tipus: entrega
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Metodologia docent

Durant el curs es realitzaran dos tipus d'activitats:

a) Activitats centrades en l'adquisició de coneixements teòrics.
b) Activitats centrades en l'adquisió de coneixements mitjançant experimentació amb la implementació i avaluació empírica al laboratori dels mecanismes explicats a nivell teòric.

Les activitats teòriques inclouen classes expositives participatives on s'expliquen els continguts bàsics del curs. Les activitats pràctiques inclouen seminaris de laboratori emprant l'ordinador portàtil de l'alumnes/a, on els alumnes implementen els mecanismes descrits a les classes expositives. Els seminaris requereixen d'una preparació prèvia mitjançant la lectura de l'enunciat i la documentació de suport, i una elaboració posterior de les conclusions obtingudes en un informe.

Mètode d'avaluació

El curs s'avaluarà al 50% en cada part del curs:

Calificació = Calificació de part numèrica * 0.5 + Calificació de part bioinformàtica * 0.5

Dónde:

- Cada part del curs té alguns lliurables corts i parcials (PD) i un lliurable del projecte final (FPD).
- La part numèrica pot tenir un nombre de lliurables parcials (NNP) entre 3 i 5.
- La part bioinformàtica pot tenir un nombre de lliurables parcials (NBP) entre 2 i 5.

Luego:

Calificació de la part numèrica = Suma de (nota de PDi * 10%) + (100-NNP * 10)% * nota de FPD
Calificació de la part bioinformàtica = Suma de (nota de PDi * 10%) + (100-NBP * 10)% * nota de FPD

Bibliografia

Bàsica:

Complementaria:

Web links

Capacitats prèvies

Comprensió bàsica de les arquitectures paral·leles, inclosos els sistemes multiprocessador de memòria compartida i distribuïda.

Habilitats de programació útils d'algun model de programació paral·lela.

Addenda

Continguts

THERE ARE NOT CHANGES IN THE CONTENTS REGARDING THE INFORMATION IN THE COURSE GUIDE. In one of the part of the subject, the only change may be the usage or not of boards for the practices. In case that we need to share boards and there are not enough for everybody we will do the practices using a different system.

Metodologia docent

THE COURSE IS PLANNED WITH 100% PRESENTIALITY, SO THERE ARE NOT CHANGES IN THE METHODOLOGY REGARDING THE INFORMATION IN THE COURSE GUIDE.

Mètode d'avaluació

THERE ARE NOT CHANGES IN THE EVALUATION METHOD REGARDING THE INFORMATION IN THE COURSE GUIDE.

Pla de contingència

IF THE COURSE HAS TO BE OFFERED WITH REDUCED PRESENTIALITY OR NOT PRESENTIALLY, THERE WILL BE NOT CHANGES IN THE CONTENTS AND THE EVALUATION METHOD, BUT THE METHODOLOGY WILL BE ADAPTED TO ALLOW FOLLOWING THE COURSE REMOTELY, INCLUDING AMONG OTHERS: * USE THE WIKI AND/OR THE 'RACÓ' TO DOWNLOAD THE SLIDES, EXERCISES, PRACTICAL ASSIGNMENTS, AND OTHER DOCUMENTATION * USE VIDEO AND/OR SCREENCAST MATERIAL FOR ASYNCHRONOUS LECTURES AND PRACTICAL CLASSES * USE VIDEOCONFERENCE FOR SYNCHRONOUS LECTURES AND PRACTICAL CLASSES * USE THE 'RACÓ' FOR ASSIGNMENT SUBMISSIONS * USE MAIL AND/OR THE FORUM FOR ASYNCHRONOUS CONSULTATION * USE CHAT AND/OR VIDEOCONFERENCE FOR SYNCHRONOUS CONSULTATION