OutputArrayContainer
- class cubie.batchsolving.arrays.BatchOutputArrays.OutputArrayContainer(state: ManagedArray = NOTHING, observables: ManagedArray = NOTHING, state_summaries: ManagedArray = NOTHING, observable_summaries: ManagedArray = NOTHING, status_codes: ManagedArray = NOTHING, iteration_counters: ManagedArray = NOTHING)[source]
Bases:
ArrayContainerContainer for batch output arrays.
- classmethod device_factory() OutputArrayContainer[source]
Create a new device memory container.
- Returns:
A new container configured for device memory.
- Return type:
- classmethod host_factory(memory_type: str = 'pinned') OutputArrayContainer[source]
Create a new host memory container.
- Parameters:
memory_type – Memory type for host arrays: “pinned” or “host”. Default is “pinned” for non-chunked operation.
- Returns:
A new container configured for the specified memory type.
- Return type:
Notes
Uses pinned (page-locked) memory to enable asynchronous device-to-host transfers with CUDA streams. Using
"host"memory type instead would result in pageable memory that blocks async transfers due to required intermediate buffering.
- iteration_counters: ManagedArray
- observable_summaries: ManagedArray
- observables: ManagedArray
- state: ManagedArray
- state_summaries: ManagedArray
- status_codes: ManagedArray