16:- use_module(library(lam_mpi)). 17:- use_module(library(system)). 18main:-
19 write(main),nl,
20 mpi_init,
21 write(after_init),nl,
22 mpi_comm_size(S),
23 mpi_comm_rank(R),
24 write([R,S]),nl,
25 (R == 0->
26 sleep(2),
27 write(wait_end),nl,
28 mpi_send(ciao,1,201),
29 write(after_send),nl
30 ;
31 mpi_irecv(0,_Tag,H),
32 write(irecv),nl,
33 test(H)
34 ),
35 mpi_finalize.
36
37test(H):-
38 (mpi_wait_recv(H,S,Data)->
39 write(c(S,Data)),nl
40 ;
41 write(no),nl,
42 test(H)
43 ).
44
45:-main,halt.