SCore 

SCore

A quick guide to using SCore


Compiling for SCore

First, load the SCore module in order to access the MPI compilers and other tools:

module add score

You can now compile your parallel application using the relevant compiler wrapper(s); mpicc, mpiCC, mpif77 or mpif90. By default, these MPI compilers will invoke the standard GNU compilers; compiler flags in this mode should therefore be those you would normally use for the GNU Compiler Collection.

For improved performance, the MPI compilers should be directed to use either the PGI compilers, by adding the arguments -compiler pgi, or the Intel compilers, by adding the arguments -compiler intel9. For example, a good starting-point to generate an optimised MPI Fortran 90 program would be:

mpif90 -compiler pgi -fastsse myprogram.f90

To compile an MPI C program, the equivalent command would be:

mpicc -compiler pgi -fastsse myprogram.c

Please note: You must ensure that the MPI compilers have access to the PGI compilers by ensuring that the PGI module is loaded:

module add pgi


Submitting SCore jobs

To submit an SCore job, first ensure that the score module has been added to your environment:

module add score

Next, to launch a parallel SCore job you'll need to use the mpisub command:

mpisub nxm myexecutable

Where n is the number of execution nodes you want the job to run on, m is the number of CPUs on each node to use (this number should normally be four), and myexecutable is the name of the SCore-compiled application you wish to run.

E.g., to run the application myapp on 5 nodes, each using 4 CPUs (ie, a total of 20 CPUs), enter the following:

mpisub 5x4 myapp

mpisub will automatically generate a script and submit it to the queue. The output files will appear in your current working directory.

Please Note: SCore works on a node-booking system; a parallel job cannot share a node with other serial or parallel jobs. So, if you run mpisub with an m value of less than 4, the remaining CPUs on each node will be effectively blocked from use by others. Use m values of less than 4 only when necessary!

Please Note 2: The Inter Process Communication fabric for SCore jobs runs only between nodes on the same physical rack; the job scheduler will choose an appropriate rack for you.


File redirection with SCore jobs

If you need to redirect standard input or output for a job, what may seem to be the obvious approach will not work:

mpisub nxm myprogram < myinput

What this command actually does is to instruct mpisub to take its input from myinput. Instead, you need to protect the file redirection from the shell, so that it is passed as an argument to mpisub to be appended to its call to myprogram:

mpisub nxm myprogram "< myinput"

  
To the Top

©Lancaster University   Computer User Agreement   Privacy Statement  

©Lancaster University   ISS Governance   Computer User Agreement   Privacy & Cookies Notice  

Lancaster University
Bailrigg
LancasterLA1 4YW United Kingdom
+44 (0) 1524 65201