[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