Uwagi Funkcja wysyła komunikat asynchronicznie do wszystkich procesów, których identyfikatory zadań są zapamiętane w tablicy tids, z wyjątkiem procesu wysyłającego. Etykieta msgtag jest wprowadzona dla rozróżniania przesyłanych komunikatów.

Proces odbierający komunikat może zrobić to albo funkcją pvm_recv() albo pvm_nrecv().

PRZYKŁAD:

#define ileprocow 6 int nproc = ileprocow; char *nazwaGrupy; nazwaGrupy = "mc-row"; int tIds[nproc];

//przeważnie tablice procesów uzyskujemy z funkcji pvm_spawn

taskNo = pvm_spawn("mc-slave", (char**) NULL, PvmTaskDefault, "", (nproc -1), tIds); //

//i przeważnie stosuje się ją do rozsyłania danych początkowych //do procesów dzieci. W tym wypadku nazwa grupy i ile procesów //będzie w grupie (istotna informacja dla wywoływania pvm_barrier)

pvm_initsend( PvmDataDefault); // pvm_pkint(&nproc, 1, 0); // pvm_pkstr(nazwaGrupy); // pvm_mcast(tIds, taskNo, mcastmsg); //

pvm_bcast int retval = pvm_bcast( char *group, int msgtag);