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.
Professorat
Responsable
Carlos Alvarez Martinez (
)
Altres
Daniel Jimenez Gonzalez (
)
Josep Larriba Pey (
)
Josep Ramon Herrero Zaragoza (
)
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
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:
CEE3.3,
CG1,
CG3,
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:
CEC3,
CEE4.2,
CG1,
CG5,
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
Introducció
- Introducció: descripció general
- El mètode científic modern
- Simulació i optimització
- HPC vs. HTC
- Simulacions numèriques
- Límits de la paral·lelització
- Evolució i límits dels sistemes HPC
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ó
- Esquemes numèrics: Explicit vs Implicit
- Diferències finites i elements finits
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
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: BLAS, LAPACK, etc.
Casos pràctics de sistemes numèrics
- Models de programació en paral·lel
- Paral·lelisme i granularitat
- Paral·lelisme de blocs
- Resolució sistemes dispersos
Introducció als problemes de ML
- Introducció a les operacions comunes de les DNNs
- Aplicacions de DNNs més comuns
- Arquitectures per DNNs
- Optimitzacions per DNNs
- DNNs i precisió
- Paral·lelisme en DNNs
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.
Casos Pràctics
- DNNs i precisió
- Paral·lelisme en DNNs
- Algorismes de Sequence Alignment
Introducció al nucli de DBMSs i l'execució de consultes en aquests sistemes
Aquest tema té com a objectiu comprendre les diferents capes de programari d'un DBMS i com interactuen, les diferents complexitats que encarnen i com la seva interacció determina el rendiment d'aquests SGBD.
Aplicacions de Big Data i bases de dades de grafs
Aquesta sessió té l'objectiu de presentar als estudiants el disseny d'aquests sistemes de base de dades Big Data i grafs, com es construeixen i com la seva estructura es veu influenciada per l'estructura de les seves diferents capes de programari.
Benchmarking per a bases de dades
El benchmarking és un dels problemes més importants en el disseny i l'evolució de la base de dades. Aquesta part del curs serà dissenyada per comprendre els diferents esforços realitzats en benchmarking dels EUA i Europa per a bases de dades relacionals i grafs.
Casos pràctics de Big Data
Casos pràctics de Big Data
Activitats
ActivitatActe 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.
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 dequacions 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 dequacions
- 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.
Assignació per a la part d'Aplicacions Numèriques. Per ser lliurat en Racó. Objectius:123 Setmana:
6
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
12h
Part II: Aplicacions no numèriques: ML i Bioinformàtica
Segueix les classes magistrals, estudia els materials i pràctiques
Teoria: Principis dels problemes de ML
- Introducció a les operacions comunes dels DNN
- Aplicacions DNN més habituals
- Arquitectures per a DNN
- Optimitzacions per a DNN
Alineació de seqüència
Aprenentatge autònom: Study the associated contents and work on the assignments.
Segueix les classes magistrals, estudia els materials i pràctiques
Teoria: Introducció al nucli de DBMSs i l'execució de consultes en aquests sistemes
Aplicacions de Big Data i bases de dades de grafs
Benchmarking per a bases de dades
Aprenentatge autònom: Estudiar els continguts associats i treballar en les tasques.
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à amb una nota parcial per bloc de continguts (Numèrics, No numèrics i Big Data). Cada bloc de continguts tindrà el mateix pes a la nota final:
Nota = A1 / 3 + A2 / 3 + A3 / 3
on
Ai: = Nota del bloc i (i d'1 a 3)
i
- Cada part del curs té alguns lliurables curts i parcials (PD) i un lliurable del projecte final (FPD).