Parallel Computing Toolbox
Esecuzione di calcoli paralleli su computer multicore, GPU e cluster
Hai domande? Contatta l’ufficio commerciale.
Hai domande? Contatta l’ufficio commerciale.
Parallel Computing Toolbox consente di risolvere problemi ad alta intensità di dati e di calcolo utilizzando processori multicore, GPU e cluster di calcolo. I costrutti di alto livello (for-loop paralleli, tipi speciali di array e algoritmi numerici parallelizzati) consentono di scalare le applicazioni MATLAB senza ricorrere alla programmazione CUDA o MPI. Parallel Computing Toolbox consente inoltre di utilizzare funzioni abilitate per il calcolo parallelo in MATLAB e in altri toolbox e di eseguire più simulazioni Simulink in parallelo. I programmi e i modelli possono essere eseguiti in modalità interattiva e in batch.
Il toolbox consente di sfruttare tutta la potenza di elaborazione dei desktop multicore e abilitati per GPU eseguendo applicazioni sui thread e sui processi worker (motori di calcolo MATLAB) in esecuzione in locale. È possibile eseguire le stesse applicazioni su cluster o Cloud senza dover modificare il codice (con MATLAB Parallel Server). Inoltre è possibile utilizzare il toolbox con MATLAB Parallel Server per eseguire calcoli della matrice che sono troppo grandi per la memoria di una singola macchina.
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.
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.
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.
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.
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.
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.
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®.
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.
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.”
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.
Scopri i nostri prodotti.
Richiedi una quotazione e scopri i prodotti correlati.
È possibile che la tua scuola già fornisca accesso a MATLAB, Simulink e ad altri prodotti complementari mediante una Campus-Wide License.