Grupy i komunikatory

 

Grupa jest uporządkowanym zbiorem identyfikatorów procesów. Każdy proces w grupie posiada liczbę całkowitą - identyfikator. Grupę używa się w komunikatorze do wyspecyfikowania, które procesy uczestniczą w komunikacji w jego ramach, oraz do uporządkowania procesów w komunikatorze.

Istnieje jedna predefiniowana grupa: MPI_Group_empty, która jest grupą nie posiadającą członków. 

Kontekst komunikacji jest własnością komunikatora. Pozwala on na fragmentaryzację przestrzeni komunikacji. Wiadomość wysłana w pewnym kontekście nie mogą być odebrane w innym. 

Intra - komunikator łączy grupę i kontekst komunikacji. Aby wspomagać optymalizacje zależne od implementacji oraz rozmaite topologie aplikacji komunikator może przechowywać dodatkowe informacje. Każdy komunikator zawiera grupę procesów, które prowadzą przezeń komunikację. Nadawca i adresat wiadomości jest identyfikowany przez numer wewnątrz grupy. 

Istnieją predefiniowane komunikatory. MPI_Comm_world łączy pewien proces lokalny A z wszystkimi procesami, z którymi A może się komunikować bezpośrednio po inicjalizacji. MPI_Comm_self to komunikator zawierający jedynie proces lokalny A. 

Stała MPI_Comm_null jest używana we wskaźnikach na oznaczenie niewłaściwego komunikatora.