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
Professorat
Responsable
- Carlos Alvarez Martinez ( calvarez@ac.upc.edu )
Altres
- Daniel Jimenez Gonzalez ( djimenez@ac.upc.edu )
- Josep Larriba Pey ( larri@ac.upc.edu )
- Josep Ramon Herrero Zaragoza ( josepr@ac.upc.edu )
Hores setmanals
Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.15
Aprenentatge autònom
7.4
Competències
Computació avançada
Computació d'altes prestacions
Específiques comunes
Genèriques
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
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.
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 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.
Continguts:
Teoria
8h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Teoria
0h
Problemes
0h
Laboratori
8h
Aprenentatge dirigit
2h
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.
Continguts:
Teoria
10h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Laboratori aplicacions no numèriques
- Laboratori: Anàlisis amb profiling/timing, anàlisis de dependències i paral.lelització amb un model programació paral.lela.
Continguts:
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Part III: Problemes de Big Data
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.
Continguts:
Teoria
10h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
Teoria
0h
Problemes
0h
Laboratori
6h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h
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à 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).
Bibliografia
Bàsic
-
Finite element analysis: from concepts to applications
- Burnett, D.S,
Addison-Wesley,
1987.
ISBN: 0201108062
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991000069979706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Numerical methods for engineers
- Chapra, S.C.; Canale, R.P,
McGraw-Hill,
2021.
ISBN: 9781260571387
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004208719706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Iterative methods for sparse linear systems
- Saad, Y,
SIAM,
2003.
ISBN: 0898715342
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002605179706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Parallel programming in C with MPI and OpenMP
- Quinn, M.J,
McGraw-Hill,
2003.
ISBN: 0071232656
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002614899706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
A multigrid tutorial
- Briggs, W.L.; Henson, V.E.; McCormick, S.F,
Society for Industrial and Applied Mathematics,
2000.
ISBN: 0898714621
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002338889706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
The ten most wanted solutions in protein bioinformatics
- Tramontano, A,
Chapman and Hall/CRC,
2005.
ISBN: 1584884916
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004001559706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Transaction processing: concepts and techniques
- Gray, J.; Reuter, A,
Morgan Kaufmann,
1993.
ISBN: 1558601902
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991000768969706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Analyzing network data in biology and medicine: an interdisciplinary textbook for biological, medical and computational scientists
- Pržulj, N,
Cambridge University Press,
2019.
ISBN: 9781108432238
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005261349406711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementari
-
Higher-order numerical methods for transient wave equations
- Cohen, G.C,
Springer,
2001.
ISBN: 354041598X
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002428189706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Full seismic waveform modelling and inversion
- Fichtner, A,
Springer,
2011.
ISBN: 9783642158063
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003948259706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
An introduction to multigrid methods
- Wesseling, P,
Edwards,
2004.
ISBN: 1930217080
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004000329706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Freely Available Software for Linear Algebra http://www.netlib.org/utk/people/JackDongarra/la-sw.html
- Mesh partitioner software http://glaros.dtc.umn.edu/gkhome/views/metis/
- MPI library http://www.open-mpi.org/
- OpenMP http://openmp.org/
- MGNet http://www.mgnet.org/
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.