Titulación | Tipo | Curso | Semestre |
---|---|---|---|
2503740 Matemática Computacional y Analítica de Datos | OB | 3 | 1 |
Puede consutarlo a través de este enlace. Para consultar el idioma necesitará introducir el CÓDIGO de la asignatura. Tenga en cuenta que la información es provisional hasta el 30 de noviembre del 2023.
Aunque no hay prerrequisitos formalmente establecidos y es responsabilidad de la propia asignatura proporcionar a los alumnos un medio para adquirir los conocimientos descritos en el apartado de contenidos de la asignatura, es recomendable: un buen conocimiento de programación, del funcionamiento de un computador, del sistema operativo a nivel de usuario programador y de cómo se envían mensajes por la red (Fonamentos de Computadores, Software del Sistema, Iniciación a la Programación).
El objetivo de esta asignatura es conocer los sistemas de cómputo de altas prestaciones y paralelos, sistemas multiprocesador y multicomputadores, paradigmas de programación paralela, aprender a desarrollar aplicaciones con memoria compartida, introducir el concepto de paso de mensajes y aplicaciones en memoria distribuida y analizar las prestaciones de ejecución de estas aplicaciones.
Los conceptos teóricos sobre paradigmas de programación, memoria compartida y paso de mensajes, se refuerza con las sesiones de problemas y prácticas en las que los alumnos aprenden a programar utilizando lenguajes de programación paralela.
Todos los componentes descritos en esta asignatura deben permitir al alumno comprender el funcionamiento de los sistemas de altas prestaciones y paralelos y, hasta cierto punto, ser capaz de realizar un diseño sencillo de una aplicación paralela y evaluar sus prestaciones.
Tema 1: Introducción a sistemas de altas prestaciones.
Repaso de lenguage C e integración de código C en Python. Concurrencia: concepto, condición de carrera, región crítica y mecanismos d'exclusión mútua.
Introducción a los sistemas de altas prestaciones, sistemas paralelos, multiprocesadores y multicomputadores. Ejecución de aplicaciones paralelas en sistemas de altas prestaciones.
Tema 2: Introducción a los sistemas y algoritmos paralelos
SIMD (Single Instruction, Multiple Data), MIMD (Multiple Instruction, Multiple Data). Modelos de aplicaciones paralelas.
Definición de algoritmos paralelos. Ejemplos de algoritmos paralelos. Desarrollo de algoritmos paralelos.
Tema 3: Programación paralela
Paradigmas de programación paralela. Aplicaciones basadas en paso de mensajes. Estándar MPI (Message Passing Interface). Aplicaciones basadas en memoria compartida. Estándares OpenMP (Open multiprocessing) y OpenACC (Open Accelerators). Paralelismo en Python. Desarrollo de aplicaciones paralelas utilizando MPI, OpenMP, OpenACC y Python.
Tema 4: Análisis de prestaciones
Análisis de prestaciones de sistemas paralelos. Evaluación de prestaciones de sistemas paralelos. Ejemplos de herramientas de evaluación de prestaciones.
Este planteamiento del trabajo está orientado a promover un aprendizaje activo y desarrollar las competencias de capacidad de organización y planificación, comunicación oral y escrita, trabajo en equipo y razonamiento crítico. La calidad de los ejercicios realizados, de su presentación y de su funcionamiento se valorará especialmente.
Competencias transversales:
Como se ha mencionado antes, la asignatura incluye como actividad docente la realización de un trabajo que consiste en el desarrollo de un artículo a la Vikepèdia y está orientado a comunicar eficientemente por escrito, conocimientos, resultados y habilidades, tanto en entornos profesionales como ante públicos no expertos, haciendo un uso eficiente de las TIC en la comunicació y la transmisión de ideas.
Los estudiantes disponen de material para el desarrollo de artículos en la Vikepèdia (que incluye la página del Viquiprojecte: Còmput d'altas prestacions). Durante el semestre se realizan un mínimo de una reunión con los grupos para discutir y evaluar la evolución del trabajo.
La gestión de la docencia de la asignatura se hará a través del Campus Virtual (https://cv2008.uab.cat/), que servirá para poder ver los materiales, gestionar los grupos de prácticas, hacer las entregas correspondientes, ver las notas, comunicarse con los profesores, etc.
Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.
Título | Horas | ECTS | Resultados de aprendizaje |
---|---|---|---|
Tipo: Dirigidas | |||
Prácticas de Laboratorio | 10 | 0,4 | 1, 4, 5, 2, 3, 6, 9, 10, 11 |
Seminarios de Problemas | 11 | 0,44 | 1, 4, 5, 2, 3, 6, 7, 9, 10, 11 |
Teoría | 24 | 0,96 | 1, 5, 2, 7, 8, 11 |
Tipo: Autónomas | |||
Estudio autónomo | 30 | 1,2 | 1, 5, 2, 8, 9, 10, 11 |
Preparación de laboratorios | 30 | 1,2 | 1, 4, 5, 2, 3, 6, 9, 10, 11 |
Preparación de seminarios | 30 | 1,2 | 1, 4, 5, 2, 3, 6, 9, 10, 11 |
El objetivo del proceso de evaluación es verificar que el alumno ha adquirido los conocimientos y habilidades definidos en los objetivos de la asignatura, así como las competencias.
Se evaluarán cuatro tipos de actividades de manera independiente donde la suma ponderada de ellas dará la nota final. Estas actividades son:
La parte de Teoría (T) se evaluará con dos controles parciales individuales durante todo el curso. La nota final de Teoría saldrá de la suma ponderada de los dos controles (0.5 * Control 1 + 0.5 * Control 2). Habrá una segunda oportunidad para recuperar esta parte el día que tengamos asignado en la semana de exámenes de junio. Se podrán recuperar las partes que no hayan sido superadas en los controles parciales de teoría (no se pueden utilizar las pruebas de recuperación para subir nota de esta parte). La nota mínima para aprobar esta parte es 5.
La parte de Resolución de prácticas de laboratorio (PL) se evaluará de manera grupal. Tiene tres entregas. La nota final saldrá de la suma ponderada de las tres entregas (X0 * Entrega 1 + X1 * Entrega 2 + X2 * Entrega 3 + X3 * Entrega 4, X0 + X1 + X2 + X3 = 1). Para aprobar las PL la nota mínima deberá ser 5. Sólo hay una única oportunidad (no se puede recuperar esta parte).
La parte de Redacción de un artículo en la Wikipedia (VA) se evaluará de manera grupal. Cada grupo tendrá un tema relacionado a los contenidos de la asignatura para desarrollar en la Wikipedia (puede que el artículo ya exista o sea de nueva creación). El artículo se irá desarrollando durante el curso y se discutirá con el responsable de la asignatura y los miembros del grupo en horas de tutoría. La nota de cada miembro del grupo se determinará por la calidad del artículo y participación en la discusión. Sólo hay una única oportunidad (no se puede recuperar esta parte). En consecuencia, en caso de que un/a alumno/a no tenga nota de revisión del artículo, no podrá optar al excelente en la recuperación.
Los ejercicios prácticos (PA) consistirán en trabajar problemas de programación muy concretos y en algunos casos relacionados con los que se encontrarán en las prácticas de laboratorio. Se quiere que cada estudiante estudie la resolución de un conjunto de problemas concretos de forma aislada al caso más general de la práctica. El valor de estos ejercicios es del 30% de la nota final y dada su naturaleza y objetivo no son recuperables.
La nota final de la asignatura será la suma ponderada de las notas de cada una de las cuatro actividades: 30% de Teoría, 10% Redacción de un artículo en la Wikipedia, 30% Resolución de ejercicios prácticos individuales y 30% de Resolución de prácticas de laboratorio. El resultado para superar la asignatura deberá ser >= 5.
En caso de no superar la asignatura por no alcanzar la puntuación mínima en alguno de los apartados (Teoría o Prácticas de Laboratorio), aunque al hacer la media ponderada la nota final fuera igual o superior a 5 la nota que se pondrá en el expediente será de 4,5.
En caso de que la media no llegue a 5 la nota que figurará en el expediente será la nota media obtenida numéricamente.
Si el/la alumno/a entrega cualquier actividad, se entiende que se presenta en la asignatura y será evaluado/a. Si no entrega ninguna actividad, entonces se puede considerar No evaluable.
Otorgar una calificación de matrícula de honores decisión del profesorado responsable de la asignatura. La normativa de la UAB indica que las MH sólo se podrán conceder a estudiantes que hayan obtenido una calificación final igual o superior a 9.00. Se puede otorgar hasta un 5% de MH del total de estudiantes matriculados.
Las fechas de evaluación continua y entrega de trabajos se publicarán en el campus virtual y pueden estar sujetos a cambios de programación por motivos de adaptación a posibles incidencias; siempre se informará en el campus virtual sobre estos cambios ya que se entiende que el CV es el mecanismo habitual de intercambio de información entre el profesorado y los/las estudiantes.
Para cada actividad de evaluación, se indicará un lugar, fecha y hora de revisión en la que el estudiante podrá revisar la actividad con el/la profesor/a. En este contexto, se podrán hacer reclamaciones sobre la nota de la actividad, que serán evaluadas por el profesorado responsable de la asignatura. Si el/la estudiante no se presenta en esta revisión, no se revisará posteriormente esta actividad.
RESUMEN
Si ((T >= 5) y (P >= 5) entonces
NF = 0.3 * T + 0.1 * VA + 0,3 * PA + 0.3 * PL
Si (NF >= 5) entonces APROBADO
sino SUSPENDIDO
sino SUSPENDIDO
Estudiantes repetidores: Los alumnos repetidores o repetidoras que tengan aprobadas las prácticas de laboratorio pueden pedir la convalidación de esta parte de la asignatura. El resto de actividades de evaluación deberán hacerlas en las mismas condiciones que los/las otros/as estudiantes.
Notasobre plagios:
Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un estudiante que puedan conducir a una variación de la calificación en una actividad evaluable se calificarán con un cero (0). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso. Estas irregularidades incluyen, entre otros:
En caso de no superar la asignatura debido a que alguna de las actividades de evaluación no alcanza la nota mínima requerida, la nota numérica del expediente será el valor menor entre 4.5 y la media ponderada de las notas. Con las excepciones de que se otorgará la calificación de "No Evaluable" a los y las estudiantes que no participen en ninguna de las actividades de evaluación, y de que la nota numérica del expediente será el valor menor entre 3.0 y la media ponderada de las notas en caso de que el estudiante haya cometido irregularidades en un acto de evaluación (y por tanto no será posible el aprobado por compensación). En ediciones futuras de esta asignatura, el estudiante que haya cometido irregularidades en un acto de evaluación no se le convalidará ninguna de las actividades de evaluación realizadas.
En resumen: copiar, dejar copiar o plagiar (o el intento de) en cualquiera de las actividades de avaluación equivale a un SUSPENSO,no compensable y sin convalidaciones de partes de la asignatura en cursos posteriores.
Título | Peso | Horas | ECTS | Resultados de aprendizaje |
---|---|---|---|---|
1r Control individual | 15% | 2 | 0,08 | 5, 6, 7, 8, 9, 10 |
2o Control individual | 15% | 2 | 0,08 | 1, 5, 2, 3, 7, 8, 9, 10 |
Evaluación de seminarios de problemas | 30% | 6 | 0,24 | 1, 4, 5, 2, 3, 6, 10, 11 |
Prácticas de Laboratorio | 30% | 4 | 0,16 | 1, 4, 5, 2, 3, 6, 8, 9, 10, 11 |
Wikipedia | 10% | 1 | 0,04 | 9, 11 |
En este curso trabajaréis sobre clusters propios del Departamento de Arquitectura de Computadores y Sistemas Operativos, en consecuencia, necesitaréis un cliente ssh para realizar las conexiones (integrado en cualquier computador con sistema operativo Linux) y es muy recomable el uso de un entorno de desarrollo que permita la conexión remota (como el MobaXTerm para Windows [https://mobaxterm.mobatek.net/] o el Visual Studio Code para todas las plataformas [https://code.visualstudio.com/]).