mpi4py.MPI.Datatype

class mpi4py.MPI.Datatype(datatype=None)

Bases: object

Datatype object

Parameters

datatype (Optional[Datatype]) –

Return type

Datatype

static __new__(cls, datatype=None)
Parameters

datatype (Optional[Datatype]) –

Return type

Datatype

Methods Summary

Commit()

Commit the datatype

Create_contiguous(count)

Create a contiguous datatype

Create_darray(size, rank, gsizes, distribs, ...)

Create a datatype representing an HPF-like distributed array on Cartesian process grids

Create_f90_complex(p, r)

Return a bounded complex datatype

Create_f90_integer(r)

Return a bounded integer datatype

Create_f90_real(p, r)

Return a bounded real datatype

Create_hindexed(blocklengths, displacements)

Create an indexed datatype with displacements in bytes

Create_hindexed_block(blocklength, displacements)

Create an indexed datatype with constant-sized blocks and displacements in bytes

Create_hvector(count, blocklength, stride)

Create a vector (strided) datatype

Create_indexed(blocklengths, displacements)

Create an indexed datatype

Create_indexed_block(blocklength, displacements)

Create an indexed datatype with constant-sized blocks

Create_keyval([copy_fn, delete_fn, nopython])

Create a new attribute key for datatypes

Create_resized(lb, extent)

Create a datatype with a new lower bound and extent

Create_struct(blocklengths, displacements, ...)

Create an datatype from a general set of block sizes, displacements and datatypes

Create_subarray(sizes, subsizes, starts[, order])

Create a datatype for a subarray of a regular, multidimensional array

Create_vector(count, blocklength, stride)

Create a vector (strided) datatype

Delete_attr(keyval)

Delete attribute value associated with a key

Dup()

Duplicate a datatype

Free()

Free the datatype

Free_keyval(keyval)

Free an attribute key for datatypes

Get_attr(keyval)

Retrieve attribute value by key

Get_contents()

Retrieve the actual arguments used in the call that created a datatype

Get_envelope()

Return information on the number and type of input arguments used in the call that created a datatype

Get_extent()

Return lower bound and extent of datatype

Get_name()

Get the print name for this datatype

Get_size()

Return the number of bytes occupied by entries in the datatype

Get_true_extent()

Return the true lower bound and extent of a datatype

Match_size(typeclass, size)

Find a datatype matching a specified size in bytes

Pack(inbuf, outbuf, position, comm)

Pack into contiguous memory according to datatype.

Pack_external(datarep, inbuf, outbuf, position)

Pack into contiguous memory according to datatype, using a portable data representation (external32).

Pack_external_size(datarep, count)

Return the upper bound on the amount of space (in bytes) needed to pack a message according to datatype, using a portable data representation (external32).

Pack_size(count, comm)

Return the upper bound on the amount of space (in bytes) needed to pack a message according to datatype.

Set_attr(keyval, attrval)

Store attribute value associated with a key

Set_name(name)

Set the print name for this datatype

Unpack(inbuf, position, outbuf, comm)

Unpack from contiguous memory according to datatype.

Unpack_external(datarep, inbuf, position, outbuf)

Unpack from contiguous memory according to datatype, using a portable data representation (external32).

decode()

Convenience method for decoding a datatype

f2py(arg)

fromcode(code)

Get predefined MPI datatype from character code or type string

py2f()

tocode()

Get character code or type string from predefined MPI datatype

Attributes Summary

combiner

datatype combiner

contents

datatype contents

envelope

datatype envelope

extent

is_named

is a named datatype

is_predefined

is a predefined datatype

lb

lower bound

name

datatype name

size

true_extent

true extent

true_lb

true lower bound

true_ub

true upper bound

typechar

character code

typestr

type string

ub

upper bound

Methods Documentation

Commit()

Commit the datatype

Return type

Datatype

Create_contiguous(count)

Create a contiguous datatype

Parameters

count (int) –

Return type

Datatype

Create_darray(size, rank, gsizes, distribs, dargs, psizes, order=ORDER_C)

Create a datatype representing an HPF-like distributed array on Cartesian process grids

Parameters
Return type

Datatype

classmethod Create_f90_complex(p, r)

Return a bounded complex datatype

Parameters
Return type

Datatype

classmethod Create_f90_integer(r)

Return a bounded integer datatype

Parameters

r (int) –

Return type

Datatype

classmethod Create_f90_real(p, r)

Return a bounded real datatype

Parameters
Return type

Datatype

Create_hindexed(blocklengths, displacements)

Create an indexed datatype with displacements in bytes

Parameters
Return type

