This version is outdated by a newer approved version.This version (2021/12/09 20:12) is a draft.
Approvals: 0/1
Approvals: 0/1
This is an old revision of the document!
Mathematica Batch Jobs
SLURM
In order to be able to use Mathematica, you have to load the program with the module load xyz
command
[username@l32]$ module avail # select a Mathematica version [username@l32]$ module load Mathematica/10.0.2 # load desired version [username@l32]$ module list # check loaded modules Currently Loaded Modulefiles: 1) Mathematica/10.0.2
(See also the introduction to the module command.)
Now, Mathematica can be called by
[username@l32]$ math
Example: Parallel Mathematica Task
Mathematica script example math-vsc3.m
:
GetEnvironment["MATH_BIN"] math = Environment["MATH_BIN"] kernelsperhost = 16 hosts=Import["nodelist","List"]; Needs["SubKernels`RemoteKernels`"] $RemoteCommand = "ssh -x -f -l `3` `1` " <> math <> " -mathlink -linkmode Connect `4` -linkname '`2`' -subkernel -noinit" (* first host with one kernel less *) LaunchKernels[RemoteMachine[hosts[[1]], kernelsperhost-1]]; imin=2; imax=Length[hosts]; idelta=1; Do[ LaunchKernels[RemoteMachine[hosts[[i]], kernelsperhost]]; , {i, imin, imax, idelta}] primelist = ParallelTable[Prime[k], {k, 1, 20000000}]; Print[primelist]
sbatch job script
jobPar.sh
:
#!/bin/bash # #SBATCH -J par #SBATCH -N 2 #SBATCH -L mathematica@vsc module purge module load Mathematica/10.0.2 # load desired version export MATH_BIN=`which math` #export MATH_PROC=16 scontrol show hostnames $SLURM_NODELIST > nodelist #execute prolog for getting access to license everywhere srun hostname math -run < math-vsc3.m
[username@l32]$ sbatch jobPar.sh # submit your job [username@l32]$ squeue -u username # check state of your job