IOSS 2.0
|
#include <Ioss_Decomposition.h>
Public Member Functions | |
Decomposition (const Ioss::PropertyManager &props, Ioss_MPI_Comm comm) | |
Decomposition (Decomposition const &)=default | |
Decomposition (Decomposition &&)=default | |
Decomposition & | operator= (Decomposition const &)=default |
Decomposition & | operator= (Decomposition &&)=default |
IOSS_NODISCARD size_t | global_node_count () const |
IOSS_NODISCARD size_t | global_elem_count () const |
IOSS_NODISCARD size_t | ioss_node_count () const |
IOSS_NODISCARD size_t | ioss_elem_count () const |
IOSS_NODISCARD size_t | file_node_count () const |
IOSS_NODISCARD size_t | file_elem_count () const |
IOSS_NODISCARD size_t | file_node_offset () const |
IOSS_NODISCARD size_t | file_elem_offset () const |
IOSS_NODISCARD bool | needs_centroids () const |
void | generate_entity_distributions (size_t global_node_count, size_t global_element_count) |
IOSS_NODISCARD bool | i_own_node (size_t global_index) const |
IOSS_NODISCARD bool | i_own_elem (size_t global_index) const |
IOSS_NODISCARD size_t | node_global_to_local (size_t global_index) const |
IOSS_NODISCARD size_t | elem_global_to_local (size_t global_index) const |
void | show_progress (const std::string &message) const |
void | release_memory () |
void | decompose_model (Zoltan &zz, std::vector< BlockDecompositionData > &element_blocks) |
void | simple_decompose () |
void | simple_node_decompose () |
void | guided_decompose () |
void | line_decompose () |
void | calculate_element_centroids (const std::vector< double > &x, const std::vector< double > &y, const std::vector< double > &z) |
void | zoltan_decompose (Zoltan &zz) |
void | get_local_element_list (const ZOLTAN_ID_PTR &export_global_ids, size_t export_count) |
void | metis_decompose (idx_t *pointer, idx_t *adjacency, std::vector< BlockDecompositionData > &el_blocks) |
void | internal_metis_decompose (std::vector< BlockDecompositionData > &el_blocks, idx_t *element_dist, idx_t *pointer, idx_t *adjacency, idx_t *elem_partition) |
void | get_node_entity_proc_data (INT *entity_proc, const Ioss::MapContainer &node_map, bool do_map) const |
void | get_element_block_communication (std::vector< BlockDecompositionData > &el_blocks) |
void | build_global_to_local_elem_map () |
void | get_local_node_list () |
void | get_shared_node_list () |
template<typename T > | |
void | communicate_element_data (T *file_data, T *ioss_data, size_t comp_count) const |
template<typename T > | |
void | communicate_set_data (T *file_data, T *ioss_data, const SetDecompositionData &set, size_t comp_count) const |
template<typename T , typename U > | |
void | communicate_block_data (T *file_data, U *ioss_data, const BlockDecompositionData &block, size_t comp_count) const |
template<typename T , typename U > | |
IOSS_NODISCARD std::vector< size_t > | do_communicate_entity_data (T *file_data, U *ioss_data, const std::vector< BlockDecompositionData > &blocks, const std::vector< int64_t > &blockSubsetIndex, const std::vector< size_t > &fileOffset, const std::vector< int > &blockComponentCount) const |
template<typename T , typename U > | |
IOSS_NODISCARD std::vector< size_t > | communicate_entity_data (T *file_data, U *ioss_data, const std::vector< BlockDecompositionData > &blocks, const std::vector< int64_t > &blockSubsetIndex, const std::vector< size_t > &fileOffset, const std::vector< int > &blockComponentCount) const |
template<typename T > | |
void | communicate_node_data (T *file_data, T *ioss_data, size_t comp_count) const |
Public Attributes | |
Ioss_MPI_Comm | m_comm |
Ioss::ParallelUtils | m_pu |
int | m_processor {} |
int | m_processorCount {} |
std::string | m_method {} |
std::string | m_decompExtra {} |
int | m_spatialDimension {3} |
int | m_commonNodeCount {0} |
size_t | m_globalElementCount {0} |
size_t | m_elementCount {0} |
size_t | m_elementOffset {0} |
size_t | m_importPreLocalElemIndex {0} |
size_t | m_globalNodeCount {0} |
size_t | m_nodeCount {0} |
size_t | m_nodeOffset {0} |
size_t | m_importPreLocalNodeIndex {0} |
bool | m_retainFreeNodes {true} |
bool | m_lineDecomp {false} |
bool | m_showProgress {false} |
bool | m_showHWM {false} |
std::vector< int > | m_elementToProc |
std::vector< double > | m_centroids |
std::vector< float > | m_weights |
std::vector< INT > | m_pointer |
std::vector< INT > | m_adjacency |
std::vector< INT > | m_nodeCommMap |
std::vector< size_t > | m_fileBlockIndex |
Private Attributes | |
std::vector< INT > | localElementMap |
std::vector< INT > | importElementMap |
std::vector< INT > | importElementCount |
std::vector< INT > | importElementIndex |
std::vector< INT > | exportElementMap |
std::vector< INT > | exportElementCount |
std::vector< INT > | exportElementIndex |
std::vector< INT > | nodeIndex |
std::vector< INT > | exportNodeMap |
std::vector< INT > | exportNodeCount |
std::vector< INT > | exportNodeIndex |
std::vector< INT > | importNodeMap |
std::vector< INT > | importNodeCount |
std::vector< INT > | importNodeIndex |
std::vector< INT > | localNodeMap |
std::vector< INT > | m_elementDist |
std::vector< INT > | m_nodeDist |
std::vector< INT > | nodeGTL |
std::vector< std::pair< INT, INT > > | elemGTL |
Ioss::Decomposition< INT >::Decomposition | ( | const Ioss::PropertyManager & | props, |
Ioss_MPI_Comm | comm ) |
|
default |
|
default |
void Ioss::Decomposition< INT >::build_global_to_local_elem_map | ( | ) |
void Ioss::Decomposition< INT >::calculate_element_centroids | ( | const std::vector< double > & | x, |
const std::vector< double > & | y, | ||
const std::vector< double > & | z ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void Ioss::Decomposition< INT >::decompose_model | ( | Zoltan & | zz, |
std::vector< BlockDecompositionData > & | element_blocks ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void Ioss::Decomposition< INT >::generate_entity_distributions | ( | size_t | global_node_count, |
size_t | global_element_count ) |
void Ioss::Decomposition< INT >::get_element_block_communication | ( | std::vector< BlockDecompositionData > & | el_blocks | ) |
void Ioss::Decomposition< INT >::get_local_element_list | ( | const ZOLTAN_ID_PTR & | export_global_ids, |
size_t | export_count ) |
void Ioss::Decomposition< INT >::get_local_node_list | ( | ) |
|
inline |
void Ioss::Decomposition< INT >::get_shared_node_list | ( | ) |
|
inline |
|
inline |
void Ioss::Decomposition< INT >::guided_decompose | ( | ) |
|
inline |
|
inline |
void Ioss::Decomposition< INT >::internal_metis_decompose | ( | std::vector< BlockDecompositionData > & | el_blocks, |
idx_t * | element_dist, | ||
idx_t * | pointer, | ||
idx_t * | adjacency, | ||
idx_t * | elem_partition ) |
|
inline |
|
inline |
void Ioss::Decomposition< INT >::line_decompose | ( | ) |
void Ioss::Decomposition< INT >::metis_decompose | ( | idx_t * | pointer, |
idx_t * | adjacency, | ||
std::vector< BlockDecompositionData > & | el_blocks ) |
|
inline |
|
inline |
|
default |
|
default |
void Ioss::Decomposition< INT >::release_memory | ( | ) |
|
inline |
void Ioss::Decomposition< INT >::simple_decompose | ( | ) |
void Ioss::Decomposition< INT >::simple_node_decompose | ( | ) |
void Ioss::Decomposition< INT >::zoltan_decompose | ( | Zoltan & | zz | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
std::vector<INT> Ioss::Decomposition< INT >::m_adjacency |
std::vector<double> Ioss::Decomposition< INT >::m_centroids |
Ioss_MPI_Comm Ioss::Decomposition< INT >::m_comm |
int Ioss::Decomposition< INT >::m_commonNodeCount {0} |
std::string Ioss::Decomposition< INT >::m_decompExtra {} |
size_t Ioss::Decomposition< INT >::m_elementCount {0} |
|
private |
size_t Ioss::Decomposition< INT >::m_elementOffset {0} |
std::vector<int> Ioss::Decomposition< INT >::m_elementToProc |
std::vector<size_t> Ioss::Decomposition< INT >::m_fileBlockIndex |
size_t Ioss::Decomposition< INT >::m_globalElementCount {0} |
size_t Ioss::Decomposition< INT >::m_globalNodeCount {0} |
size_t Ioss::Decomposition< INT >::m_importPreLocalElemIndex {0} |
size_t Ioss::Decomposition< INT >::m_importPreLocalNodeIndex {0} |
bool Ioss::Decomposition< INT >::m_lineDecomp {false} |
std::string Ioss::Decomposition< INT >::m_method {} |
std::vector<INT> Ioss::Decomposition< INT >::m_nodeCommMap |
size_t Ioss::Decomposition< INT >::m_nodeCount {0} |
|
private |
size_t Ioss::Decomposition< INT >::m_nodeOffset {0} |
std::vector<INT> Ioss::Decomposition< INT >::m_pointer |
int Ioss::Decomposition< INT >::m_processor {} |
int Ioss::Decomposition< INT >::m_processorCount {} |
Ioss::ParallelUtils Ioss::Decomposition< INT >::m_pu |
bool Ioss::Decomposition< INT >::m_retainFreeNodes {true} |
bool Ioss::Decomposition< INT >::m_showHWM {false} |
bool Ioss::Decomposition< INT >::m_showProgress {false} |
int Ioss::Decomposition< INT >::m_spatialDimension {3} |
std::vector<float> Ioss::Decomposition< INT >::m_weights |
|
private |
|
private |