XSL Content

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

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based4060
Applied laboratory-based groups2030

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

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
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

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

12:00-13:30 (1)

Teaching staff

46 Teórico (Basque - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
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

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

17:00-18:30 (1)

Teaching staff