NewMadeleine

Documentation

nm_mpi_datatype_s Struct Reference

Internal datatype. More...

#include <nm_mpi_private.h>

Collaboration diagram for nm_mpi_datatype_s:

Data Fields

int id
 
nm_mpi_type_combiner_t combiner
 combiner of datatype elements More...
 
nm_mpi_count_t count
 number of blocks in type map More...
 
int is_compact
 whether contiguous && lb == 0 && extent == size More...
 
int is_contig
 whether entirely contiguous More...
 
nm_mpi_count_t elements
 number of base elements in the datatype More...
 
nm_mpi_count_t lb
 lower bound of type More...
 
nm_mpi_count_t extent
 extent of type; upper bound is lb + extent More...
 
nm_mpi_count_t true_lb
 
nm_mpi_count_t true_extent
 
size_t size
 size of type More...
 
struct nm_data_properties_s props
 pre-computed data properties More...
 
struct nm_mpi_refcount_s refcount
 number of references pointing to this type (active communications, handle) More...
 
int committed
 whether committed or not More...
 
union {
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
   }   DUP
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
   }   RESIZED
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
   }   CONTIGUOUS
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
      nm_mpi_count_t   blocklength
 
      nm_mpi_aint_t   stride
 stride in multiple of datatype extent More...
 
   }   VECTOR
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
      nm_mpi_count_t   blocklength
 
      nm_mpi_aint_t   hstride
 stride in bytes More...
 
   }   HVECTOR
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
      struct nm_mpi_type_indexed_map_s {
         nm_mpi_count_t   blocklength
 
         nm_mpi_aint_t   displacement
 displacement in multiple of oldtype extent More...
 
      }   p_map
 
   }   INDEXED
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
      struct nm_mpi_type_hindexed_map_s {
         nm_mpi_count_t   blocklength
 
         nm_mpi_aint_t   displacement
 displacement in bytes More...
 
      }   p_map
 
   }   HINDEXED
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
      nm_mpi_count_t   blocklength
 
      nm_mpi_count_t *   array_of_displacements
 
   }   INDEXED_BLOCK
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
      nm_mpi_count_t   blocklength
 
      nm_mpi_aint_t *   array_of_displacements
 
   }   HINDEXED_BLOCK
 
   struct {
      struct nm_mpi_datatype_s *   p_old_type
 
      int   ndims
 
      int   order
 
      struct nm_mpi_type_subarray_dim_s {
         int   size
 
         int   subsize
 
         int   start
 
      }   p_dims
 
   }   SUBARRAY
 
   struct {
      struct nm_mpi_type_struct_map_s {
         struct nm_mpi_datatype_s *   p_old_type
 
         nm_mpi_count_t   blocklength
 
         nm_mpi_aint_t   displacement
 displacement in bytes More...
 
      }   p_map
 
   }   STRUCT
 
}; 
 
char * name
 
struct nm_mpi_attrs_s attrs
 datatype attributes, hashed by keyval descriptor More...
 
size_t ser_size
 size of the datatype once serialized More...
 
nm_mpi_datatype_ser_tp_serialized
 serialized version of the type. More...
 
nm_mpi_datatype_hash_t hash
 (probably unique) datatype hash More...
 

Detailed Description

Internal datatype.

Definition at line 717 of file nm_mpi_private.h.

Field Documentation

◆ 

union { ... } nm_mpi_datatype_s::@43

◆ array_of_displacements [1/2]

nm_mpi_count_t* nm_mpi_datatype_s::array_of_displacements

Definition at line 792 of file nm_mpi_private.h.

◆ array_of_displacements [2/2]

nm_mpi_aint_t* nm_mpi_datatype_s::array_of_displacements

Definition at line 798 of file nm_mpi_private.h.

◆ attrs

struct nm_mpi_attrs_s nm_mpi_datatype_s::attrs

datatype attributes, hashed by keyval descriptor

Definition at line 823 of file nm_mpi_private.h.

◆ blocklength

nm_mpi_count_t nm_mpi_datatype_s::blocklength

Definition at line 761 of file nm_mpi_private.h.

◆ combiner

nm_mpi_type_combiner_t nm_mpi_datatype_s::combiner

combiner of datatype elements

Definition at line 721 of file nm_mpi_private.h.

Referenced by nm_mpi_datatype_hash_common().

◆ committed

int nm_mpi_datatype_s::committed

whether committed or not

Definition at line 743 of file nm_mpi_private.h.

◆ 

struct { ... } nm_mpi_datatype_s::CONTIGUOUS

◆ count

nm_mpi_count_t nm_mpi_datatype_s::count

number of blocks in type map

Definition at line 723 of file nm_mpi_private.h.

Referenced by nm_mpi_data_build(), and nm_mpi_datatype_hash_common().

◆ displacement

nm_mpi_aint_t nm_mpi_datatype_s::displacement

displacement in multiple of oldtype extent

displacement in bytes

Definition at line 776 of file nm_mpi_private.h.

