Lesson 13
Date: 4/25/2018
High Performance Computing (part II: MPI)
Linux System Administration
MPI Standard Data Types
For reasons of portability, MPI predefines its elementary data types. The table below lists those required by the standard.
C Data Types
Fortran Data Types
MPI_CHAR
signed char
MPI_CHARACTER
character(1)
MPI_SHORT
signed short int
MPI_INT
signed int
MPI_INTEGER
integer
MPI_LONG
signed long int
MPI_UNSIGNED_CHAR
unsigned char
MPI_UNSIGNED_SHORT
unsigned short int
MPI_UNSIGNED
unsigned int
MPI_UNSIGNED_LONG
unsigned long int
MPI_FLOAT
float
MPI_REAL
real
MPI_DOUBLE
double
MPI_DOUBLE_PRECISION
double precision
MPI_LONG_DOUBLE
long double
MPI_COMPLEX
complex
MPI_DOUBLE_COMPLEX
double complex
MPI_LOGICAL
logical
MPI_BYTE
8 binary digits
MPI_BYTE
8 binary digits
MPI_PACKED
data packed or unpacked with MPI_Pack()/ MPI_Unpack
MPI_PACKED
data packed or unpacked with MPI_Pack()/ MPI_Unpack
Agenda
HPC paradigms
Message Passing Interface (MPI)
General MPI Program Structure
Point to Point Communication
MPI Standard Data Types
MPI Send/Receive example
MPI Collective Communications
Collective Communication Example
Master-Slave Task Farming
Computing Partial Sums
Exercise: User accounts for MPI
Exercise: OpenMPI installation
Exercise: MPI code compilation and run in OpenMPI
VM cluster for MPI
Exercise: Cluster node deployment
Exercise: MPI run on a cluster
References
Take me to the Course Website