Parallel and Distributed Systems28270
- Centre
- Faculty of Informatics
- Degree
- Grado en Inteligencia Artficial
- Academic course
- 2023/24
- Academic year
- 2
- No. of credits
- 6
- Languages
- Spanish
- Basque
- Code
- 28270
TeachingToggle Navigation
Teaching guideToggle Navigation
Description and Contextualization of the SubjectToggle Navigation
“Sistema Paraleloak eta Banatuak” irakasgaia, aurrerantzean SPB, Adimen Artifizialeko Graduko bigarren mailako oinarrizko irakasgaietako bat da. “Konputagailuen Arkitekturaren Oinarriak” irakasgaian ikusitakoa abiapuntu hartuta, irakasgai honen helburua adimen artifizialaren aplikazioetan gehien erabiltzen diren arkitektura paraleloetan sakontzea da.
Funtsean, irakasgaiak bi sistema mota izango ditu ardatz: memoria partekatuko sistema paraleloak (multiprozesadoreak) eta GPUetan oinarritutako sistemak. Sistema horien arkitektura eta paraleloan programatzeko moduak aztertuko dira, multiprozesadore-sistemen kasuan, OpenMP estandarra erabilita, eta GPUtan oinarritutako sistemen kasuan, CUDA erabilz. Irakasgaiak ikuspegi praktikoa du, eta adimen artifizialaren esparruko problemei, aipatutako konputu-sistemak erabilita, modu eraginkorrean aurre nola egin aztertzen du; esate baterako, datu handiekin (big-data), datuen analisiarekin (data science) edo sare sakonekin (deep learning) zerikusia duten atazei.
Adimen Artifizialeko Graduaren barruan, SPB irakasgaia Adimen Artifizialaren lerro ezberdinak tratatzen dituzten irakasgai guztientzat oinarri egokia da, konputazio paraleloko teknikak problemak modu eraginkorrean ebazteko tresnak eskaintzen dituelako.
Ikuspegi profesionaletik, irakasgaiak adimen artifizialaren arloan konputazio paraleloa aplikatzeko behar diren oinarrizko gaitasunak eskaintzen ditu. Adimen artifizialean aditua den pertsonak gai izan behar du, erantzun-denbora kritikoa edo konputazio premia handia duten aplikazioak modu paraleloan programatzeko.
Skills/Learning outcomes of the subjectToggle Navigation
Sistemas paralelos de memoria compartida y distribuida. GPUs. Librerías para programación paralela.
Theoretical and practical contentToggle Navigation
. .
¿ Sistemas de alto rendimiento
o Clasificación de sistemas de cómputo
o Rendimiento
¿ Sistemas paralelos de memoria compartida
o Coherencia
o Dependencias y sincronización
o Modelos de programación (OpenMP)
¿ Arquitecturas GPU
o Estructura y memoria
o Modelos de programación (CUDA, OpenAcc)
¿ Sistemas paralelos de memoria distribuida
o Estructura de un clúster ¿ supercomputador
o Redes de interconexión
o Modelos de programación (MPI)
o Programación híbrida
¿ Sistemas de gestión de recursos
o Sistemas de colas: Torque, Slurm...
¿ Librerías para la programación paralela y distribuida
o Usando lenguajes de alto nivel como C, R, Python
MethodologyToggle Navigation
Irakasgai honetan hainbat irakaskuntza-metodologia konbinatzen dira. Alde batetik, irakasgaiaren kontzeptuak azaltzeko azalpen eskolak emango dira, eta ikasleek parte hartuko dute horiei buruzko eztabaidetan. Ariketak eta problemak bakarka edo taldean garatuko dira, eta gelan egiten direnak modu parte-hartzailean ebatziko dira.
Bestalde, sistema paraleloen programazioarekin lotura duten edukiak laborategiko praktiken bidez eta ikasleek autonomiaz eta elkarlanean garatu beharko duten proiektu baten bidez landuko dira.
Azkenik, ikasleek talde-lana baliatuz, adimen artifizialeko alorreko programazio eredu berriei buruzko lan bat garatu beharko dute. Lan horretan, informazioa bilatu, aztertu eta ulertu beharko da, eta jendaurrean aurkeztu beharko duten txosten bat idatzi beharko dute.
Uneoro lan autonomoa sustatuko da, eta baliabide informatikoak eta bibliografikoak erabilita, ikaslek ikasgaia ulertu eta antzeko beste arlo batzuekin lotzeko gai izango dira. Halaber, galderak egitea eta eztabaida irekia sustatuko dira, ikasleek ahozko komunikazioan, sintesirako gaitasunena eta talde-lanean trebatzeko.
Ikasleen ikaskuntza errazteko eta bermatzeko, gelako eta ordenagailuko praktiken jarraipena eginen da. Aldez aurretik ezarritako ebaluazio-irizpideen arabera feedback-a emango zaie, ikasleak beren ikasketa-prozesuaz jabetzeko.
Assessment systemsToggle Navigation
- Continuous Assessment System
- Final Assessment System
- Tools and qualification percentages:
- Ehunekoak eta ebaluazio motak ondorengo ataletan adierazten dira (%): 100
Ordinary Call: Orientations and DisclaimerToggle Navigation
Ohiko deialdirako bi modalitate aurreikusten dira:
a. Ebaluazio jarraitua.
Ebaluatzeko modu lehenetsia da eta ohiko deialdirako bakarrik balio du. Ikasleak aktiboki eta etengabe parte hartzea eskatzen du: klaseetara eta laborategietara joatea, ariketak eta lanak (taldekoak zein banakakoak) entregatzea, ebaluazio probak eta planteatutako gainerako jarduerak egitea. Jarduera horietako batean parte hartzen ez bada, ikaslea ebaluazio globalera pasatuko da.
Irakasgaia elementu hauen arabera ebaluatuko da:
- Banakako idatzizko proba(k): 5 puntu (% 50)
- Lanak eta ariketak: 2 puntu (% 20)
- Taldeko praktika: 3 puntu (% 30)
Ikasgaia gainditzeko, azkeneko nota 5ekoa izateaz gain, ebaluazioko proba guztietan gutxienez 4 puntu (10en gainean) atera behar dira.
b. Ebaluazio globala.
Irakasgaia elementu hauen arabera ebaluatuko da:
- Banakako idatzizko proba: 7 puntu (% 70)
- Banakako praktika: 3 puntu (% 30)
Ikasgaia gainditzeko, azkeneko nota 5ekoa izateaz gain, ebaluazioko proba guztietan gutxienez 4 puntu (10en gainean) atera behar dira.
Extraordinary Call: Orientations and DisclaimerToggle Navigation
Ezohiko deialdirako modalitate bakarra aurreikusten da, ebaluazio globala.
Irakasgaia elementu hauen arabera ebaluatuko da:
- Banakako idatzizko proba: 7 puntu (% 70)
- Banakako praktika: 3 puntu (% 30)
Ikasgaia gainditzeko, azkeneko nota 5ekoa izateaz gain, ebaluazioko proba guztietan gutxienez 4 puntu (10en gainean) atera behar dira.
Compulsory materialsToggle Navigation
eGelako materiala (apunteak, laborategietarako dokumentuak...)
BibliographyToggle Navigation
Basic bibliography
Liburuak:
1. Hennessy J.L., Patterson D.A.: Computer Architecture: A Quantitative Approach. (6. ed.). Morgan Kaufmann, 2019.
2. Peter S. Pacheco .: An Introduction to Parallel Programming. Morgan Kaufmann, 2011.
3. Chapman B., Jost G., van der Pas R.: Using OpenMP: portable shared memory parallel programming. The MIT Press, 2008.
4. Almeida F., Giménez D., Mantas J.M., Vidal A.M.: Introducción a la programación paralela. Paraninfo, 2008.
5. Barlas G.: Multicore and GPU programming. M. Kaufmann, 2015. https://labur.eus/QCWGe
6. Bertil Schmidt, Jorge González-Domínguez, Christian Hundt, Moritz Schlarb Parallel programming : concepts and practice. Ed. Morgan Kauffman. 2018.
7. David B. Kirk and Wen-mei W. Hwu.: Programming Massively Parallel Processors: A Hands-on Approach. 3rd Edition. 2017.
8. Alberto García García, Sergio Orts Escolano, José Celilia Canales, José García Rodriguez.: Programación de GPUs Usando Compute Unified Device Architecture (CUDA). Editorial Ra- Ma. 2020
Webguneak:
1. OpenMP: http://openmp.org
2. GPU y CUDA: http://www.nvidia.es/page/home.html
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#compilation-with-nvcc
3. TENSORFLOW: https://www.tensorflow.org/
4. GOOGLE TPU: https://cloud.google.com/tpu
https://cloud.google.com/tpu/docs/tpus
In-depth bibliography
Liburuak:
1. Chapman B., Jost G., van der Pas R.: Using OpenMP: portable shared memory parallel programming. The MIT Press, 2008.
2. Bertil Schmidt, Jorge González-Domínguez, Christian Hundt, Moritz Schlarb Parallel programming : concepts and practice. Ed. Morgan Kauffman. 2018.
3. David B. Kirk and Wen-mei W. Hwu.: Programming Massively Parallel Processors: A Hands-on Approach. 3rd Edition. 2017.
Web addresses
Webguneak:
1. OpenMP: http://openmp.org
2. GPU y CUDA: http://www.nvidia.es/page/home.html
https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#compilation-with-nvcc
3. TENSORFLOW: https://www.tensorflow.org/
4. GOOGLE TPU: https://cloud.google.com/tpu
https://cloud.google.com/tpu/docs/tpus
GroupsToggle Navigation
01 Teórico (Spanish - Mañana)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 09:00-10:30 (1) | 10:30-12:00 (2) |
Teaching staff
01 Applied laboratory-based groups-1 (Spanish - Mañana)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 12:00-13:30 (1) |
Teaching staff
46 Teórico (Basque - Tarde)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 14:00-15:30 (1) | 15:30-17:00 (2) |
Teaching staff
46 Applied laboratory-based groups-1 (Basque - Tarde)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 17:00-18:30 (1) |