16calc(
From,
From,
Acc,
Res )
:- calc,
18calc(
From,
To,
Acc,
Res )
:- calc,
21 calc(
From,
To1,
Acc1,
Res ).
35 mpi_receive(
T,
Source,
Tag),
36 format(
'0: Proc ~q said: ~q (Tag: ~q)~n', [
Source,
T,
Tag] ),
43 NewCounter is Counter - 1,
47 format(
'0: Result: ~q.~n', [
NewAcc]).
54 From is floor(
Job * (
Rank - 1)
/ (
NumProc - 1)),
55 To is floor(
Job * Rank / (
NumProc - 1))
- 1,
56 format(
'~q: I am calculating ~q..~q.~n', [
Rank,
From,
To] ),
58 calc(
From,
To,
0,
Result ),
59 format(
'~q: sending ~q to 0. (Tag: 1)~n', [
Rank,
Result] ),
69 mpi_open(
Rank,
NumProc,
ProcName),
70 format(
'Rank: ~q NumProc: ~q, ProcName: ~q~n', [
Rank,
NumProc,
ProcName]),
72 format(
'Rank ~q finished!~n', [
Rank] ),
set_prolog_flag(+ Flag,+ Value)
mpi_send(+ Data,+ Dest,+ Tag)