MATLAB Answers

How do you assign the number of cores via an ssh script?

5 views (last 30 days)
Hello,
i have a batch script file that is run on an ssh with the following format:
nohup matlab -nodesktop -nosplash -nodisplay <script_file.m>& output_script_file.txt &
I want to set the number of cores for the job to 6, seeing as the script_file.m uses a parfor loop. I know feature('numcores') will display the number of cores available, but I want to specifically assign the number of cores. Is this done through the batch script file, and if so how? If not, how can I assign the number of cores to a job on an ssh?
Thanks.

Accepted Answer

Alessandro Maria Laspina
Alessandro Maria Laspina on 27 Dec 2020
Edited: Alessandro Maria Laspina on 28 Dec 2020
I've tried running Walter Roberson's answer, but for some reason i've had to include maxNumCompThreads(6) in the script file at the start.
Also the > gave me an error as well.
This seemed to work:
nohup matlab -nodesktop -nosplash -nodisplay -batch <script_file> & output_script_file.txt &
EDIT:
As Walter Roberson wrote, > and & should not have a space, so it is:
nohup matlab -nodesktop -nosplash -nodisplay <script_file.m>& output_file.txt &

More Answers (1)

Walter Roberson
Walter Roberson on 26 Dec 2020
However you could also consider modifying the cluster profile to limit the cores in it.
  7 Comments
Raymond Norris
Raymond Norris on 2 Jan 2021
Also consider using the -logfile switch
nohup matlab -batch 'maxNumCompThreads(6);script_file' -logfile output_script_file.txt &

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!