Detalles del curso
Este curso de dos días cubre diferentes técnicas para la aceleración de código MATLAB®. Se muestra como identificar y eliminar cuellos de botella utilizando técnicas como reserva de memoria y vectorización. Además, aprenderá a compilar código MATLAB en ficheros MEX usando MATLAB Coder™. También aprenderá a aprovechar los múltiples núcleos de su ordenador mediante bucles for paralelizados con Parallel Computing Toolbox™, y llevarlo a múltiples ordenadores usando MATLAB Parallel Server™. Todos estos conceptos se explorarán durante el curso. Si trabaja con simulaciones que consumen un gran tiempo de ejecución, se beneficiará de las demostraciones prácticas y de los ejercicios.
Temas incluidos:
- Mejora del rendimiento con MATLAB
- Generación de ficheros MEX
- Cálculo paralelo
- Descarga de ejecuciones
- Trabajar con clusters
- Cálculos en GPU
Día 1 de 2
Mejora del rendimiento
Objetivo: Analizar el rendimiento del código y utilizar técnicas de aceleración de MATLAB.
- Identificación de cuellos de botella
- Reserva de memoria para arrays
- Operaciones de vectorización
- Reescritura de algoritmos
Generación de ficheros MEX
Objetivo: Compilar ficheros con código MATLAB para mejorar el rendimiento.
- Introducción a MATLAB Coder y su flujo de trabajo
- Generación y verificación de ficheros MEX
- Ejecución de funciones no soportadas
- Ajuste de configuración para la generación de ficheros MEX
Cálculo paralelo
Objetivo: Ejecución de código paralelo para aprovechar múltiples núcleos.
- Apertura de procesos adicionales de MATLAB
- Ejecución bucles for paralelos
- Medición de la aceleración
- Procesado de múltiples ficheros en paralelo
Día 2 de 2
Bucles for paralelos
Objetivo: Explorar bucles for paralelos en detalle y aplicar técnicas para convertir bucles for en bucles for paralelos.
- Requisitos para bucles for paralelizados
- Paralelización de bucles for
- Recuperación de resultados intermedios
Descarga de ejecuciones
Objetivo: Descarga de ejecuciones a otros procesos MATLAB para al mismo tiempo poder utilizar MATLAB en otras tareas. Esto también es la preparación para poder trabajar con clusters.
- Procesamiento en batch
- Creación de jobs en batch
- Recuperación de resultados
- Uso de Job Monitor
Trabajar con clusters
Objetivo: Acelerar cálculos y realizar largas simulaciones utilizando múltiples ordenadores.
- Clusters locales y remotos
- Licenciamiento dinámico
- Búsqueda de clusters y conexión
- Consideraciones del acceso a ficheros
Cálculos en GPU
Objetivo: Ejecutar código MATLAB en la tarjeta gráfica (GPU) como otra opción para acelerar cálculos.
- Introducción a la arquitectura y procesado de GPU
- Aplicaciones compatibles para el procesado en GPU
- Llamada de funciones MATLAB desde GPU
- Generación de ficheros CUDA® MEX utilizando GPU Coder™
- Utilización de código CUDA ya existente
Nivel: Intermedio
Prerrequisitos:
Duración: 2 días
Idiomas: English, Français, 日本語, 한국어