Parallel Programming Services logo


Parallel Programming Training Courses

We offer a range of customized training courses to enable you or your staff become true parallel programming practitioners.

Courses are:

  1. Taught in person at your own site.
  2. Can be pitched at introductory or advanced levels.
  3. Content is provided in hard-copy format and/or on CD-ROM.
  4. Typically 2-3 days duration. Longer courses can include work on client's own applications.
  5. Longer than 2 days should include hands-on programming exercises


Topics include:

OpenMP:

  1. Conceptualizing a multi-threaded program
  2. Coarse-grained vs. fine-grained parallelisation
  3. Local vs. shared variables
  4. Dependencies
  5. OpenMP syntax
  6. Compiling, Linking, and Running
  7. Worked examples

MPI:

  1. Conceptualizing a MIMD program
  2. Domain decomposition
  3. Principles of Message passing
  4. Point-to-point communication (e.g., "shadow" or "halo" zones)
  5. Global Reduction Operations
  6. Collective Operations
  7. Buffers
  8. Synchronization
  9. Process Groups
  10. Topologies
  11. One-sided communication ("puts" and "gets")
  12. Parallel I/O
  13. Compiling, Linking, and Running
  14. Worked examples

We work with industry-standard programming languages, in particular Fortran 90, OpenMP and MPI (Message-Passing Interface), so that your codes will compile easily and be optimally portable.

We realize that many application parallelisation projects are large and complex, and can best be accomplished as a collaboration between the original developer and the parallel programmer. In such cases we will partner with you to parallelize your flagship applications and provide other high-performance computing consultancy services. We can show you how to efficiently parallelize your code yourself, or we can do this for you. You will be able to clearly see what we do every step of the way so that you can continue to recognize and develop your own code just as you are used to doing now.

While independent of any hardware vendor, we collaborate closely with hardware partners like Dalco to provide fully integrated high-performance computing solutions to our mutual customers.