Formación en MATLAB y Simulink

Aceleración y Paralelización de código MATLAB

Vea los horarios e inscríbase

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, 한국어

Vea los horarios e inscríbase