MPI fixes
This commit is contained in:
47
library/lammpi/examples/gowait
Executable file
47
library/lammpi/examples/gowait
Executable file
@@ -0,0 +1,47 @@
|
||||
#!/usr/local/bin/yap -L --
|
||||
|
||||
% called with
|
||||
% mpirun -np 2 gowait.
|
||||
% prints
|
||||
% ------
|
||||
% main
|
||||
% main
|
||||
% after_init
|
||||
% after_init
|
||||
% [0,2]
|
||||
% [1,2]
|
||||
% irecv
|
||||
% wait_end
|
||||
% after_send
|
||||
% c(535755152,)
|
||||
|
||||
:- use_module(library(lam_mpi)).
|
||||
:- use_module(library(system)).
|
||||
main:-
|
||||
write(main),nl,
|
||||
mpi_init,
|
||||
write(after_init),nl,
|
||||
mpi_comm_size(S),
|
||||
mpi_comm_rank(R),
|
||||
write([R,S]),nl,
|
||||
(R == 0->
|
||||
sleep(2),
|
||||
write(wait_end),nl,
|
||||
mpi_send(ciao,1,201),
|
||||
write(after_send),nl
|
||||
;
|
||||
mpi_irecv(0,_201,H),
|
||||
write(irecv),nl,
|
||||
test(H)
|
||||
),
|
||||
mpi_finalize.
|
||||
|
||||
test(H):-
|
||||
(mpi_wait_recv(H,S,Data)->
|
||||
write(c(S,Data)),nl
|
||||
;
|
||||
write(no),nl,
|
||||
test(H)
|
||||
).
|
||||
|
||||
:-main.
|
Reference in New Issue
Block a user