Formazione MATLAB e Simulink

Accelerazione e Parallelizzazione del Codice MATLAB

Guarda il programma e iscriviti

Dettagli dei corsi

Questo corso di due giorni tratta una serie di tecniche che consentono di rendere il codice MATLAB® più veloce. Vedrai come identificare e rimuovere i colli di bottiglia computazionali usando tecniche come preallocazione e vettorizzazione. Inoltre, potrai compilare il codice MATLAB in un file MEX usando MATLAB Coder™. Oltretutto, vedrai come sfruttare core multipli sul tuo computer parallelizzando i cicli FOR con il Parallel Computing Toolbox™ e come riscalare su computer multipli usando il MATLAB Parallel Server™. L'interazione tra questi concetti verrà esplorata durante tutto il corso. Se stai lavorando con simulazioni che durano molto tempo, trarrai benefici dalle dimostrazioni pratiche e dagli esercizi trattati nel corso.

Elenco degli argomenti:

  • Ottimizzazione dell’esecuzione all'interno del linguaggioMATLAB
  • Generazione di file MEX
  • Parallelizzazione del calcolo
  • Esecuzione offload
  • Utilizzo di cluster
  • Calcolo su GPU

Giorno 1


Ottimizzazione delle Prestazioni

Obiettivo: Analizzare le prestazioni del codice e utilizzare tecniche per l'accelerazione all'interno di MATLAB.

  • Identificazione dei colli di bottiglia
  • Preallocazione degli array
  • Vettorizzazione delle operazioni in vari modi
  • Riscrittura degli algoritmi

Generazione di File MEX

Obiettivo: Generare file di codice compilato a partire da codice MATLAB per ottenere prestazioni migliori.

  • Panoramica su MATLAB Coder e flusso di lavoro
  • Generazione e verifica di file MEX
  • Richiamare funzioni non supportate
  • Impostazione dei settaggi per la generazione di file MEX

Parallelizzazione del Calcolo

Obiettivo: Parallelizzare l'esecuzione del codice per sfruttare core multipli.

  • Apertura di altri processi MATLAB
  • Esecuzione di cicli FOR paralleli
  • Misurazione dell'accelerazione
  • Elaborazione di più file in parallelo

Giorno 2


Cicli FOR in Parallelo

Obiettivo: Esplorare cicli FOR paralleli in modo più dettagliato ed applicare tecniche per convertire cicli FOR in cicli PARFOR.

  • Requisiti dei cicli FOR in parallelo
  • Parallelizzazione dei cicli FOR
  • Recupero dei risultati intermedi

Esecuzione Offload

Obiettivo: Eseguire il calcolo offload su un altro processo MATLAB al fine di usare MATLAB per altre operazioni nel frattempo. Questo è anche un passaggio di preparazione per utilizzare.

  • Elaborazione in batch
  • Creazione di processi in batch
  • Recupero dei risultati
  • Utilizzo del Job Monitor

Utilizzo di Cluster

Obiettivo: Accelerare il calcolo e realizzare simulazioni più estese utilizzando più computer.

  • Cluster locali e remoti
  • Licenze dinamiche
  • Individuazione e connessione di cluster
  • Considerazioni sull'accesso ai file

Calcolo su GPU

Obiettivo: Eseguire codice MATLAB sulla scheda grafica del computer (GPU) in uso come ulteriore opzione per velocizzare i calcoli.

  • Panoramica dell'architettura GPU ed elaborazione
  • Applicazioni adatte per l'elaborazione su GPU
  • Invocare funzioni MATLAB su GPU
  • Generazione di file MEX CUDA® tramite GPU Coder™
  • Utilizzo di codice CUDA pre-esistente

Livello: Intermedio

Prerequisiti:

Durata: 2 giorni

Lingue: English, 한국어

Guarda il programma e iscriviti