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

4 views (last 30 days)
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

Accepted Answer

Walter Roberson
Walter Roberson on 8 Jun 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 Comments
Walter Roberson
Walter Roberson on 11 Jun 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.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Parallel Server in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!