Parallel Computing Toolbox

 

Parallel Computing Toolbox

Esecuzione di calcoli paralleli su computer multicore, GPU e cluster

Il video dura 2:08
Grafico della maggior velocità di calcolo di MATLAB con il calcolo parallelo per attività indipendenti.

Accelerazione di MATLAB con computer multicore

Utilizza parfor e altre funzionalità per eseguire thread o processi MATLAB paralleli per attività come scansioni parametriche, ottimizzazioni e simulazioni Monte Carlo. Le funzionalità del linguaggio MATLAB (con Parallel Computing Toolbox) sono in grado di gestire risorse, dipendenze dei file e altri dettagli, consentendoti di concentrarti sul tuo lavoro.

Diagramma delle GPU.

Accelerazione di MATLAB mediante GPU

Puoi utilizzare le GPU di NVIDIA® senza dover scrivere codice aggiuntivo: in questo modo potrai concentrarti sulle tue applicazioni piuttosto che sull’ottimizzazione delle prestazioni. Le funzioni chiave in MATLAB, Simulink e in diversi prodotti complementari, come Deep Learning Toolbox, sono abilitate per GPU. Gli sviluppatori avanzati possono inoltre creare funzioni MEX contenenti codice CUDA. Utilizza più GPU su desktop, cluster di calcolo e ambienti Cloud.

Pulsanti per l’abilitazione parallela dell’app Classification Learner.

Funzionalità aggiuntive di MATLAB abilitate per il calcolo parallelo

Molte funzionalità di MATLAB e dei prodotti complementari supportano automaticamente il calcolo parallelo e molte app dispongono di funzioni di questo tipo. Parallel Computing Toolbox include un ampio linguaggio parallelo che include i modelli di esecuzione, dall’esecuzione di funzioni parallele al parallelismo dei dati, senza dover ricodificare l’algoritmo.

Funzione parsim per eseguire le simulazioni in parallelo.

Esecuzione di più simulazioni Simulink in parallelo

Utilizza la funzione parsim per eseguire le simulazioni in parallelo. La funzione distribuisce più simulazioni a CPU multicore per ridurre il tempo complessivo delle simulazioni. parsim automatizza inoltre la creazione di pool paralleli, identifica le dipendenze dei file e gestisce gli artefatti di costruzione, per consentirti di concentrarti sul lavoro di progettazione. È possibile eseguire simulazioni parallele in modo interattivo o in batch.

Monitora più simulazioni in una finestra con Simulation Manager.

Simulation Manager

Simulation Manager è integrato con parsim e può essere utilizzato per monitorare e visualizzare più simulazioni in una finestra. È possibile selezionare una singola simulazione e visualizzarne le specifiche, nonché utilizzare Simulation Data Inspector per esaminare i risultati della simulazione. Inoltre è possibile eseguire attività diagnostiche o interrompere le simulazioni in modo efficace.

Simulazioni parallele abilitate da una preferenza o da un’impostazione flag nella scheda delle opzioni per il calcolo parallelo.

Utilizzo delle funzionalità di Simulink abilitate per il calcolo parallelo

Oltre alle funzioni parsim e batchsim per eseguire simulazioni Simulink, sono disponibili vari prodotti complementari per Simulink, tra cui Simulink Design Optimization, Reinforcement Learning Toolbox, Simulink Test e Simulink Coverage, che forniscono funzionalità per il calcolo parallelo per eseguire simulazioni in parallelo senza dover scrivere codice.

Diagramma di MATLAB e Simulink in esecuzione direttamente sulle risorse Cloud.

Esecuzione di un desktop MATLAB su Cloud pubblici e privati

Accelera le analisi e le simulazioni sfruttando CPU e macchine GPU on demand e ad alte prestazioni disponibili sul Cloud. Esegui MATLAB e Simulink direttamente su macchine virtuali nell’ambiente Amazon Web Services® (AWS) o in Microsoft Azure®.

Due grafici che illustrano la scalabilità delle applicazioni con cluster aggiuntivi e risorse Cloud senza dover modificare il codice.

Scalabilità su cluster con MATLAB Parallel Server

Sviluppa un prototipo sul desktop e scala su un cluster di calcolo o su Cloud senza ricodifica. Accedi a diversi ambienti di esecuzione dal desktop modificando soltanto il profilo cluster. 

Diagramma che illustra il concetto della memoria di più macchine in un cluster senza ricodifica utilizzando array distribuiti.

