File decomposition_plan.hpp
This file contains the class used to encapsulate the paritioning logic. It will find a reasonable partitioning scheme based on some job dependent conditions (number of nodes, number of frames and atoms..)
- Author
Benjamin Lindner ben@benlabs.net
- Version
See VERSION in CMakeLists.txt
- Copyright
GNU General Public License
-
class DecompositionParameters
- #include <decomposition_plan.hpp>
Encapsulates a valid decomposition for a 2D partitioning of a NQ x NAF problem onto NN nodes with NP partitions and NNpP nodes per partition. Computes various derived properties upon construction.
Public Functions
-
DecompositionParameters(size_t nn, size_t nq, size_t naf, size_t np, size_t elbytesize)
-
size_t penalty()
-
double penalty_percent()
-
size_t PID(size_t rank)
-
inline size_t get_NN()
-
inline size_t get_NQ()
-
inline size_t get_NAF()
-
inline size_t get_NP()
-
inline size_t get_NQcycles()
-
inline size_t get_NAFcycles()
-
inline size_t get_NNpP()
-
inline size_t nbytesize()
-
DecompositionParameters(size_t nn, size_t nq, size_t naf, size_t np, size_t elbytesize)
-
class DecompositionPlan
- #include <decomposition_plan.hpp>
Searches for a valid decomposition for a 2D partitioning of a NQ x NAF problem onto NN nodes with NP partitions and NNpP nodes per partition.
Public Functions
-
DecompositionPlan(size_t nn, size_t nq, size_t naf, size_t elbytesize, size_t nmaxbytesize)
-
~DecompositionPlan()
-
double static_imbalance()
-
size_t penalty()
-
size_t partitions()
-
size_t partitionsize()
-
size_t nbytesize()
Private Members
-
DecompositionParameters *p_dp_best
-
DecompositionPlan(size_t nn, size_t nq, size_t naf, size_t elbytesize, size_t nmaxbytesize)