Fall 2009 -- Learn to Use NCSU HPC Resources
This free short course will meet for 6 hours total (over 2 sessions). It will be offered in fall break, Thursday, October 8, 9 AM till noon and Friday October 9, 9 AM till noon.
The 2 session short course will be held in the ITTC lab 2 in the D.H. Hill
main NCSU library. It's a rather tortuous path from the front desk to the lab,
but you can ask at the front desk.
If you e-mail me (Gary Howell, gary_howell@ncsu.edu) in advance I can be sure to have enough course materials on hand.
Class notes can be downloaded
at Intro to
MPI. Sample codes can be downloaded from
sample.tar.gz.
Graduate students, postdocs, faculty and staff who are likely to use parallel computation
in research projects or theses are particularly invited. Before
class starts, students who do not already have a Blade Center account are
encouraged to have their advisors request them so they can have
a permanent account. Faculty can request accounts for themselves and
for their students online
from
http://www.ncsu.edu/itd/hpc/About/Contact.php
NC State has several thousand processors available for
high performance computing. This short course introduces
the use of the machines, starting with how to log on and
submit jobs. The course introduces the use of MPI
(Message Passing Interface), the standard library for
message passing parallel computation. Calls to MPI
are embedded in Fortran, C, or C++ codes, enabling
many processors to work together to accomplish a
parallel computation.
Session 1. How to log into the HPC machines and submit jobs.
Why to use parallel computation. Some simple MPI commands
and example programs. The last half of the time will be
spent in getting an example code to run.
A version of
the lab is Lab 1
Session 2. MPI Collective communications. These can be simple
and efficient. Considerations in efficient parallel computation.
Running some more codes.
The lab is Lab 2
Fall 2009--Learn to Use Multi-core machines by using OpenMP
Multi-core 64 bit machines with many GBytes of shared RAM allow
increasingly large computations on a single blade (or even on
a desktop or laptop).
OpenMP directives are inserted in C or Fortan codes. If the correct compiler flags and environmental variables are set, the executable
code can user multiple cores to speed a computation.
Else the code continues to run as a serial (single core) code.
A free short course showing how to parallelize code via
OpenMP will meet Wed. August 26,
Wed. Sept. 2, and Wed. Sept. 9
with each session meeting from 2:30 to 5 PM in the
Language and Computer Labs Building
30 on the North Campus.
Participants should get HPC accounts in advance of the course.
NCSU faculty can open projects for themselves and add students
to their projects by visiting the web page HPC Accounts. Students can typically request
their advisor to sponsor their use (there is no charge to the
faculty).
About the first half of each session will be lecture, the second half
programming exercises using the blade center. Less advanced students
will learn to compile and run codes, with more complicated examples
(e.g. how to profile codes) available to more advanced students.
Here are the Lecture notes Day 1 ,
Day 2 , and Day 3 .
The OIT HPC blade center has significant multi-core resources.
Recently we've acquired several Opteron blades with 16 cores and 32 GBytes
of RAM. Other new blades (available to students and faculty
from PAMS) have 8 cores and 16 GBytes of RAM. Quad core
blades are also common.
About the instructor
Gary Howell taught math
and CS for 15 years at Florida Tech. Supercomputing experience
has included NSF, DOE, NIH, and NASA funded research projects, service
on the MPI and BLAS standards boards, and as an HPC consultant
for Hewlett Packard at the ERDC supercomputer center. He currently
works for NCSU/ITD in helping faculty sponsored research projects use the
NCSU computational research facilities.
Some previous courses
introduce parallel debugging, profiling, and OpenMP (shared memory programming). See
Previous Courses [Previous courses and links to class notes]