Guía docente de Técnicas de Programación Avanzada (M96/56/1/33)
Máster
Módulo
Rama
Centro Responsable del título
Semestre
Créditos
Tipo
Tipo de enseñanza
Profesorado
- Mancia Anguita López
- Francisco J. Fernández Baldomero
Tutorías
Mancia Anguita López
Email- Tutorías 1º semestre
- Miércoles 10:00 a 13:00 (F. Ciencias - 3ª Planta - Edificio de Física)
- Viernes 10:00 a 13:00 (Edificio Auxiliar de la Etsiit. D-1.3)
- Tutorías 2º semestre
- Martes 10:30 a 13:30 (Despacho 2D4 Etsiit)
- Jueves 10:30 a 13:30 (Despacho 2D4 Etsiit)
Francisco J. Fernández Baldomero
Email- Tutorías 1º semestre
- Lunes 11:30 a 13:30 (Etsiit 2D-40)
- Lunes 17:30 a 19:30 (Etsiit 2D-40)
- Viernes 17:30 a 19:30 (Etsiit 2D-40)
- Tutorías 2º semestre
- Lunes 9:30 a 12:30 (Etsiit 2D-40)
- Miércoles 9:30 a 12:30 (Etsiit 2D-40)
Breve descripción de contenidos (Según memoria de verificación del Máster)
Arquitecturas paralelas. Conceptos y herramientas de procesamiento paralelo. Optimización de código.
Prerrequisitos y/o Recomendaciones
Competencias
Competencias Básicas
- CB6. Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.
- CB7. Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
- CB8. Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
- CB9. Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
- CB10. Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
Resultados de aprendizaje (Objetivos)
- Conocer, comprender e implementar esquemas computacionales avanzados basados en la técnica de elementos finitos y métodos sin malla para problemas de contaminación en flujos de lámina libre e interfases móviles.
- Conocer y comprender técnicas computacionales para la implementación de modelos de contaminación Lagrangianos.
- Conocer y comprender los fundamentos de las distintas técnicas computacionales para procesos de transporte turbulento en medios acuáticos.
- Conocer y comprender las bases para la explotación operacional de herramientas avanzadas de predicción de la calidad del agua.
- Conocer y comprender las técnicas de “downscaling”.
- Distinguir entre los diferentes tipos de arquitecturas y plataformas paralelas.
- Evaluar las prestaciones de un programa o un computador paralelo.
- Relacionar los niveles/tipos de paralelismo implícito en una aplicación con los tipos de arquitecturas paralelas que lo aprovechan.
- Distinguir entre los diferentes tipos de herramientas para obtener código paralelo, estilos o paradigmas de programación paralela y estructuras típicas de los códigos paralelos.
- Aplicar una serie de pasos para obtener un código optimizado a partir de una descripción de la aplicación.
- Aplicar técnicas de optimización de código apropiadas al tipo de aplicación.
- Utilizar herramientas de ayuda a la optimización de código.
- Utilizar librerías de funciones útiles para el tipo de aplicación.
Programa de contenidos Teóricos y Prácticos
Teórico
- Tema1. Arquitecturas paralelas. Clasificación de arquitecturas paralelos. Arquitecturas paralelas y niveles de paralelismo en una aplicación/código.
- Tema 2. Conceptos y herramientas de procesamiento paralelo. Herramientas de programación. Alternativas de comunicación. Estilos y paradigmas de programación. Estructuras de programas paralelos. Evaluación de prestaciones
- Tema 3. Optimización de código. Optimizaciones comunes en arquitecturas de cómputo de propósito general. Optimizaciones dependientes de la arquitectura de cómputo. Librerías de funciones útiles en mecánica de fluidos computacional. Proceso de optimizació
Práctico
Seminarios + Prácticas de Laboratorio
- Bloque 1. Programación de computadores con memoria compartida
- Bloque 2. Programación de computadores con memoria distribuida
Bibliografía
Bibliografía fundamental
- T. Rauber, G. Ründer. Parallel Programming: for Multicore and Cluster Systems. Springer 2013.
- B. Chapman, G. Jost and R. van der Pas, Using OpenMP: Portable Shared Memory Parallel Programming. Cambridge, Mass.: MIT Press, 2008, pp. 353. ESIIT/D.1 CHA usi .
- Nikita Silaparasetty. Machine learning concepts with Python and the Jupyter Notebook environment : using Tensorflow 2.0. 1st ed. 2020. Apress, 2020. Catálogo BUG en línea.
- Sarah Guthals. Github For Dummies. Second edition. Hoboken, NJ, John Wiley & Sons, Inc., 2023. Catálogo BUG en línea.
Bibliografía complementaria
- M. Anguita, J. Ortega. Fundamentos y Problemas de Arquitectura de Computadores, Editorial Técnica Avicam. 2016. ISSN/ISBN: 978-84-16535-52-1. ESIIT/C.1 ANG fun
- Liangqu Long, Xiangming Zeng. Beginning deep learning with TensorFlow : work with Keras, MNIST data sets, and advanced neural networks. New York, Apress L. P., 2022. Catálogo BUG en línea.
- George Lomidze. Git, GitHub : the complete Git & GitHub course. Birmingham, England, PACKT Publishing, 2020. Catálogo BUG en línea.
Enlaces recomendados
Metodología docente
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final.)
Evaluación Ordinaria
El artículo 17 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que la convocatoria ordinaria estará basada preferentemente en la evaluación continua del estudiante, excepto para quienes se les haya reconocido el derecho a la evaluación única final.
- Asistencia y participación en actividades presenciales del máster: 10%
- Exámenes individuales: 30 %
- Entrega de ejercicios prácticos, cuadernos de prácticas y trabajos individuales: 60%
Se debe obtener un 5 sobre 10 para aprobar la asignatura
Evaluación Extraordinaria
El artículo 19 de la Normativa de Evaluación y Calificación de los Estudiantes de la Universidad de Granada establece que los estudiantes que no hayan superado la asignatura en la convocatoria ordinaria dispondrán de una convocatoria extraordinaria. A ella podrán concurrir todos los estudiantes, con independencia de haber seguido o no un proceso de evaluación continua. De esta forma, el estudiante que no haya realizado la evaluación continua tendrá la posibilidad de obtener el 100% de la calificación mediante la realización de una prueba y/o trabajo.
Examen escrito
Evaluación única final
Examen escrito: 100%
Información adicional
El mismo horario que establezca en centro en el que se imparte.