|
Tech Summary:
Parallel Code
Utilizing multiple cores or processors
to simultaneously process code can result in significant application speed-ups.
Shared memory (SMP) and distributed memory (DMP) are the two most common
types of parallel environments.
OpenMP
OpenMP is an Application Program Interface (API) that supports
multi-platform shared-memory parallel (i.e., a multi-core workstation)
programming in C/C++ and Fortran on all architectures, including Linux,
Windows and Mac OS X platforms. Jointly defined by a group of major computer
hardware and software vendors, OpenMP is a portable, scalable model that
gives shared-memory parallel programmers a simple and flexible interface
for developing parallel applications for platforms ranging from the desktop
to the supercomputer.
MPI
MPI is an Application Program Interface (API) designed to allow
multiple computers to communicate with each other to solve parallel applications
(typically written in C/C++ and Fortran).
Originally developed at Argonne labs
for distributed memory systems (clusters) MPI is used primarily on computer
clusters and supercomputers. Evolution of this model now encompasses different
versions with MPICH2 and Open MPI the leading implementations.
For MPI customers using Windows,
Microsoft has developed Windows HPC 2008.
Absoft includes
the following numerical libraries:
BLACS – The BLACS (Basic Linear Algebra Communication Subprograms)
is a set of efficient distributed memory algorithms designed to be implemented
efficiently and uniformly across a large range of distributed memory platforms.
Using BLACS simplifies program development and portability.
ScaLAPACK – A library of high-performance linear algebra routines
for distributed–memory message-passing MIMD computer and networks of workstations
supporting MPI
|
Links to Useful Information
Absoft
Pro Fortran & IMSL Documentation Library
OpenMP.org
LLNL
OpenMP Tutorials
LLNL
Parallel Computing Tutorials
IMSL Numerical Fortran
Libraries
Include Algorithms for SMP and MPI Parallel
Programming.
SMP/OpenMP Support
The IMSL Fortran Numerical Library offers expanded SMP support for a number
of parallel processing environments. Computationally intensive algorithms
in the areas of linear systems and matrix manipulation, eigensystem analysis,
and fast Fourier transforms (FFTs) leverage SMP capabilities on a variety
of systems.
MPI Enabled
IMSL Fortran Numerical Library provides a dynamic interface for computing
mathematical solutions over a distributed system via Message Passing Interface
(MPI). MPI enabled routines offer a simple, reliable user interface.
The IMSL Fortran library provides a
number of MPI-enabled routines with an MPI-enhanced interface that provides:
- Computational control of the server
node
- Scalability of computational resources
- Automatic processor prioritization
- Self-scheduling algorithm to keep processors
continuously active
- Box data type application
- Computational integrity
- Dynamic error processing
- Homogeneous and heterogeneous network
functionality
- Use of descriptive names and generic
interfaces
- A suite of testing and benchmark software
|
|
Linux x86-64:
Use Standard Absoft Floating Licenses
for Linux,
no special cluster license needed!
- MPICH
- MPICH2
- Open MPI
- Rocks (x64 only)
Windows:
Use Standard Absoft Floating Licenses
for Windows,
no special cluster license needed!
- Microsoft Compute Cluster Software (CCS
2003)
- MPICH
|
MacOS/PPC:
Use Standard Absoft Floating Licenses
for MacOS/PPC,
no special cluster license needed!
MacOS/Intel:
Use Standard Absoft Floating Licenses
for MacOS/Intel,
no special cluster license needed!
|
|
Notes on Various
MPI Distributions:
MPICH*
- Developed by Argonne Labs and especially popular in research environments.
Currently supported on Linux and MacOS.
Open
MPI - Developed by vendors, labs and academics. Supported
by a wide variety of commercial and research groups. Currently supported
on Linux and MacOS.
CCS
2003 & 2008 - Developed by Microsoft based on MPICH2, specifically
for Windows based clusters.
Rocks+Roll
- Clustercorp provides software, services and support based on proven
solutions using the Rocks cluster distribution for x64 Linux.
MPI build instructions
for use with Absoft compilers:
MPICH2- Linux
x86 or x64,
MacOS/Intel,
MacOS/PPC
Open MPI- Linux
x86 or x64,
MacOS/Intel,
MacOS/PPC
CCS 2003 & 2008 - Contact
Microsoft for details
|