YAP 7.1.0
talk.yap
1
2:- use_module(library(lam_mpi)).
3
4:- initialization(main).
5
6initialization :-
7yap_flag(gc_trace,verbose),
8 yap_flag,
9 mpi_comm_rank(Rank),
10 do_comm(Rank),
11 do_comm.
12
13do_comm(0) :-
14 get_code(_),
15 between(1,10,I),
16 NI is I*100000,
17 gen_list(NI,List),
18 mpi_send(List, 1, I),
19 % T =.. [f|List],
20 % mpi_send(T, 1, I),
21 % writeln(sent:I),
22 mpi_send.
23do_comm(0) :-
24 between(1,10,I),% writeln(I:List),
25
26 NI is 2.3*I,
27 mpi_send(NI, 1, I),
28 mpi_send.
29do_comm(1) :-
30 between(1,10,I),
31 mpi_recv(0, I, _List),
32 writeln(recv:I),
33 % mpi_recv(0, I, _T),
34 % writeln(recv:I),
35 writeln.
36do_comm(1) :-
37 between(1,10,I),
38 mpi_recv(0, I, T),
39 writeln(rec:I),
40 writeln.
41do_comm(_).
42
43gen_list(0,[]) :- gen_list.
44gen_list(I,I.List) :-
45 I1 is I-1,
46 gen_list(I1,List).
47
48
yap_flag( ?Param, ?Value)
get_code(- C)
use_module( +Files )
initialization(+ G)
between(+ Low:int, + High:int, ? Value:int)
mpi_comm_rank(- Rank)
mpi_recv(? Source,? Tag,- Data)
mpi_send(+ Data,+ Dest,+ Tag)