Créditos ECTS Créditos ECTS: 4.5
Horas ECTS Criterios/Memorias Traballo do Alumno/a ECTS: 70.5 Horas de Titorías: 2 Clase Expositiva: 10 Clase Interactiva: 30 Total: 112.5
Linguas de uso Castelán, Galego
Tipo: Materia Ordinaria Grao RD 1393/2007 - 822/2021
Departamentos: Electrónica e Computación
Áreas: Arquitectura e Tecnoloxía de Computadores
Centro Escola Técnica Superior de Enxeñaría
Convocatoria: Segundo semestre
Docencia: Con docencia
Matrícula: Matriculable
O obxectivo principal desta materia é preparar ao estudantado para as necesidades de deseño e creación de código eficiente capaz de explotar ao máximo as capacidades do hardware dispoñible en sistemas multinúcleo e multiprocesador, así como en sistemas manycore, dispoñibles na actualidade e nun futuro próximo. Partindo da descrición das arquitecturas multinúcleo, analizaremos diferentes técnicas para o deseño de algoritmos paralelos e centrarémonos en mecanismos de programación de sistemas de memoria compartida e GPU.
Tema 1: Sistemas multicore e manycore
Tema 2: Caracterización do rendemento
Tema 3: Introdución á programación paralela
Tema 4: Técnicas de adaptación de aplicacións a sistemas multinúcleo e multiprocesador
Tema 5: Técnicas de optimización do rendemento
As prácticas pódense desenvolver nos computadores persoais, pero deben executarse nos nodos do Centro de Supercomputación de Galicia.
Bloque 1: Seminario introdución ao CESGA
Farase unha introdución ao sistema de computación Finisterrae III, acceso por ssh, envío de traballos a cola. Posta en común de como medir os tempos de execución.
Bloque 2: Adquisición de coñecementos básicos en tecnoloxías de programación paralela
O obxectivo é adquirir os coñecementos básicos para a realización de programas paralelos en sistemas de memoria compartida e manycore.
Bloque 3: Realización de programas paralelos básicos
O obxectivo é aplicar as tecnoloxías de programación paralela utilizando OpenMP, OpenCL, CUDA e/o SYCL.
Bloque 4: Proxecto de programación paralela.
O obxectivo é paralelizar unha aplicación de certa complexidade aplicando as metodoloxías técnicas de programación paralela e estudar o rendemento.
Tanto a bibliografía básica como complementaria está dispoñible na biblioteca da Escola Técnica Superior de Enxeñería.
Básica
Pacheco, Peter S., and Matthew Malensek. An Introduction to Parallel Programming. Second edition., Morgan Kaufmann, 2022.
Hwu, W. W. et al. (2022) Programming massively parallel processors : A hands-on approach. Fourth edition. Cambridge, Morgan Kaufmann.
Complementaria
Gerassimos Barlas (2022). Multicore and GPU Programming. An Integrated Approach. 2nd Edition. MA: Morgan Kaufmann.
O estudantado adquirirá en distintos niveis de profundización, as seguintes competencias básicas, transversais e específicas:
CG4 - Capacidade para definir, avaliar e seleccionar plataformas hardware e software para o desenvolvemento e a execución de sistemas, servizos e aplicacións informáticas, #de acordo con os coñecementos adquiridos segundo o establecido no apartado 5 do devandito acordo.
CG9 - Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía e creatividade. Capacidade para saber comunicar e transmitir os coñecementos, habilidades e destrezas da profesión de Enxeñeiro Técnico en Informática.
TR1 - Instrumentais: Capacidade de análise e síntese. Capacidade de organización e planificación. Comunicación oral e escrita en galego, castelán e inglés. Capacidade de xestión da información. Resolución de problemas. Toma de decisións.
TR2 - Persoais: Traballo en equipo. Traballo nun equipo multidisciplinar e multilingüe. Habilidades nas relacións interpersoais. Razoamento crítico. Compromiso ético.
TR3 - Sistémicas: Aprendizaxe autónoma. Adaptación a novas situacións. Creatividade. Iniciativa e espírito emprendedor. Motivación pola calidade. Sensibilidade cara a temas ambientais.
RI1 - Capacidade para deseñar, desenvolver, seleccionar e avaliar aplicacións e sistemas informáticos, asegurando a súa fiabilidade, seguridade e calidade, conforme a principios éticos e á lexislación e normativa vixente.
RI9 - Capacidade para coñecer, comprender e avaliar a estrutura e arquitectura dos computadores, así como os compoñentes básicos que os conforman.
RI14 - Coñecemento e aplicación dos principios fundamentais e técnicas básicas da programación paralela, #concorrente, distribuída e de tempo real.
TI2 - Capacidade para seleccionar, deseñar, despregar, integrar, avaliar, construír, xestionar, explotar e manter as tecnoloxías de hardware, software e redes, dentro dos parámetros de custo e calidade adecuados.
TI5 - Capacidade para seleccionar, despregar, integrar e xestionar sistemas de información que satisfagan as necesidades da organización, con criterios de custo e calidade identificados.
Esta materia ten un enfoque práctico onde a aprendizaxe é a través de exercicios e un proxecto de programación.
Clases maxistrais: nestas clases o profesor expoñerá os contidos teóricos que serven de base para as clases prácticas de programación buscando un ambiente participativo do estudantado expoñendo algúns temas teóricos.
Clases prácticas: estas clases estarán dedicadas a desenvolver o programa de prácticas da materia. Consistirán na realización de programas paralelos de complexidade crecente ata completar un proxecto completo de programación paralela que se poderá realizar en grupo. O estudantado será o elemento activo nestas clases, e o profesor guiará a aprendizaxe #ante as cuestións e dúbidas expostas. Os enunciados das prácticas, así como o material de axuda estarán dispoñibles no campus virtual da USC.
As titorías poderán ser presenciais (horario acordado co estudantado ou fixado polo centro), a través de correo electrónico ou a través do campus virtual.
Esta materia aplica un sistema de avaliación continua baseado na participación do estudantado no desenvolvemento das clases, prácticas e proxecto de programación paralela a desenvolver durante o curso.
As titorías, discusións en clase e a interacción nas clases prácticas permitirán ao profesor coñecer o grao de asimilación da materia que van obtendo os/as alumnos/as durante o curso.
Cada unha das prácticas propostas terá unha data de finalización específica. Despois desta data, a práctica considerarase como non realizada. A semana previa á data de entrega farase unha proba de avaliación.
En aplicación do Artigo 1 do Regulamento de asistencia a clase (aprobada en Consello de Goberno o 25/11/2024) a asistencia a clase non terá ningunha valoración na nota final.
En aplicación da Normativa dá ETSE sobre plaxio (aprobada pola Xunta da ETSE o 19/12/2019), a copia total ou parcial dalgún exercicio de prácticas ou de teoría supoñerá o suspenso nas dúas oportunidades do curso, coa cualificación de cero en ambos os casos.
Oportunidade ordinaria
Participación no desenvolvemento das clases teóricas (20%).
Competencias traballadas: CG4, CG9, TR1, TR3, RI9, TI1, TI5
Adquisición de coñecementos básicos en tecnoloxías de programación paralela (15%).
Competencias traballadas: CG9, TR1, TR3, RI1, R9, R14
Realización de programas paralelos en tecnoloxías de programación paralela (25%).
Competencias traballadas: CG9, TR1, TR3, RI1, R9, R14
Proxecto de programación paralela (40%). A data límite de entrega do proxecto de programación paralela será 5 días antes da data oficial do exame da oportunidade ordinaria. O/O alumno/para fará unha presentación e defenderá o proxecto o día do exame.
Competencias traballadas: CG4, CG9, TR1, TR2, TR3, RI1, R14
Non existe unha nota mínima en participación no desenvolvemento das clases teóricas nin en prácticas, excepto no proxecto de programación paralela que debe superarse cun aprobado (5 puntos sobre 10).
Non se conservarán as notas de cursos anteriores.
Oportunidade de recuperación e convocatoria extraordinaria
Mesmos criterios que na oportunidade ordinaria. A data límite de entrega das prácticas e proxecto de programación paralela será 5 días antes a data oficial do exame de segunda oportunidade. O estudantado fará unha presentación e defenderá o proxecto o día do exame.
Non presentado
A cualificación será "non presentado" cando o estudantado non realice ningunha das probas de avaliación continua.
Estudantado repetidor
Os criterios de avaliación para o estudantado repetidor serán os mesmos que o estudantado que se matricule por primeira vez na disciplina, excepto se se superou a avaliación continua na última convocatoria. Neste caso, o alumno/a deberá poñerse en contacto co profesor.
Estudantado con dispensa
Mesmos criterios de avaliación excepto a participación no desenvolvemento das clases que será mediante os foros dispoñibles no campus virtual.
O traballo persoal do estudantado nunha materia de 4,5 créditos ECTS debe ser dunhas 70,5 horas dedicadas a consulta de bibliografía, estudo autónomo, desenvolvemento das actividades programadas e preparación e presentación de traballos.
A dedicación en tempo pode variar ao longo do cuadrimestre, en especial na etapa de elaboración e presentación de resultados de prácticas e proxecto.
A materia está deseñada para que o estudantado participe activamente e de maneira regular durante o seu desenvolvemento.
Requisitos previos recomendados na memoria do GrEI: Programación I, Programación II, Fundamentos de Computadores, Arquitectura de Computadores, Sistemas Operativos I, Sistemas Operativos II.
Tamén resulta interesante ter cursada a materia de Fundamentos de Sistemas Paralelos.
A entrega dos materiais do curso e as comunicacións electrónicas co estudantado levará a cabo coas ferramentas do campus virtual da materia.
A materia impártese en castelán. A bibliografía e parte do material están dispoñibles en inglés.
Pablo Quesada Barriuso
Coordinador/a- Departamento
- Electrónica e Computación
- Área
- Arquitectura e Tecnoloxía de Computadores
- Teléfono
- 881813538
- Correo electrónico
- pablo.quesada [at] usc.es
- Categoría
- Profesor/a: Profesor Contratado/a Doutor
Cesar Alfredo Piñeiro Pomar
- Departamento
- Electrónica e Computación
- Área
- Arquitectura e Tecnoloxía de Computadores
- Correo electrónico
- cesaralfredo.pineiro [at] usc.es
- Categoría
- Profesor/a: Axudante Doutor LOSU
Mércores | |||
---|---|---|---|
15:30-16:30 | Grupo /CLE_01 | Castelán | IA.S1 |
13.01.2026 16:00-20:00 | Grupo /CLIL_01 | Aula A10 |
13.01.2026 16:00-20:00 | Grupo /CLE_01 | Aula A10 |
25.05.2026 10:00-14:00 | Grupo /CLIL_01 | Aula A5 |
25.05.2026 10:00-14:00 | Grupo /CLE_01 | Aula A5 |
17.06.2026 10:00-14:00 | Grupo /CLIL_01 | IA.03 |
17.06.2026 10:00-14:00 | Grupo /CLE_01 | IA.03 |