This lesson is still being designed and assembled (Pre-Alpha version)

Introduction to Parallel Programming using MPI: Glossary

Key Points

Introduction
  • MPI is one of many ways to take advantage of parallel computers.

  • Many different strategies to parallel programming.

  • Use the most appropriate strategy for your problem.

MPI standard
  • MPI allowed programmers to write portable code across many different supercomputer architectures.

  • MPI is available is available in many languages.

  • MPI requires function calls to pass data around.

MPI point to point communication
  • Sending messages to another processor is like sending a letter.

  • Non-blocking is most flexible type of point to point communication - just make sure you check for completion.

MPI collective communication
  • Collective communications make the code easier to understand the purpose.

Advanced topics in MPI
  • MPI can deliver efficient disk I/O if designed

  • Providing MPI with some knowledge of topology can make MPI do all the hard work.

  • The different ways threads can work with MPI dictates how you can use MPI and OpenMP together.

Summary
  • MPI is supported in C, Fortran and therefore can be called from many other languages including Python.

  • Just need to know the translation to the other language.

Glossary

Cheatsheets for Queuing System Quick Reference

Glossary

The following list captures terms that need to be added to this glossary. This is a great way to contribute.

Accelerator
to be defined
Beowulf cluster
to be defined
Central processing unit
to be defined
Cloud computing
to be defined
Cluster
a collection of computers configured to enable collaboration on a common task by means of purposefully configured hardware (e.g., networking) and software (e.g. workload management).
Distributed memory
to be defined
Grid computing
to be defined
High availability computing
to be defined
High performance computing
to be defined
Interconnect
to be defined
Node
to be defined
Parallel
to be defined
Serial
to be defined
Server
to be defined
Shared memory
to be defined
Slurm
to be defined
Supercomputer
… “a major scientific instrument” …
Workstation
to be defined
Grid Engine
to be defined
Parallel File System
to be defined