source: proiecte/hpl/openmpi_compiled/share/man/man3/MPI_Type_create_hindexed.3 @ 97

Last change on this file since 97 was 97, checked in by (none), 14 years ago

Adding compiled files

File size: 3.7 KB
Line 
1.\"Copyright 2006-2008 Sun Microsystems, Inc.
2.\"Copyright (c) 1996 Thinking Machines
3.TH MPI_Type_create_hindexed 3 "Dec 08, 2009" "1.4" "Open MPI"
4.SH NAME
5\fBMPI_Type_create_hindexed\fP \- Creates an indexed data type with offsets in bytes.
6
7.SH SYNTAX
8.ft R
9.SH C Syntax
10.nf
11#include <mpi.h>
12int MPI_Type_create_hindexed(int\fI count\fP, int \fIarray_of_blocklengths\fP[],
13        MPI_Aint \fIarray_of_displacements\fP[], MPI_Datatype \fIoldtype\fP,
14        MPI_Datatype *\fInewtype\fP)
15
16.SH Fortran Syntax (see FORTRAN 77 NOTES)
17.nf
18INCLUDE 'mpif.h'
19MPI_TYPE_CREATE_HINDEXED(\fICOUNT\fP,\fI ARRAY_OF_BLOCKLENGTHS\fP,
20        \fIARRAY_OF_DISPLACEMENTS\fP, \fIOLDTYPE\fP, \fINEWTYPE\fP, \fIIERROR\fP)
21        INTEGER \fICOUNT, ARRAY_OF_BLOCKLENGTHS(*), OLDTYPE, NEWTYPE, IERROR\fP
22        INTEGER(KIND=MPI_ADDRESS_KIND) \fIARRAY_OF_DISPLACEMENTS\fP(*)
23
24.SH C++ Syntax
25.nf
26#include <mpi.h>
27MPI::Datatype MPI::Datatype::Create_hindexed(int \fIcount\fP,
28        const int \fIarray_of_blocklengths\fP[],
29        const MPI::Aint \fIarray_of_displacements\fP[]) const
30
31.SH INPUT PARAMETERS
32.ft R
33.TP 1i
34count
35Number of blocks (nonnegative integer).
36.TP 1i
37array_of_blocklengths
38Number of elements in each block (array of nonnegative integers).
39.TP 1i
40array_of_displacements
41Byte displacement of each block (array of integers).
42.TP 1i
43oldtype
44Old data type (handle).
45
46.SH OUTPUT PARAMETERS
47.ft R
48.TP 1i
49newtype
50New data type (handle).
51.TP 1i
52IERROR
53Fortran only: Error status (integer).
54
55.SH DESCRIPTION
56.ft R
57MPI_Type_create_hindexed is identical to MPI_Type_indexed, except that block displacements in \fIarray_of_displacements\fP are specified in bytes, rather than in multiples of the \fIoldtype\fP extent.
58.sp
59Assume that \fIoldtype\fP has type map
60.sp
61.nf
62    {(type(0), disp(0)), ..., (type(n-1), disp(n-1))},
63.fi
64.sp
65with extent \fIex\fP. Let B be the \fIarray_of_blocklengths\fP argument and D be the
66\fIarray_of_displacements\fP argument. The newly created data type has
67.nf
68n x S^count-1
69    (i=0)        B[i]  entries:
70
71  {(type(0), disp(0) + D[0]),...,(type(n-1), disp(n-1) + D[0]),...,
72  (type(0), disp(0) + (D[0] + B[0]-1)* ex),...,
73  type(n-1), disp(n-1) + (D[0]+ B[0]-1)* ex),...,
74  (type(0), disp(0) + D[count-1]),...,(type(n-1), disp(n-1) + D[count-1]),...,
75  (type(0), disp(0) +  D[count-1] + (B[count-1] -1)* ex),...,
76  (type(n-1), disp(n-1) + D[count-1] + (B[count-1] -1)* ex)}
77.fi
78.PP
79NOTE \- This routine replaces MPI_Type_hindexed, which is deprecated. See the man page MPI_Type_hindexed(3) for information about that routine.
80
81.SH FORTRAN 77 NOTES
82.ft R
83The MPI standard prescribes portable Fortran syntax for
84the \fIARRAY_OF_DISPLACEMENTS\fP(*) argument only for Fortran 90.  FORTRAN 77
85users may use the non-portable syntax
86.sp
87.nf
88     INTEGER*MPI_ADDRESS_KIND \fIARRAY_OF_DISPLACEMENTS\fP(*)
89.fi
90.sp
91where MPI_ADDRESS_KIND is a constant defined in mpif.h
92and gives the length of the declared integer in bytes.
93
94.SH ERRORS
95Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI:Exception object.
96.sp
97Before the error value is returned, the current MPI error handler is
98called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. 
99.sp
100See the MPI(3) man page for a full list of MPI error codes.
101
102.SH SEE ALSO
103.ft R
104MPI_Type_indexed
105.br
106MPI_Type_hindexed
107.br
108
Note: See TracBrowser for help on using the repository browser.