Del 26.03.2007 al 28.03.2007. Aula de Informática de Docencia de la Escuela de Universitaria de Enfermería de la Universidad de Santiago de Compostela INSCRIPCIÓN
Objetivos: Mejorar la eficiencia de los códigos computacionales producidos por los investigadores de Mathematica
Colabora: Departamento de Electrónica y Sistemas. UDC
Perfil de asistentes: Investigadores de Ingenio MATHEMATICA que desarrollan programas de cálculo y que quieran mejorar sus tiempos de respuesta.
Horarios:
Día 26 de marzo: de 15:00 a 20:00
Día 27 de marzo: de 9:00 a 14:00 formación y de 16:00 a 21:00 las tutorías individualizadas.
Día 28 de marzo: de 9:00 a 14:00
Formato: Presencial: 15 horas teórico/prácticas, repartidas en 3 sesiones de 5 horas.
Durante la tarde del segundo día, los asistentes tendrán derecho a una tutoría individualizada, que han de solicitar previamente con una breve descripción del tema.
Profesorado: Profesores del grupo de arquitectura de ordenadores de la facultad de Informática de la Universidad de La Coruña y de la Universidad de Santiago.
Nº de plazas: 25
CONTENIDO:
1. Compilación/linkado de programas
- Descripción del proceso de compilación/linkado
- Compiladores C y Fortran
- Descripción y uso de las opciones de compilación
- Definición y uso de las opciones de optimización
- Llamadas a subrutinas Fortran desde C y viceversa
2. Aritmética del computador y sus implicaciones en computación matemática
- Formato de números enteros
- Formato en punto flotante IEEE 754
- Rango, precisión y redondeo
- Excepciones en punto flotante: overflow, underflow, NaN ..
- Big endian-little endian
- Ejemplos aplicados a computación matemática
3. Utilización de librerías matemáticas
- Definición y uso de librerías
- Librerías estáticas y dinámicas
- Librerías compartidas
- Librerías matemáticas (BLAS, LAPACK ...)
- Creación y manipulación de librerías propias
4. Optimización del rendimiento de la jerarquía de memoria
- La jerarquía de memoria: principio de localidad
- Fundamentos de funcionamiento de la memoria caché: carga, ubicación y reemplazo de líneas
- Técnicas de optimización software: intercambio de bucles, fusión de bucles, partición en bloques (blocking) ...
5. Depuración y evaluación del rendimiento
- Herramientas de depuración
- Herramientas para la evaluación del rendimiento
6. Introducción a la computación paralela
- Clasificación de las arquitecturas paralelas
- Paradigmas de programación paralela
- Elección del paradigma de programación paralela (memoria distribuida vs memoria compartida)
- Ejemplos de aplicaciones de Introducción a la Computación, paralelización y optimización
|