InputArrayContainer

class cubie.batchsolving.arrays.BatchInputArrays.InputArrayContainer(initial_values: ManagedArray = NOTHING, parameters: ManagedArray = NOTHING, driver_coefficients: ManagedArray = NOTHING)[source]

Bases: ArrayContainer

Container for batch input arrays used by solver kernels.

classmethod device_factory() InputArrayContainer[source]

Create a container configured for device memory transfers.

Returns:

Device-side container instance.

Return type:

InputArrayContainer

driver_coefficients: ManagedArray
classmethod host_factory(memory_type: str = 'pinned') InputArrayContainer[source]

Create a container configured for host memory transfers.

Parameters:

memory_type – Memory type for host arrays: “pinned” or “host”. Default is “pinned” for non-chunked operation.

Returns:

Host-side container instance.

Return type:

InputArrayContainer

Notes

Uses pinned (page-locked) memory to enable asynchronous host-to-device transfers with CUDA streams. Using "host" memory type instead would result in pageable memory that blocks async transfers due to required intermediate buffering.

initial_values: ManagedArray
parameters: ManagedArray