30 lines
509 B
Plaintext
30 lines
509 B
Plaintext
|
|
||
|
:- use_module(library(lam_mpi)).
|
||
|
|
||
|
:- initialization(main).
|
||
|
|
||
|
main :-
|
||
|
mpi_init,
|
||
|
writeln(ok1),
|
||
|
mpi_comm_size(N),
|
||
|
writeln(ok2:N),
|
||
|
mpi_comm_rank(Rank),
|
||
|
do_comm(Rank),
|
||
|
mpi_finalize.
|
||
|
|
||
|
do_comm(Rank) :-
|
||
|
between(1,10,I),
|
||
|
NI is I*10,
|
||
|
gen_list(NI,List),
|
||
|
mpi_bcast2(0, List),
|
||
|
mpi_barrier,
|
||
|
format('Rank=~d Msg=~w~n',[Rank,List]),
|
||
|
fail.
|
||
|
do_comm(_).
|
||
|
|
||
|
gen_list(0,[]) :- !.
|
||
|
gen_list(I,[I|List]) :-
|
||
|
I1 is I-1,
|
||
|
gen_list(I1,List).
|
||
|
|