Introduction to Using MPI and the NCSU Blade Center ...


  • To be on the mailing list

    Send mail to
    mj2@lists.ncsu.edu
    

    with the one line
    subscribe hpc
    

    in the body.
  • 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]