source: project/release/4/mpi/trunk/mpi.scm @ 14411

Last change on this file since 14411 was 14411, checked in by Ivan Raikov, 11 years ago

mpi ported to Chicken 4

File size: 4.5 KB
Line 
1
2;;
3;; Chicken MPI interface. Based on the Caml/MPI interface by Xavier
4;; Leroy.
5;;
6;;
7;; Copyright 2007-2009 Ivan Raikov and the Okinawa Institute of Science and Technology.
8;;
9;; This program is free software: you can redistribute it and/or
10;; modify it under the terms of the GNU General Public License as
11;; published by the Free Software Foundation, either version 3 of the
12;; License, or (at your option) any later version.
13;;
14;; This program is distributed in the hope that it will be useful, but
15;; WITHOUT ANY WARRANTY; without even the implied warranty of
16;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17;; General Public License for more details.
18;;
19;; A full copy of the GPL license can be found at
20;; <http://www.gnu.org/licenses/>.
21;;
22
23
24(module mpi
25
26 (MPI:barrier
27                 MPI:broadcast-int 
28                 MPI:scatter-int 
29                 MPI:gather-int 
30                 MPI:broadcast-flonum 
31                 MPI:scatter-flonum 
32                 MPI:gather-flonum 
33                 MPI:broadcast-fixnum 
34
35                 MPI:broadcast-bytevector
36                 MPI:scatter-bytevector 
37                 MPI:scatterv-bytevector
38                 MPI:gather-bytevector 
39                 MPI:gatherv-bytevector 
40                 MPI:allgather-bytevector
41
42                 MPI:broadcast-s8vector
43                 MPI:scatter-s8vector 
44                 MPI:scatterv-s8vector
45                 MPI:gather-s8vector 
46                 MPI:gatherv-s8vector 
47                 MPI:allgather-s8vector
48
49                 MPI:broadcast-u8vector
50                 MPI:scatter-u8vector 
51                 MPI:scatterv-u8vector
52                 MPI:gather-u8vector 
53                 MPI:gatherv-u8vector 
54                 MPI:allgather-u8vector
55
56                 MPI:broadcast-s16vector
57                 MPI:scatter-s16vector 
58                 MPI:scatterv-s16vector
59                 MPI:gather-s16vector 
60                 MPI:gatherv-s16vector 
61                 MPI:allgather-s16vector
62
63                 MPI:broadcast-u16vector
64                 MPI:scatter-u16vector 
65                 MPI:scatterv-u16vector
66                 MPI:gather-u16vector 
67                 MPI:gatherv-u16vector 
68                 MPI:allgather-u16vector
69
70                 MPI:broadcast-s32vector
71                 MPI:scatter-s32vector 
72                 MPI:scatterv-s32vector
73                 MPI:gather-s32vector 
74                 MPI:gatherv-s32vector 
75                 MPI:allgather-s32vector
76
77                 MPI:broadcast-u32vector
78                 MPI:scatter-u32vector 
79                 MPI:scatterv-u32vector
80                 MPI:gather-u32vector 
81                 MPI:gatherv-u32vector 
82                 MPI:allgather-u32vector
83
84                 MPI:broadcast-f32vector
85                 MPI:scatter-f32vector 
86                 MPI:scatterv-f32vector
87                 MPI:gather-f32vector 
88                 MPI:gatherv-f32vector 
89                 MPI:allgather-f32vector
90
91                 MPI:broadcast-f64vector
92                 MPI:scatter-f64vector 
93                 MPI:scatterv-f64vector
94                 MPI:gather-f64vector 
95                 MPI:gatherv-f64vector 
96                 MPI:allgather-f64vector
97
98                 MPI:reduce-int
99                 MPI:reduce-flonum
100                 MPI:allreduce-int
101                 MPI:allreduce-flonum
102                 MPI:scan-int
103                 MPI:scan-flonum
104
105                 MPI:reduce-s8vector
106                 MPI:allreduce-s8vector
107                 MPI:scan-s8vector
108
109                 MPI:reduce-u8vector
110                 MPI:allreduce-u8vector
111                 MPI:scan-u8vector
112
113                 MPI:reduce-s16vector
114                 MPI:allreduce-s16vector
115                 MPI:scan-s16vector
116
117                 MPI:reduce-u16vector
118                 MPI:allreduce-u16vector
119                 MPI:scan-u16vector
120
121                 MPI:reduce-s32vector
122                 MPI:allreduce-s32vector
123                 MPI:scan-s32vector
124
125                 MPI:reduce-u32vector
126                 MPI:allreduce-u32vector
127                 MPI:scan-u32vector
128
129                 MPI:reduce-f32vector
130                 MPI:allreduce-f32vector
131                 MPI:scan-f32vector
132
133                 MPI:reduce-f64vector
134                 MPI:allreduce-f64vector
135                 MPI:scan-f64vector
136
137                 MPI:comm? 
138                 MPI:get-comm-world
139                 MPI:comm-size
140                 MPI:comm-rank
141                 MPI:comm-equal? 
142                 MPI:comm-split
143                 MPI:comm-create
144                 MPI:undefined 
145                 MPI:make-cart
146                 MPI:make-dims
147                 MPI:cart-rank
148                 MPI:cart-coords
149                 MPI:group? 
150                 MPI:group-size
151                 MPI:group-rank
152                 MPI:group-translate-ranks
153                 MPI:comm-group 
154                 MPI:group-union
155                 MPI:group-difference
156                 MPI:group-intersection
157                 MPI:group-incl 
158                 MPI:group-excl 
159                 MPI:group-range-incl
160                 MPI:group-range-excl
161                 MPI:init
162                 MPI:spawn
163                 MPI:finalize 
164                 MPI:wtime 
165                 MPI:send
166                 MPI:send-fixnum
167                 MPI:send-int 
168                 MPI:send-flonum
169                 MPI:send-u8vector
170                 MPI:send-s8vector
171                 MPI:send-u16vector
172                 MPI:send-s16vector
173                 MPI:send-u32vector
174                 MPI:send-s32vector
175                 MPI:send-f32vector
176                 MPI:send-f64vector
177                 MPI:send-bytevector
178                 MPI:probe 
179                 MPI:receive 
180                 MPI:receive-with-status 
181                 MPI:receive-flonum 
182                 MPI:receive-fixnum
183                 MPI:receive-int
184                 MPI:receive-u8vector
185                 MPI:receive-s8vector
186                 MPI:receive-u16vector
187                 MPI:receive-s16vector
188                 MPI:receive-u32vector
189                 MPI:receive-s32vector
190                 MPI:receive-f32vector
191                 MPI:receive-f64vector
192                 MPI:receive-bytevector
193                 MPI:any-tag
194                 MPI:any-source
195                 
196                 MPI:i_max 
197                 MPI:i_min 
198                 MPI:i_sum 
199                 MPI:i_prod 
200                 MPI:i_land 
201                 MPI:i_lor 
202                 MPI:i_xor 
203                 
204                 MPI:f_max 
205                 MPI:f_min 
206                 MPI:f_sum 
207                 MPI:f_prod 
208       )
209                   
210 (import scheme chicken foreign srfi-1 srfi-4 data-structures)
211
212#>
213#include "chicken-mpi.h"
214
215
216<#
217
218(include "init")
219(include "group")
220(include "comm")
221(include "msgs")
222(include "collcomm")
223
224)
Note: See TracBrowser for help on using the repository browser.