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.

open_file(filename)[source]
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.