KonaMemory : abstract vector-memory manager¶
-
class
kona.linalg.memory.
KonaMemory
(solver)[source]¶ Bases:
object
All-knowing Big Brother abstraction layer for Kona.
Parameters: solver (UserSolver) – A user-defined solver object that implements specific elementary tasks.
Variables: - solver (UserSolver) – A user-defined solver object that implements specific elementary tasks.
- primal_factory (VectorFactory) – Vector generator for primal space.
- state_factory (VectorFactory) – Vector generator for state space.
- dual_factory (VectorFactory) – Vector generatorfor dual space.
- precond_count (int) – Counter for tracking optimization cost.
- vector_stack (dict) – Memory stack for unused vector data.
- rank (int) – Processor rank.
-
allocate_memory
()[source]¶ Absolute final stage of memory allocation.
Once the number of required vectors are tallied up inside vector factories, this function will manipulate the user-defined solver object to allocate all actual, real memory required for the optimization.
-
pop_vector
(vec_type)[source]¶ Take an unused user vector object out of the memory stack and serve it to the vector factory.
Parameters: vec_type (KonaVector) – Vector type to be popped from the stack. Returns: User-defined vector data structure. Return type: BaseVector
-
push_vector
(vec_type, user_data)[source]¶ Pushes an unused user vector data container into the memory stack so it can be used later in a new vector.
Parameters: - vec_type (KonaVector) – Vector type of the memory stack.
- user_data (BaseVector) – Unused user vector data container.