Datatype

Create_hindexed_block(blocklength, displacements)

Create an indexed datatype with constant-sized blocks and displacements in bytes

Parameters
Return type

Datatype

Create_hvector(count, blocklength, stride)

Create a vector (strided) datatype

Parameters
  • count (int) –

  • blocklength (int) –

  • stride (int) –

Return type

Datatype

Create_indexed(blocklengths, displacements)

Create an indexed datatype

Parameters
Return type

Datatype

Create_indexed_block(blocklength, displacements)

Create an indexed datatype with constant-sized blocks

Parameters
Return type

Datatype

classmethod Create_keyval(copy_fn=None, delete_fn=None, nopython=False)

Create a new attribute key for datatypes

Parameters
Return type

int

Create_resized(lb, extent)

Create a datatype with a new lower bound and extent

Parameters
  • lb (int) –

  • extent (int) –

Return type

Datatype

classmethod Create_struct(blocklengths, displacements, datatypes)

Create an datatype from a general set of block sizes, displacements and datatypes

Parameters
Return type

Datatype

Create_subarray(sizes, subsizes, starts, order=ORDER_C)

Create a datatype for a subarray of a regular, multidimensional array

Parameters
Return type

Datatype

Create_vector(count, blocklength, stride)

Create a vector (strided) datatype

Parameters
  • count (int) –

  • blocklength (int) –

  • stride (int) –

Return type

Datatype

Delete_attr(keyval)

Delete attribute value associated with a key

Parameters

keyval (int) –

Return type

None

Dup()

Duplicate a datatype

Return type

Datatype

Free()

Free the datatype

Return type

None

classmethod Free_keyval(keyval)

Free an attribute key for datatypes

Parameters

keyval (int) –

Return type

int

Get_attr(keyval)

Retrieve attribute value by key

Parameters

keyval (int) –

Return type

Optional[Union[int, Any]]

Get_contents()

Retrieve the actual arguments used in the call that created a datatype

Return type

Tuple[List[int], List[int], List[int], List[Datatype]]

Get_envelope()

Return information on the number and type of input arguments used in the call that created a datatype

Return type

Tuple[int, int, int, int, int]

Get_extent()

Return lower bound and extent of datatype

Return type

Tuple[int, int]

Get_name()

Get the print name for this datatype

Return type

str

Get_size()

Return the number of bytes occupied by entries in the datatype

Return type

int

Get_true_extent()

Return the true lower bound and extent of a datatype

Return type

Tuple[int, int]

classmethod Match_size(typeclass, size)

Find a datatype matching a specified size in bytes

Parameters
  • typeclass (int) –

  • size (int) –

Return type

Datatype

Pack(inbuf, outbuf, position, comm)

Pack into contiguous memory according to datatype.

Parameters
Return type

int

Pack_external(datarep, inbuf, outbuf, position)

Pack into contiguous memory according to datatype, using a portable data representation (external32).

Parameters
Return type

int

Pack_external_size(datarep, count)

Return the upper bound on the amount of space (in bytes) needed to pack a message according to datatype, using a portable data representation (external32).

Parameters
  • datarep (str) –

  • count (int) –

Return type

int

Pack_size(count, comm)

Return the upper bound on the amount of space (in bytes) needed to pack a message according to datatype.

Parameters
Return type

int

Set_attr(keyval, attrval)

Store attribute value associated with a key

Parameters
  • keyval (int) –

  • attrval (Any) –

Return type

None

Set_name(name)

Set the print name for this datatype

Parameters

name (str) –

Return type

None

Unpack(inbuf, position, outbuf, comm)

Unpack from contiguous memory according to datatype.

Parameters
Return type

int

Unpack_external(datarep, inbuf, position, outbuf)

Unpack from contiguous memory according to datatype, using a portable data representation (external32).

Parameters
Return type

int

decode()

Convenience method for decoding a datatype

Return type

Tuple[Datatype, str, Dict[str, Any]]

classmethod f2py(arg)
Parameters

arg (int) –

Return type

Datatype

classmethod fromcode(code)

Get predefined MPI datatype from character code or type string

Parameters

code (str) –

Return type

Datatype

py2f()
Return type

int

tocode()

Get character code or type string from predefined MPI datatype

Return type

str

Attributes Documentation

combiner

datatype combiner

contents

datatype contents

envelope

datatype envelope

extent
is_named

is a named datatype

is_predefined

is a predefined datatype

lb

lower bound

name

datatype name

size
true_extent

true extent

true_lb

true lower bound

true_ub

true upper bound

typechar

character code

typestr

type string

ub

upper bound