Topics Map > Research Computing Support > Flash
Using the SSCC's High Performance Computing Cluster
The SSCC's High Performance Computing Cluster, Flash, is designed for parallel computing. It is ideal for jobs that can be broken up into many pieces that are executed simultaneously. As of this writing it has of 456 cores. Most jobs run on Flash are written in FORTRAN, C, or C++ and use MPI to handle the parallelization.
|If after reading this article you'd like to use Flash, please contact the clusters' administrator, Dan Bongert (firstname.lastname@example.org). He will set up an account for you on Flash and schedule a brief orientation.|
Moving Files to FlashFor performance reasons, our HPC cluster does not have access to the shared SSCC file system; it uses local disks exclusively. Thus you will need to transfer any data or other files you need using SFTP. You can start an SFTP program on your computer and connect to flash.ssc.wisc.edu. See [Link for document 96029 is unavailable at this time.] for instructions.
Running JobsThe general sequence for running an MPI job is as follows:
- Check the status of Flash to make sure no one else is using the nodes you plan to use.
- Compile your program, making sure you link it to the MPI libraries.
- Run your program.
1. Check the status of the cluster online by opening a browser and going to http://flash.ssc.wisc.edu/ganglia/. If the graph labeled Flash CPU last hour is not nearly all Idle CPU (i.e. gray) then you should wait until the load goes down to submit a new job. Only one person should have jobs running at a time on any given node. Otherwise, system performance will be poor for everyone. You may however run jobs on nodes that are idle even if other nodes are in use.
2. Compile the program using the gfortran compiler:
> mpif90 pi.f90 -O3 -o pi.bin
-O3 enables aggressive optimization,
-o specifies where to write the output.
For more information regarding the command line options type: man mpif90 for mpi specific options and man gfortran for fortran specifc options.
To compile C programs use mpicc instead; for C++ use mpicxx.
3. Run the program using mpirun:
>mpirun --hostfile hosts.txt -np 16 pi.bin
where -np is the number of processes (slots) you want to use. The hostfile option is a file which tells OpenMPI which nodes to run your job on and how many slots are available on each node. If you want to run your job on certain nodes you should copy the hosts.txt file to your home directory and modify it as needed, but by using the default file you'll be sure to always have the latest node list.
Your output will be similar to:
Process 2 of 16 is alive
Process 0 of 16 is alive
Process 6 of 16 is alive
Process 5 of 16f is alive
. . .
pi is approximately: 3.1415926535898362 Error is: 0.0000000000000431
Further InformationThe following links provide more information about running jobs using Flash: