MPICH
Wersja stabilna | 4.0 / 21 stycznia 2022
|
---|---|
Magazyn | |
Napisane w | C89 |
System operacyjny | Linux, macOS, inne. |
Norma (e) | Interfejs przekazywania wiadomości |
Licencja | Licencja MPICH (permisywna) |
Strona internetowa | mpich.org |
MPICH , wcześniej znany jako MPICH2 , jest ogólnodostępną, przenośną implementacją MPI , standardu przekazywania komunikatów dla aplikacji pamięci rozproszonej używanych w obliczeniach równoległych . MPICH to bezpłatne oprogramowanie typu open source z niektórymi komponentami należącymi do domeny publicznej , które zostały opracowane przez amerykańską organizację rządową i jest dostępne dla większości odmian systemu operacyjnego typu Unix (w tym Linux i Mac OS X ).
Historia
Argonne National Laboratory i Mississippi State University wspólnie opracowały wczesne wersje (MPICH-1) jako oprogramowanie należące do domeny publicznej . Część CH nazwy pochodzi od „Chameleon”, która była przenośną biblioteką programowania równoległego opracowaną przez Williama Groppa , jednego z założycieli MPICH.
Oryginalna implementacja MPICH (czasami nazywana „MPICH1”) implementowała standard MPI-1.1. Począwszy od około 2001 roku, rozpoczęto prace nad nową bazą kodu, która zastąpiłaby kod MPICH1 i obsługiwała standard MPI-2. Do listopada 2012 roku projekt ten nosił nazwę „MPICH2”. Od listopada 2012 r. Projekt MPICH2 zmienił nazwę na po prostu „MPICH”. MPICH v3.0 implementuje standard MPI-3.0. MPICH v4.0 implementuje standard MPI-4.0.
MPICH jest jedną z najpopularniejszych implementacji MPI. Jest używany jako podstawa dla zdecydowanej większości implementacji MPI, w tym IBM MPI (dla Blue Gene ), Intel MPI, Cray MPI, Microsoft MPI, Myricom MPI, OSU MVAPICH/MVAPICH2 i wielu innych.
kanały MPICH
W oparciu o infrastrukturę ch3:
- Nemesis - Universal, posiada moduły międzywęzłowe: elan, GM, IB (infiniband), MX (myrinet express), NewMadeleine, tcp; oraz kilka wewnątrzwęzłowych wariantów pamięci współdzielonej dla dużych wiadomości (interfejs LMT).
- ssm - Gniazda i pamięć współdzielona
- shm — pamięć współdzielona
- sock - gniazda tcp/ip
- sctp - eksperymentalny kanał przez gniazda SCTP
pochodne MPICH
- IBM (MPI dla serii Blue Gene oraz opcjonalnie dla klastrów x86 i POWER)
- Cray (MPI dla wszystkich platform Cray)
- SiCortex (MPI SiCortex)
- Microsoft ( MS-MPI )
- Intel (Intel MPI)
- Qlogic (MPICH2-PSM)
- Myricom (MPICH2-MX)
- Uniwersytet Stanowy Ohio (MVAPICH i MVAPICH2)
- ParTec (ParaStation MPI)
- University of British Columbia (MPICH2/SCTP i Fine-Grain MPI (FG-MPI), który dodaje wsparcie dla coroutines )