Skip to main content

more options


Parallel Communication

Parallel Programs

  • MPICH (distributed and shared memory)
  • Intel OpenMP (shared memory)

Parallel programs written in C, C++, or Fortran for a distributed memory architecture must use MPI for communication on the Velocity clusters.  Other message-passing libraries, e.g. PVM and tcgmsg, are not supported.  MPICH from Argonne National Laboratory has been installed on all Linux cluster nodes.

Parallel programs written for a shared memory architecture can use OpenMP and the Intel compilers, or POSIX threads (pthreads) and any compiler.

Programs written for a mixture of distributed and shared memory can use MPI for inter-node communication and either OpenMP or pthreads for parallelism on a single node.  Alternatively, programs can be written so that each program has a single thread of execution and several instances (as many instances as there are CPUs) can be placed on each node, communicating through MPI whether or not they reside on the same node.