|
Feel++
0.91.0
|
data layout in a multi-processor environnement More...
#include <datamap.hpp>
Public Member Functions | |
Constructors, destructor | |
| DataMap (WorldComm const &_worldComm=WorldComm()) | |
| DataMap (size_type n, size_type n_local, WorldComm const &_worldComm=WorldComm()) | |
| DataMap (size_type n, std::vector< int > const &firstdof, std::vector< int > const &lastdof) | |
| DataMap (DataMap const &dm) | |
| virtual | ~DataMap () |
Operator overloads | |
| DataMap & | operator= (DataMap const &dm) |
Accessors | |
| size_type | nDof () const |
| size_type | nLocalDof () const |
| size_type | nLocalDofWithoutGhost () const |
| size_type | nLocalDofWithGhost () const |
| size_type | nMyDof () const |
| size_type | nDofOnProcessor (const size_type proc) const |
| size_type | nProcessors () const |
| size_type | firstDof () const |
| size_type | firstDof (const size_type proc) const |
| size_type | firstDofGlobalCluster () const |
| size_type | firstDofGlobalCluster (uint16_type proc) const |
| size_type | lastDof () const |
| size_type | lastDof (const unsigned int proc) const |
| size_type | lastDofGlobalCluster () const |
| size_type | lastDofGlobalCluster (uint16_type proc) const |
| uint16_type | procOnGlobalCluster (size_type globDof) const |
| bool | dofGlobalClusterIsOnProc (size_type globDof) const |
| bool | dofGlobalClusterIsOnProc (size_type globDof, int proc) const |
| size_type | lid (size_type GID) const |
| Returns local ID of global ID, return invalid_size_type_value if not found on this processor. | |
| size_type | gid (size_type LID) const |
| Returns global ID of local ID, return -1 if not found on this processor. | |
| bool | myGID (size_type GID) const |
| Returns true if the GID passed in belongs to the calling processor in this map, otherwise returns false. | |
| bool | myLID (size_type LID) const |
| Returns true if the LID passed in belongs to the calling processor in this map, otherwise returns false. | |
| size_type | minAllGID () const |
| Returns the minimum global ID across the entire map. | |
| size_type | maxAllGID () const |
| Returns the maximum global ID across the entire map. | |
| size_type | minMyGID () const |
| Returns the maximum global ID owned by this processor. | |
| size_type | maxMyGID () const |
| Returns the maximum global ID owned by this processor. | |
| size_type | minLID () const |
| The minimum local index value on the calling processor. | |
| size_type | maxLID () const |
| The maximum local index value on the calling processor. | |
| size_type | nGlobalElements () const |
| number of elements across all processors. | |
| size_type | nMyElements () const |
| number of elements on the calling processor. | |
| std::vector< size_type > const & | myGlobalElements () const |
| Puts list of global elements on this processor size_typeo the user-provided array. | |
| std::vector< size_type > const & | mapGlobalProcessToGlobalCluster () const |
| std::vector< size_type > const & | mapGlobalClusterToGlobalProcess () const |
| size_type | mapGlobalProcessToGlobalCluster (size_type i) const |
| size_type | mapGlobalClusterToGlobalProcess (size_type i) const |
| void | setNDof (size_type ndof) |
| void | setNLocalDofWithoutGhost (const size_type proc, const size_type n, bool inWorld=true) |
| void | setNLocalDofWithGhost (const size_type proc, const size_type n, bool inWorld=true) |
| void | setFirstDof (const size_type proc, const size_type df, bool inWorld=true) |
| void | setLastDof (const size_type proc, const size_type df, bool inWorld=true) |
| void | setFirstDofGlobalCluster (const size_type proc, const size_type df, bool inWorld=true) |
| void | setLastDofGlobalCluster (const size_type proc, const size_type df, bool inWorld=true) |
| void | setMapGlobalProcessToGlobalCluster (std::vector< size_type > const &map) |
| void | setMapGlobalClusterToGlobalProcess (std::vector< size_type > const &map) |
| void | setMapGlobalProcessToGlobalCluster (size_type i, size_type j) |
| void | setMapGlobalClusterToGlobalProcess (size_type i, size_type j) |
| void | resizeMapGlobalProcessToGlobalCluster (size_type n) |
| void | resizeMapGlobalClusterToGlobalProcess (size_type n) |
| void | updateDataInWorld () |
| bool | closed () const |
| void | showMeMapGlobalProcessToGlobalCluster (std::ostream &__out=std::cout) const |
| WorldComm const & | worldComm () const |
| WorldComm const & | comm () const |
Methods | |
| void | close () const |
Protected Attributes | |
| bool | M_closed |
| size_type | _M_n_dofs |
| std::vector< size_type > | _M_n_localWithoutGhost_df |
| std::vector< size_type > | _M_n_localWithGhost_df |
| std::vector< size_type > | _M_first_df |
| std::vector< size_type > | _M_last_df |
| std::vector< size_type > | _M_first_df_globalcluster |
| std::vector< size_type > | _M_last_df_globalcluster |
| std::vector< size_type > | M_myglobalelements |
| std::vector< size_type > | M_mapGlobalProcessToGlobalCluster |
| std::vector< size_type > | M_mapGlobalClusterToGlobalProcess |
| WorldComm | M_worldComm |
data layout in a multi-processor environnement
| Feel::DataMap::DataMap | ( | size_type | n, |
| size_type | n_local, | ||
| WorldComm const & | _worldComm = WorldComm() |
||
| ) |
| n | total size of the vector |
| n_local | local size of the vector on the curent processor |
References _M_first_df, _M_first_df_globalcluster, _M_last_df, _M_last_df_globalcluster, _M_n_dofs, _M_n_localWithGhost_df, _M_n_localWithoutGhost_df, Feel::invalid_size_type_value, M_mapGlobalClusterToGlobalProcess, M_mapGlobalProcessToGlobalCluster, and worldComm().
| Feel::DataMap::DataMap | ( | size_type | n, |
| std::vector< int > const & | firstdof, | ||
| std::vector< int > const & | lastdof | ||
| ) |
| n | total size of the vector |
| firstdof | array of size n_processors containing the first index on each processor |
| lastdof | array of size n_processors containing the last index on each processor |
| bool Feel::DataMap::closed | ( | ) | const [inline] |
Referenced by myGlobalElements().
| size_type Feel::DataMap::firstDof | ( | ) | const [inline] |
References _M_first_df, and M_worldComm.
Referenced by gid(), lid(), maxLID(), minAllGID(), and minMyGID().
| size_type Feel::DataMap::firstDof | ( | const size_type | proc | ) | const [inline] |
proc. References _M_first_df.
| size_type Feel::DataMap::lastDof | ( | ) | const [inline] |
Returns the last dof index that is in local subdomain
References _M_last_df, and M_worldComm.
Referenced by gid(), lid(), maxAllGID(), maxLID(), and maxMyGID().
| size_type Feel::DataMap::lastDof | ( | const unsigned int | proc | ) | const [inline] |
Returns the last dof index that is local to subdomain proc.
References _M_last_df.
| size_type Feel::DataMap::lastDofGlobalCluster | ( | ) | const [inline] |
Returns the last dof index that is in local subdomain
References _M_last_df_globalcluster, and M_worldComm.
| size_type Feel::DataMap::nDof | ( | ) | const [inline] |
References _M_n_dofs.
Referenced by Feel::BackendPetsc< T >::newMatrix(), and Feel::Vector< T >::size().
| size_type Feel::DataMap::nDofOnProcessor | ( | const size_type | proc | ) | const [inline] |
proc. References _M_first_df, and _M_n_localWithoutGhost_df.
Referenced by nMyDof().
| size_type Feel::DataMap::nLocalDof | ( | ) | const [inline] |
References nLocalDofWithGhost().
Referenced by nMyElements().
| size_type Feel::DataMap::nLocalDofWithGhost | ( | ) | const [inline] |
References _M_n_localWithGhost_df, and worldComm().
Referenced by Feel::Vector< T >::localSize(), nLocalDof(), and Feel::VectorPetscMPI< T >::VectorPetscMPI().
| size_type Feel::DataMap::nLocalDofWithoutGhost | ( | ) | const [inline] |
References _M_n_localWithoutGhost_df, and worldComm().
Referenced by Feel::BackendPetsc< T >::newMatrix().
| size_type Feel::DataMap::nMyDof | ( | ) | const [inline] |
References M_worldComm, and nDofOnProcessor().
| WorldComm const& Feel::DataMap::worldComm | ( | ) | const [inline] |
References M_worldComm.
Referenced by DataMap(), Feel::BackendPetsc< T >::newMatrix(), nLocalDofWithGhost(), and nLocalDofWithoutGhost().
std::vector<size_type> Feel::DataMap::_M_first_df [protected] |
First DOF index on processor p.
Referenced by DataMap(), firstDof(), and nDofOnProcessor().
std::vector<size_type> Feel::DataMap::_M_first_df_globalcluster [protected] |
First globalcluster DOF index on processor p.
Referenced by DataMap().
std::vector<size_type> Feel::DataMap::_M_last_df [protected] |
std::vector<size_type> Feel::DataMap::_M_last_df_globalcluster [protected] |
Last globalcluster DOF index on processor p.
Referenced by DataMap(), and lastDofGlobalCluster().
size_type Feel::DataMap::_M_n_dofs [protected] |
Total number of degrees of freedom.
Referenced by DataMap(), nDof(), and nGlobalElements().
std::vector<size_type> Feel::DataMap::_M_n_localWithGhost_df [protected] |
Number of degrees of freedom for each processor with ghosts.
Referenced by DataMap(), and nLocalDofWithGhost().
std::vector<size_type> Feel::DataMap::_M_n_localWithoutGhost_df [protected] |
Number of degrees of freedom for each processor without ghosts.
Referenced by DataMap(), nDofOnProcessor(), and nLocalDofWithoutGhost().
std::vector<size_type> Feel::DataMap::M_mapGlobalClusterToGlobalProcess [protected] |
Map between Global Cluster To Global Process.
Referenced by DataMap().
std::vector<size_type> Feel::DataMap::M_mapGlobalProcessToGlobalCluster [protected] |
Map between Global Process To Global Cluster.
Referenced by DataMap().
WorldComm Feel::DataMap::M_worldComm [protected] |
Communicator
Referenced by firstDof(), gid(), lastDof(), lastDofGlobalCluster(), lid(), maxAllGID(), maxLID(), maxMyGID(), minMyGID(), nMyDof(), and worldComm().
1.7.6.1