Identifying Data 2022/23
Subject (*) Advanced Parallel Processing Code 614G02034
Study programme
Grao en Ciencia e Enxeñaría de Datos
Descriptors Cycle Period Year Type Credits
Graduate 1st four-month period
Fourth Optional 6
Language
Spanish
Teaching method Face-to-face
Prerequisites
Department Enxeñaría de Computadores
Coordinador
Martin Santamaria, Maria Jose
E-mail
maria.martin.santamaria@udc.es
Lecturers
González Domínguez, Jorge
Martin Santamaria, Maria Jose
Touriño Dominguez, Juan
E-mail
jorge.gonzalezd@udc.es
maria.martin.santamaria@udc.es
juan.tourino@udc.es
Web
General description Os obxectivos globales da materia son: formar ao alumno nos diversos paradigmas de programación de computadores paralelos; incidir en técnicas software para o deseño e implementación de algoritmos e aplicacións paralelas eficientes; e aplicar estas técnicas de forma práctica para a programación de computadores paralelos con diferentes arquitecturas.

Study programme competencies
Code Study programme competences
A12 CE12 - Capacidade de coñecer e aplicar os principios fundamentais, principais paradigmas e técnicas da programación paralela e distribuída ao desenvolvemento de algoritmos para o procesamento e análise masiva de datos.
B2 CB2 - Que os estudantes saiban aplicar os seus coñecementos ao seu traballo ou vocación dunha forma profesional e posúan as competencias que adoitan demostrarse por medio da elaboración e defensa de argumentos e a resolución de problemas dentro da súa área de estudo
B3 CB3 - Que os estudantes teñan a capacidade de reunir e interpretar datos relevantes (normalmente dentro da súa área de estudo) para emitir xuízos que inclúan unha reflexión sobre temas relevantes de índole social, científica ou ética
B4 CB4 - Que os estudantes poidan transmitir información, ideas, problemas e solucións a un público tanto especializado como non especializado
B7 CG2 - Elaborar adecuadamente e con certa orixinalidade composicións escritas ou argumentos motivados, redactar plans, proxectos de traballo, artigos científicos e formular hipóteses razoables.
B8 CG3 - Ser capaz de manter e estender formulacións teóricas fundadas para permitir a introdución e explotación de tecnoloxías novas e avanzadas no campo.
B9 CG4 - Capacidade para abordar con éxito todas as etapas dun proxecto de datos: exploración previa dos datos, preprocesado, análise, visualización e comunicación de resultados.
B10 CG5 - Ser capaz de traballar en equipo, especialmente de carácter multidisciplinar, e ser hábiles na xestión do tempo, persoas e toma de decisións.
C1 CT1 - Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.
C4 CT4 - Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Learning aims
Learning outcomes Study programme competences
Entender os principais modelos de programación paralela A12
Aplicar os coñecementos adquiridos á implementación eficiente de aplicacións paralelas usando distintos modelos de programación A12
B2
B3
B4
B7
B8
B9
B10
C1
C4

Contents
Topic Sub-topic
Procesamento Paralelo 1. Introdución
2. Procesamento Paralelo en Arquitecturas de Memoria Compartida
3. Procesamento Paralelo en Arquitecturas de Memoria Distribuída
4. Procesamento Paralelo en Arquitecturas Heteroxéneas

Planning
Methodologies / tests Competencies Ordinary class hours Student’s personal work hours Total hours
Laboratory practice A12 B2 B8 B10 C1 19.5 48.75 68.25
Seminar A12 3 3 6
Supervised projects A12 B2 B3 B4 B7 B8 B9 C1 C4 0 25 25
Guest lecture / keynote speech A12 19.5 29.25 48.75
 
Personalized attention 2 0 2
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies Description
Laboratory practice Clases prácticas no laboratorio nas que se realizan tarefas dirixidas que permiten ao alumno familiarizarse desde un punto de vista práctico cos contidos vistos nas clases teóricas.
Seminar Clases en aula dedicadas a repasar conceptos clave de programación necesarios para o desenvolvemento da materia.
Supervised projects Realización de traballos nos que o alumno ten que empregar os coñecementos adquiridos para resolver distintos problemas de forma autónoma.
Guest lecture / keynote speech Clases teóricas nas que se expón o contido de cada tema.

Personalized attention
Methodologies
Supervised projects
Laboratory practice
Description
A atención personalizada na realización das prácticas de laboratorio e os traballos tutelados é indispensable para dirixir aos estudantes no desenvolvemento do traballo. Recoméndase que os alumnos utilicen as titorías para validar o traballo que realizan.

Assessment
Methodologies Competencies Description Qualification
Supervised projects A12 B2 B3 B4 B7 B8 B9 C1 C4 Avaliación dos traballos academicamente dirixidos 50
Laboratory practice A12 B2 B8 B10 C1 Avaliación das prácticas 50
 
Assessment comments

Para a segunda oportunidade as notas das prácticas en memoria compartida e en memoria distribuida serán as obtidas durante o cuadrimestre.


Sources of information
Basic J. Sanders, E. Kandrot (2010). CUDA by example: an introduction to general-purpose GPU programming. Addison-Wesley Professional
P. Pacheco (1997). Parallel Programming with MPI. Morgan Kaufmann Publishers
B. Schmidt, J. González-Domínguez, C. Hundt, M. Schlarb (2017). Parallel programming: concepts and practice. Morgan Kaufmann Publishers
T.G. Matsson, Y. (Helen) He, A.E. Koniges (2019). The OpenMP Common Core: Making OpenMP Simple Again. The MIT Press

Complementary


Recommendations
Subjects that it is recommended to have taken before
Parallel Processing/614G02023

Subjects that are recommended to be taken simultaneously

Subjects that continue the syllabus

Other comments


(*)The teaching guide is the document in which the URV publishes the information about all its courses. It is a public document and cannot be modified. Only in exceptional cases can it be revised by the competent agent or duly revised so that it is in line with current legislation.