Utilizzo di array distribuiti su MATLAB Parallel Server

Esegui calcoli che non possono essere contenuti nella memoria di una singola macchina senza dover ricodificare l’algoritmo. Utilizza le varie funzioni che possono essere eseguite automaticamente come calcoli distribuiti quando vengono chiamate con un input di array distribuiti. Prototipa sul desktop e scala su risorse aggiuntive utilizzando MATLAB Parallel Server per un’esecuzione su larga scala.

“Abbiamo utilizzato Parallel Computing Toolbox con MATLAB Parallel Server per distribuire il lavoro su un cluster con 56 processori. Questo ci ha consentito di identificare rapidamente una configurazione di rete neurale ottimale utilizzando MATLAB e Deep Learning Toolbox, di addestrare la rete con i dati dei database dei trapianti e di eseguire poi simulazioni per analizzare i fattori di rischio e il tasso di sopravvivenza.”

FAQ su Parallel Computing Toolbox

Quando è necessario ridurre i tempi per ottenere risultati sfruttando maggiormente le risorse CPU e GPU per problemi ad alta intensità di calcolo e di dati, Parallel Computing Toolbox offre funzionalità per parallelizzare i workflow. È possibile controllare le risorse senza dover scrivere codice di basso livello per CUDA, OpenMP o MPI. Le funzionalità includono: parfor per eseguire cicli for in parallelo, parfeval per creare code e pipeline parallele, parsim per eseguire in parallelo il comando sim di Simulink e gpuArray per indirizzare le GPU NVIDIA senza riscrivere il codice. Questo completa il parallelismo implicito incorporato nelle librerie sottostanti di MATLAB. Per saperne di più, cerca “What is parallel computing?” nella documentazione di Parallel Computing Toolbox.

Il toolbox è ideale per problemi ad alta intensità di calcolo e di dati, come analisi parametriche, ottimizzazioni e simulazioni Monte Carlo.

È possibile usare GPU NVIDIA, processori multicore e cluster di calcolo. Per eseguire localmente sul desktop è sufficiente Parallel Computing Toolbox. Per scalare a cluster di calcolo è inoltre necessario MATLAB Parallel Server. Per dettagli sull'hardware specifico, consulta la pagina dei requisiti per Parallel Computing Toolbox.

No. Parallel Computing Toolbox fornisce costrutti di alto livello che consentono di parallelizzare applicazioni MATLAB senza dover scrivere codice di basso livello.

È possibile utilizzare GPU NVIDIA con modifiche minime al codice. Più di 1 000 funzioni in MATLAB e nei toolbox vengono eseguite automaticamente su una GPU se si dispone di Parallel Computing Toolbox e si fornisce un argomento dati gpuArray. Per saperne di più cerca “Run MATLAB Functions on a GPU” nella documentazione di Parallel Computing Toolbox.

Sì. È possibile usare la funzione parsim e Parallel Computing Toolbox per distribuire più simulazioni su CPU multicore o cluster di calcolo. La funzione parsim utilizza un array di oggetti SimulationInput per eseguire più simulazioni. Per scalare a cluster di calcolo è inoltre necessario MATLAB Parallel Server.

Sì. Molte funzioni in MATLAB e nei toolbox aggiuntivi supportano il parallelismo in modo automatico, e molte app hanno funzioni parallele abilitate che si possono attivare senza scrivere codice aggiuntivo. I workflow e le applicazioni parallele personalizzate che crei possono sfruttare quasi tutta la funzionalità di MATLAB e dei toolbox. Per una serie di esempi che mostrano il calcolo parallelo con altri toolbox MATLAB, consulta la sezione Applications nella documentazione di Parallel Computing Toolbox. Per saperne di più sul supporto parallelo automatico, cerca “Run MATLAB Functions with Automatic Support” nella documentazione di Parallel Computing Toolbox.

Sì. È possibile sviluppare un prototipo sul desktop e scalare a un cluster di calcolo con modifiche minime al codice. Per scalare a un cluster è inoltre necessario MATLAB Parallel Server. Parallel Computing Toolbox e MATLAB Parallel Server possono essere eseguiti sia in locale sia nel cloud.

Prova Parallel Computing Toolbox gratis

Scopri i nostri prodotti.


Pronto per acquistare?

Richiedi una quotazione e scopri i prodotti correlati.

Sei uno studente?

È possibile che la tua scuola già fornisca accesso a MATLAB, Simulink e ad altri prodotti complementari mediante una Campus-Wide License.