how can i implement multilevel parallelism on a parallel cluster distribute shared-memory?

21 visualizzazioni (ultimi 30 giorni)
i am using a HPC architecture that it's made of 8 nodes, each blade consists of 2 quadcore processors sharing memory for a total of 8 cores and of 64 cores, in total. how can I set up a cluster profile to run my code on p (1=<p<=8) nodes? and fixed a node, how can I set up another cluster profile to run my (sequential) code on c (1=<c<=8) cores ? how many workers should I consider in both cases?
thanks

Risposta accettata

Walter Roberson
Walter Roberson il 8 Giu 2020
MATLAB does not support multi-level parallelism with the Parallel Computing Toolbox.
What it does support is allocating more than one thread (core) to a parallel worker. These threads can be used by MKL or LAPACK high performance libraries that automatically act in parallel without starting new processes.
You cannot, however, have a parallel worker run a parfor in order to have workers for workers.
  2 Commenti
ROSALBA CACCIAPUOTI
ROSALBA CACCIAPUOTI il 11 Giu 2020
thanks, but can i run my sequential code (without parfor / spmd) on a fixed number of cores?
Walter Roberson
Walter Roberson il 11 Giu 2020
https://www.mathworks.com/help/matlab/ref/maxnumcompthreads.html
You asked about cluster profiles, and clusters are only involved for parfor, spmd, parfEeval, parfEvalOnAll, and batch. For hpc clusters, batch would seem most likely for what you are asking about. For clusters you would not use the above link: you would edit the cluster profile to control the number of threads given to each worker.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su MATLAB Parallel Server in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by