[CSC 435] Some notes to simplify your life

Andrew J. Pounds pounds_aj at mercer.edu
Tue Apr 23 03:58:39 EDT 2024


Your task in the current exercise figuring out to optimally use the 
OpenMP system in EACH of those running processes.  Remember -- all you 
have to get done for this exercise is to demonstrate that your MPI code 
can be sped up by using it in combination with OpenMP.

You will need to compile using mpicc, but because I built MPI off of the 
newest GCC compiler, now you can also turn on the OpenMP stuff...

mpicc  -fopenmp mmm_mpi.c -o mmm_mpi -lm -lgomp -lopenblas

You can then specify the number of threads per system via a command line 
argument OR via the OMP_NUM_THREADS environment variables.

My recommendations...

    As you saw from my graph last week, you should be able to see
    speedups on less than 10 systems using MPI alone.   There is no need
    at this point to try and allocate all of the nodes of the cluster
    (that comes in the next assignment).  There is also no need, at this
    point, to try and run scripts that exhaustively run all possible
    combinations of nodes and processes per node.  A handful of well
    thought out PBS/Torque jobs should be sufficient -- but you need to
    run enough to prove your claim graphically.

    There are LOTS of flags that you can play with both for MPI and
    OpenMP.  Keep is simple and follow my examples.  However, one that
    you will most likely have to use is the one we saw when we tried to
    schedule more threads than cores -- the "oversubscribe" flag on the
    mpirun command line.  MPI may need this to allow more than one
    OpenMP process to run concurrently.

    As you have already seen - contention for the nodes could get to be
    interesting as we move toward the final project.  Don't put this off.






-- 
*/Andrew J. Pounds, Ph.D./*
/Professor of Chemistry and Computer Science/
/Director of the Computational Science Program/
/Mercer University, Macon, GA 31207 (478) 301-5627/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://theochem.mercer.edu/pipermail/csc435/attachments/20240423/3c38a19e/attachment.html>


More information about the csc435 mailing list