◆ 

struct { ... } nm_mpi_datatype_s::DUP

◆ elements

nm_mpi_count_t nm_mpi_datatype_s::elements

number of base elements in the datatype

Definition at line 729 of file nm_mpi_private.h.

◆ extent

nm_mpi_count_t nm_mpi_datatype_s::extent

extent of type; upper bound is lb + extent

Definition at line 733 of file nm_mpi_private.h.

Referenced by nm_mpi_datatype_get_ptr(), and nm_mpi_datatype_hash_common().

◆ hash

nm_mpi_datatype_hash_t nm_mpi_datatype_s::hash

(probably unique) datatype hash

Definition at line 826 of file nm_mpi_private.h.

◆ 

struct { ... } nm_mpi_datatype_s::HINDEXED

◆ 

struct { ... } nm_mpi_datatype_s::HINDEXED_BLOCK

◆ hstride

nm_mpi_aint_t nm_mpi_datatype_s::hstride

stride in bytes

Definition at line 768 of file nm_mpi_private.h.

◆ 

struct { ... } nm_mpi_datatype_s::HVECTOR

◆ id

int nm_mpi_datatype_s::id

Definition at line 719 of file nm_mpi_private.h.

◆ 

struct { ... } nm_mpi_datatype_s::INDEXED

◆ 

struct { ... } nm_mpi_datatype_s::INDEXED_BLOCK

◆ is_compact

int nm_mpi_datatype_s::is_compact

whether contiguous && lb == 0 && extent == size

Definition at line 725 of file nm_mpi_private.h.

◆ is_contig

int nm_mpi_datatype_s::is_contig

whether entirely contiguous

Definition at line 727 of file nm_mpi_private.h.

◆ lb

nm_mpi_count_t nm_mpi_datatype_s::lb

lower bound of type

Definition at line 731 of file nm_mpi_private.h.

Referenced by nm_mpi_datatype_hash_common().

◆ name

char* nm_mpi_datatype_s::name

Definition at line 822 of file nm_mpi_private.h.

◆ ndims

int nm_mpi_datatype_s::ndims

Definition at line 803 of file nm_mpi_private.h.

◆ order

int nm_mpi_datatype_s::order

Definition at line 804 of file nm_mpi_private.h.

◆ 

struct { ... } ::nm_mpi_type_subarray_dim_s * nm_mpi_datatype_s::p_dims

◆  [1/3]

struct { ... } ::nm_mpi_type_indexed_map_s * nm_mpi_datatype_s::p_map

◆  [2/3]

struct { ... } ::nm_mpi_type_hindexed_map_s * nm_mpi_datatype_s::p_map

◆  [3/3]

struct { ... } ::nm_mpi_type_struct_map_s * nm_mpi_datatype_s::p_map

◆ p_old_type

struct nm_mpi_datatype_s* nm_mpi_datatype_s::p_old_type

Definition at line 748 of file nm_mpi_private.h.

◆ p_serialized

nm_mpi_datatype_ser_t* nm_mpi_datatype_s::p_serialized

serialized version of the type.

Definition at line 825 of file nm_mpi_private.h.

◆ props

struct nm_data_properties_s nm_mpi_datatype_s::props

pre-computed data properties

Definition at line 739 of file nm_mpi_private.h.

◆ refcount

struct nm_mpi_refcount_s nm_mpi_datatype_s::refcount

number of references pointing to this type (active communications, handle)

Definition at line 741 of file nm_mpi_private.h.

◆ 

struct { ... } nm_mpi_datatype_s::RESIZED

◆ ser_size

size_t nm_mpi_datatype_s::ser_size

size of the datatype once serialized

Definition at line 824 of file nm_mpi_private.h.

◆ size [1/2]

size_t nm_mpi_datatype_s::size

size of type

Definition at line 737 of file nm_mpi_private.h.

Referenced by nm_mpi_datatype_hash_common().

◆ size [2/2]

int nm_mpi_datatype_s::size

Definition at line 807 of file nm_mpi_private.h.

◆ start

int nm_mpi_datatype_s::start

Definition at line 809 of file nm_mpi_private.h.

◆ stride

nm_mpi_aint_t nm_mpi_datatype_s::stride

stride in multiple of datatype extent

Definition at line 762 of file nm_mpi_private.h.

◆ 

struct { ... } nm_mpi_datatype_s::STRUCT

◆ 

struct { ... } nm_mpi_datatype_s::SUBARRAY

◆ subsize

int nm_mpi_datatype_s::subsize

Definition at line 808 of file nm_mpi_private.h.

◆ true_extent

nm_mpi_count_t nm_mpi_datatype_s::true_extent

Definition at line 735 of file nm_mpi_private.h.

◆ true_lb

nm_mpi_count_t nm_mpi_datatype_s::true_lb

Definition at line 734 of file nm_mpi_private.h.

◆ 

struct { ... } nm_mpi_datatype_s::VECTOR

The documentation for this struct was generated from the following file: