NewMadeleine

Documentation

« back to PM2 home.
nm_mpi_datatype.h
Go to the documentation of this file.
1/*
2 * NewMadeleine
3 * Copyright (C) 2006-2026 (see AUTHORS file)
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 */
15
16
17#ifndef NM_MPI_DATATYPE_H
18#define NM_MPI_DATATYPE_H
19
21/* @{ */
22
24/* @{ */
25
26
34int MPI_Type_size(MPI_Datatype datatype, int*size);
35
37
39
48
50
52
59int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint*extent) __attribute__((deprecated));
60
61int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint*true_lb, MPI_Aint*true_extent);
62
63int MPI_Type_get_true_extent_c(MPI_Datatype datatype, MPI_Count*true_lb, MPI_Count*true_extent);
64
65int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count*true_lb, MPI_Count*true_extent);
66
67
74int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint*lb) __attribute__((deprecated));
75
79int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint*displacement) __attribute__((deprecated));
80
92
94
96
103
111
121
123
134int MPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype*newtype);
135
137
150int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype*newtype) __attribute__((deprecated));
151
163int MPI_Type_indexed(int count, const int array_of_blocklengths[], const int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype);
164
165int MPI_Type_indexed_c(MPI_Count count, const MPI_Count array_of_blocklengths[], const MPI_Count array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype);
166
179int MPI_Type_hindexed(int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype) __attribute__((deprecated));
180
191int MPI_Type_struct(int count, int*array_of_blocklengths, MPI_Aint*array_of_displacements, MPI_Datatype*array_of_types, MPI_Datatype*newtype) __attribute__((deprecated));
192
193
194int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype);
195
196int MPI_Type_create_hindexed_c(MPI_Count count, const MPI_Count array_of_blocklengths[], const MPI_Count array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype);
197
198int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint hstride, MPI_Datatype oldtype, MPI_Datatype*newtype);
199
201
202int MPI_Type_create_indexed_block(int count, int blocklength, const int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype);
203
204int MPI_Type_create_indexed_block_c(MPI_Count count, MPI_Count blocklength, const MPI_Count array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype);
205
206int MPI_Type_create_hindexed_block(int count, int blocklength, const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype);
207
208int MPI_Type_create_hindexed_block_c(MPI_Count count, MPI_Count blocklength, const MPI_Count array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype*newtype);
209
210int MPI_Type_create_subarray(int ndims, const int array_of_sizes[], const int array_of_subsizes[],
211 const int array_of_starts[], int order, MPI_Datatype oldtype, MPI_Datatype*newtype);
212
213int MPI_Type_create_subarray_c(int ndims, const MPI_Count array_of_sizes[], const MPI_Count array_of_subsizes[],
214 const MPI_Count array_of_starts[], int order, MPI_Datatype oldtype, MPI_Datatype*newtype);
215
216int MPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], const int array_of_distribs[],
217 const int array_of_dargs[], const int array_of_psizes[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype);
218
219int MPI_Type_create_darray_c(int size, int rank, int ndims, const MPI_Count array_of_gsizes[], const MPI_Count array_of_distribs[],
220 const MPI_Count array_of_dargs[], const MPI_Count array_of_psizes[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype);
221
222int MPI_Type_create_struct(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], const MPI_Datatype array_of_types[], MPI_Datatype*newtype);
223
224int MPI_Type_create_struct_c(MPI_Count count, const MPI_Count array_of_blocklengths[], const MPI_Count array_of_displacements[], const MPI_Datatype array_of_types[], MPI_Datatype*newtype);
225
226int MPI_Type_get_envelope(MPI_Datatype datatype, int*num_integers, int*num_addresses, int*num_datatypes, int*combiner);
227
228int MPI_Type_get_envelope_c(MPI_Datatype datatype, MPI_Count*num_integers, MPI_Count*num_addresses, MPI_Count*num_large_counts, MPI_Count*num_datatypes, int*combiner);
229
230int MPI_Type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, int max_datatypes,
231 int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]);
232
233int MPI_Type_get_contents_c(MPI_Datatype datatype, MPI_Count max_integers, MPI_Count max_addresses, MPI_Count max_large_counts, MPI_Count max_datatypes,
234 int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Count array_of_large_counts[], MPI_Datatype array_of_datatypes[]);
235
236int MPI_Type_set_name(MPI_Datatype datatype, const char*type_name);
237
238int MPI_Type_get_name(MPI_Datatype datatype, char*type_name, int*resultlen);
239
242 int*keyval,
243 void*extra_state);
244
245int MPI_Type_free_keyval(int*keyval);
246
247int MPI_Type_delete_attr(MPI_Datatype datatype, int keyval);
248
249int MPI_Type_set_attr(MPI_Datatype datatype, int datatype_keyval, void *attribute_val);
250
251int MPI_Type_get_attr(MPI_Datatype datatype, int datatype_keyval, void *attribute_val, int*flag);
252
268int MPI_Pack(const void*inbuf, int incount, MPI_Datatype datatype, void*outbuf, int outsize, int*position, MPI_Comm comm);
269
270int MPI_Pack_c(const void*inbuf, MPI_Count incount, MPI_Datatype datatype, void*outbuf, MPI_Count outsize, MPI_Count*position, MPI_Comm comm);
271
291int MPI_Unpack(const void*inbuf, int insize, int*position, void*outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm);
292
293int MPI_Unpack_c(const void*inbuf, MPI_Count insize, MPI_Count*position, void*outbuf, MPI_Count outcount, MPI_Datatype datatype, MPI_Comm comm);
294
303int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int*size);
304
306
307
308int MPI_Pack_external(const char datarep[], const void*inbuf, int incount, MPI_Datatype datatype,
309 void*outbuf, MPI_Aint outsize, MPI_Aint*position);
310
311int MPI_Pack_external_c(const char datarep[], const void*inbuf, MPI_Count incount, MPI_Datatype datatype,
312 void*outbuf, MPI_Count outsize, MPI_Count*position);
313
314int MPI_Unpack_external(const char datarep[], const void*inbuf, MPI_Aint insize, MPI_Aint*position,
315 void*outbuf, int outcount, MPI_Datatype datatype);
316
317int MPI_Unpack_external_c(const char datarep[], const void*inbuf, MPI_Count insize, MPI_Count*position,
318 void*outbuf, MPI_Count outcount, MPI_Datatype datatype);
319
320int MPI_Pack_external_size(const char datarep[], int incount, MPI_Datatype datatype, MPI_Aint*size);
321
322int MPI_Pack_external_size_c(const char datarep[], MPI_Count incount, MPI_Datatype datatype, MPI_Count*size);
323
324/* @}*/
325/* @}*/
326
327#endif /* NM_MPI_DATATYPE_H */
struct nm_core_event_s __attribute__
Definition nm_data.h:538
int MPI_Type_hindexed(int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype) __attribute__((deprecated))
Constructs a typemap consisting of the replication of a datatype into a sequence of blocks,...
int MPI_Pack_external_size(const char datarep[], int incount, MPI_Datatype datatype, MPI_Aint *size)
int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size)
Returns the upper bound on the amount of space needed to pack a message.
int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype *newtype)
Returns in newtype a new datatype that is identical to oldtype, except that the lower bound of this n...
int MPI_Type_vector_c(MPI_Count count, MPI_Count blocklength, MPI_Count stride, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size)
int MPI_Type_create_resized_c(MPI_Datatype oldtype, MPI_Count lb, MPI_Count extent, MPI_Datatype *newtype)
int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype *newtype)
Constructs a typemap consisting of the replication of a datatype into contiguous locations.
int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint hstride, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_free(MPI_Datatype *datatype)
Marks the datatype object associated with datatype for deallocation.
int MPI_Type_indexed(int count, const int array_of_blocklengths[], const int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
Constructs a typemap consisting of the replication of a datatype into a sequence of blocks,...
int MPI_Pack_size_c(MPI_Count incount, MPI_Datatype datatype, MPI_Comm comm, MPI_Count *size)
int MPI_Type_create_struct(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], const MPI_Datatype array_of_types[], MPI_Datatype *newtype)
int MPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, int outsize, int *position, MPI_Comm comm)
Packs a message specified by inbuf, incount, datatype, comm into the buffer space specified by outbuf...
int MPI_Type_create_hindexed_block_c(MPI_Count count, MPI_Count blocklength, const MPI_Count array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent)
Returns the lower bound and the extent of datatype.
int MPI_Type_create_hindexed_block(int count, int blocklength, const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Pack_external_size_c(const char datarep[], MPI_Count incount, MPI_Datatype datatype, MPI_Count *size)
int MPI_Type_create_subarray_c(int ndims, const MPI_Count array_of_sizes[], const MPI_Count array_of_subsizes[], const MPI_Count array_of_starts[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_create_keyval(MPI_Type_copy_attr_function *copy_fn, MPI_Type_delete_attr_function *delete_fn, int *keyval, void *extra_state)
int MPI_Type_get_extent_c(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent)
int MPI_Type_free_keyval(int *keyval)
int MPI_Type_create_indexed_block_c(MPI_Count count, MPI_Count blocklength, const MPI_Count array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_struct(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype *array_of_types, MPI_Datatype *newtype) __attribute__((deprecated))
Constructs a typemap consisting of the replication of different datatypes, with different block sizes...
int MPI_Pack_external(const char datarep[], const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position)
int MPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, int *num_datatypes, int *combiner)
int MPI_Type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, int max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[])
int MPI_Type_create_indexed_block(int count, int blocklength, const int array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_create_hindexed_c(MPI_Count count, const MPI_Count array_of_blocklengths[], const MPI_Count array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Unpack_c(const void *inbuf, MPI_Count insize, MPI_Count *position, void *outbuf, MPI_Count outcount, MPI_Datatype datatype, MPI_Comm comm)
int MPI_Type_create_hvector_c(MPI_Count count, MPI_Count blocklength, MPI_Count hstride, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_set_name(MPI_Datatype datatype, const char *type_name)
int MPI_Unpack_external_c(const char datarep[], const void *inbuf, MPI_Count insize, MPI_Count *position, void *outbuf, MPI_Count outcount, MPI_Datatype datatype)
int MPI_Unpack(const void *inbuf, int insize, int *position, void *outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm)
Unpacks a message into the receive buffer specified by outbuf, outcount, datatype from the buffer spa...
int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint *displacement) __attribute__((deprecated))
Returns the upper bound of a datatype.
int MPI_Type_get_attr(MPI_Datatype datatype, int datatype_keyval, void *attribute_val, int *flag)
int MPI_Type_contiguous_c(MPI_Count count, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_create_struct_c(MPI_Count count, const MPI_Count array_of_blocklengths[], const MPI_Count array_of_displacements[], const MPI_Datatype array_of_types[], MPI_Datatype *newtype)
int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent) __attribute__((deprecated))
Returns the extent of the datatype.
int MPI_Unpack_external(const char datarep[], const void *inbuf, MPI_Aint insize, MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype)
int MPI_Pack_external_c(const char datarep[], const void *inbuf, MPI_Count incount, MPI_Datatype datatype, void *outbuf, MPI_Count outsize, MPI_Count *position)
int MPI_Type_delete_attr(MPI_Datatype datatype, int keyval)
int MPI_Type_get_envelope_c(MPI_Datatype datatype, MPI_Count *num_integers, MPI_Count *num_addresses, MPI_Count *num_large_counts, MPI_Count *num_datatypes, int *combiner)
int MPI_Type_size(MPI_Datatype datatype, int *size)
Returns the total size, in bytes, of the entries in the type signature associated with datatype.
int MPI_Pack_c(const void *inbuf, MPI_Count incount, MPI_Datatype datatype, void *outbuf, MPI_Count outsize, MPI_Count *position, MPI_Comm comm)
int MPI_Type_indexed_c(MPI_Count count, const MPI_Count array_of_blocklengths[], const MPI_Count array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint *lb) __attribute__((deprecated))
Returns the lower bound of the datatype.
int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[], const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb, MPI_Count *true_extent)
int MPI_Type_get_contents_c(MPI_Datatype datatype, MPI_Count max_integers, MPI_Count max_addresses, MPI_Count max_large_counts, MPI_Count max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Count array_of_large_counts[], MPI_Datatype array_of_datatypes[])
int MPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], const int array_of_distribs[], const int array_of_dargs[], const int array_of_psizes[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent)
int MPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent)
int MPI_Type_get_true_extent_c(MPI_Datatype datatype, MPI_Count *true_lb, MPI_Count *true_extent)
int MPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype)
Constructs a typemap consisting of the replication of a datatype into location that consist of equall...
int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype) __attribute__((deprecated))
Constructs a typemap consisting of the replication of a datatype into location that consist of equall...
int MPI_Type_size_c(MPI_Datatype datatype, MPI_Count *size)
int MPI_Type_set_attr(MPI_Datatype datatype, int datatype_keyval, void *attribute_val)
int MPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen)
int MPI_Type_create_subarray(int ndims, const int array_of_sizes[], const int array_of_subsizes[], const int array_of_starts[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype)
int MPI_Type_commit(MPI_Datatype *datatype)
Commits the datatype.
int MPI_Type_create_darray_c(int size, int rank, int ndims, const MPI_Count array_of_gsizes[], const MPI_Count array_of_distribs[], const MPI_Count array_of_dargs[], const MPI_Count array_of_psizes[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype)
void * extra_state
nm_mpi_count_t count
number of elements to be exchanged
int() MPI_Type_delete_attr_function(MPI_Datatype datatype, int type_keyval, void *attribute_val, void *extra_state)
nm_mpi_aint_t MPI_Aint
type that holds an address
int MPI_Comm
Communicator handle.
int() MPI_Type_copy_attr_function(MPI_Datatype oldtype, int type_keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)
nm_mpi_count_t MPI_Count
public type for counts
int MPI_Datatype
Datatype handle.
nm_len_t size
size of the onsided data (not incuding target-side completion)