% Generate two 100x100 matrices with random contents: A=rand(100); B=rand(100); % Multiply the two matrices: AB=A*B; % Calculate the sum of the contents: sumAB=sum(AB(:)); % Save the AB and sumAB variables to the Matlab save file out.mat: save out.mat AB sumAB;
#!/bin/bash #SBATCH --job-name=matrixmultiply #SBATCH --output=slurm.out #SBATCH --error=slurm.err #SBATCH --partition=develop matlab -nodisplay -r "matrixmultiply, exit"
[araim1@tara-fe1 matrixmultiply-matlab]$ sbatch run.slurm sbatch: Submitted batch job 2621 [araim1@tara-fe1 matrixmultiply-matlab]$
>> load out.mat
[araim1@tara-fe1 matrixmultiply-matlab]$ cat slurm.out
< M A T L A B (R) >
Copyright 1984-2008 The MathWorks, Inc.
Version 7.6.0.324 (R2008a)
February 10, 2008
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
[araim1@tara-fe1 matrixmultiply-matlab]$
#!/bin/bash #SBATCH --job-name=plotsine #SBATCH --output=slurm.out #SBATCH --error=slurm.err #SBATCH --partition=develop matlab -nodisplay -r "plotsine, exit"
zero_to_2pi=linspace(0,2*pi,1000); them_sine=sin(zero_to_2pi); plot(zero_to_2pi,them_sine); print -dpng sine.png print -deps sine.eps print -djpeg sine.jpeg
[araim1@tara-fe1 plotsine-matlab]$ ls run.slurm plotsine.m sine.eps sine.jpeg sine.png slurm.err slurm.out [araim1@tara-fe1 plotsine-matlab]$
The encapsulated postscript file (sine.eps) will be in greyscale since I used -deps instead of -depsc. Here are links to
the three output files if you want to download them
#include <sys/types.h>
#include <unistd.h>
#include "mex.h"
#include "memory.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int* data;
long vmrss;
long vmsize;
if (nrhs > 0)
{
mexErrMsgTxt("Too many input arguments.");
}
get_memory_usage_kb(&vmrss, &vmsize);
plhs[0] = mxCreateNumericMatrix(1, 1, mxUINT32_CLASS, mxREAL);
data = mxGetData(plhs[0]);
data[0] = vmrss;
plhs[1] = mxCreateNumericMatrix(1, 1, mxUINT32_CLASS, mxREAL);
data = mxGetData(plhs[1]);
data[0] = vmsize;
}
[araim1@tara-fe1 check_memory-matlab]$ mex getmemusage.c memory.c [araim1@tara-fe1 check_memory-matlab]$ ls getmemusage.c getmemusage.mexa64 memory.c memory.h [araim1@tara-fe1 check_memory-matlab]$
[araim1@tara-fe1 check_memory-matlab]$ matlab -nodisplay
< M A T L A B (R) >
Copyright 1984-2009 The MathWorks, Inc.
Version 7.9.0.529 (R2009b) 64-bit (glnxa64)
August 12, 2009
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
>> [vmrss, vmsize] = getmemusage
vmrss =
101140
vmsize =
933132
>> A = rand(5000, 5000);
>> [vmrss, vmsize] = getmemusage
vmrss =
298572
vmsize =
1128448
>>
poolobj = parpool(8);
spmd
msg = sprintf('Hello world from process %d of %d', labindex, numlabs);
end
for i=1:poolobj.NumWorkers
disp(msg{i});
end
delete(poolobj);
#!/bin/bash #SBATCH --job-name=matlab-pct #SBATCH --output=slurm.out #SBATCH --error=slurm.err #SBATCH --partition=develop #SBATCH --ntasks-per-node=8 matlab -nodisplay -r "driver, exit"
[araim1@tara-fe1 matlab-pct-hello]$ sbatch run.slurm
[araim1@tara-fe1 matlab-pct-hello]$ cat slurm.err
[araim1@tara-fe1 matlab-pct-hello]$ cat slurm.out
< M A T L A B (R) >
Copyright 1984-2012 The MathWorks, Inc.
R2012b (8.0.0.783) 64-bit (glnxa64)
August 22, 2012
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
Starting matlabpool using the 'local' profile ... connected to 8 workers.
Hello world from process 1 of 8
Hello world from process 2 of 8
Hello world from process 3 of 8
Hello world from process 4 of 8
Hello world from process 5 of 8
Hello world from process 6 of 8
Hello world from process 7 of 8
Hello world from process 8 of 8
Sending a stop signal to all the workers ... stopped.
[araim1@tara-fe1 matlab-pct-hello]$
poolobj = parpool(8); x = zeros(1, 40); parfor i = 1:40 x(i) = i; end delete(poolobj); x
#!/bin/bash #SBATCH --job-name=matlab-parallel-toolkit #SBATCH --output=slurm.out #SBATCH --error=slurm.err #SBATCH --partition=develop #SBATCH --ntasks-per-node=8 matlab -nodisplay -r "driver, exit"
[araim1@tara-fe1 matlab-pct-parfor]$ sbatch run.slurm
[araim1@tara-fe1 matlab-pct-parfor]$ cat slurm.err
[araim1@tara-fe1 matlab-pct-parfor]$ cat slurm.out
< M A T L A B (R) >
Copyright 1984-2012 The MathWorks, Inc.
R2012b (8.0.0.783) 64-bit (glnxa64)
August 22, 2012
To get started, type one of these: helpwin, helpdesk, or demo.
For product information, visit www.mathworks.com.
Starting matlabpool using the 'local' profile ... connected to 4 workers.
Sending a stop signal to all the workers ... stopped.
x =
Columns 1 through 13
1 2 3 4 5 6 7 8 9 10 11 12 13
Columns 14 through 26
14 15 16 17 18 19 20 21 22 23 24 25 26
Columns 27 through 39
27 28 29 30 31 32 33 34 35 36 37 38 39
Column 40
40
[araim1@tara-fe1 matlab-pct-parfor]$