cudla#

Note#

The cuDLA bindings require a Jetson platform with DLA hardware (Xavier or Orin). cuDLA is not available on desktop GPUs.

Functions#

cuDLA defines the following functions for DLA device management and inference.

cuda.bindings.cudla.get_version() uint64_t#
cuda.bindings.cudla.device_get_count() uint64_t#
cuda.bindings.cudla.create_device(uint64_t device, uint32_t flags) intptr_t#
cuda.bindings.cudla.destroy_device(intptr_t dev_handle)#
cuda.bindings.cudla.mem_register(
intptr_t dev_handle,
intptr_t ptr,
size_t size,
uint32_t flags,
) intptr_t#
cuda.bindings.cudla.mem_unregister(intptr_t dev_handle, intptr_t dev_ptr)#
cuda.bindings.cudla.module_load_from_memory(
intptr_t dev_handle,
p_module,
size_t module_size,
uint32_t flags,
) intptr_t#
cuda.bindings.cudla.module_get_attributes(intptr_t h_module, int attr_type)#
Query module attributes, interpreting the cudlaModuleAttribute union
based on the requested attribute type.

For count attributes (NUM_INPUT_TENSORS, NUM_OUTPUT_TENSORS,
NUM_OUTPUT_TASK_STATISTICS), returns an int.

For descriptor attributes (INPUT_TENSOR_DESCRIPTORS,
OUTPUT_TENSOR_DESCRIPTORS, OUTPUT_TASK_STATISTICS_DESCRIPTORS),
returns a list of ModuleTensorDescriptor objects.
cuda.bindings.cudla.module_unload(intptr_t h_module, uint32_t flags)#
cuda.bindings.cudla.submit_task(
intptr_t dev_handle,
intptr_t ptr_to_tasks,
uint32_t num_tasks,
intptr_t stream,
uint32_t flags,
)#
cuda.bindings.cudla.device_get_attribute(intptr_t dev_handle, int attrib)#
cuda.bindings.cudla.get_last_error(intptr_t dev_handle) int#
cuda.bindings.cudla.set_task_timeout_in_ms(intptr_t dev_handle, uint32_t timeout)#

Types#

class cuda.bindings.cudla.ExternalMemoryHandleDesc#
Empty-initialize an instance of `cudlaExternalMemoryHandleDesc_t`.


.. seealso:: `cudlaExternalMemoryHandleDesc_t`
class cuda.bindings.cudla.ExternalSemaphoreHandleDesc#
Empty-initialize an instance of `cudlaExternalSemaphoreHandleDesc_t`.


.. seealso:: `cudlaExternalSemaphoreHandleDesc_t`
class cuda.bindings.cudla.ModuleTensorDescriptor#
Empty-initialize an instance of `cudlaModuleTensorDescriptor`.


.. seealso:: `cudlaModuleTensorDescriptor`
class cuda.bindings.cudla.Fence#
Empty-initialize an instance of `CudlaFence`.


.. seealso:: `CudlaFence`
class cuda.bindings.cudla.DevAttribute#
Empty-initialize an instance of `cudlaDevAttribute`.


.. seealso:: `cudlaDevAttribute`
class cuda.bindings.cudla.ModuleAttribute#
Empty-initialize an instance of `cudlaModuleAttribute`.


.. seealso:: `cudlaModuleAttribute`
class cuda.bindings.cudla.WaitEvents#
Empty-initialize an instance of `cudlaWaitEvents`.


.. seealso:: `cudlaWaitEvents`
class cuda.bindings.cudla.SignalEvents#
Empty-initialize an instance of `cudlaSignalEvents`.


.. seealso:: `cudlaSignalEvents`
class cuda.bindings.cudla.Task#
Empty-initialize an instance of `cudlaTask`.


.. seealso:: `cudlaTask`

Enums#

class cuda.bindings.cudla.Status(
value,
names=<not given>,
*values,
module=None,
qualname=None,
type=None,
start=1,
boundary=None,
)#
See `cudlaStatus`.
class cuda.bindings.cudla.Mode(
value,
names=<not given>,
*values,
module=None,
qualname=None,
type=None,
start=1,
boundary=None,
)#
See `cudlaMode`.
CUDA_DLA = 0#
STANDALONE = 1#
class cuda.bindings.cudla.ModuleAttributeType(
value,
names=<not given>,
*values,
module=None,
qualname=None,
type=None,
start=1,
boundary=None,
)#
See `cudlaModuleAttributeType`.
class cuda.bindings.cudla.FenceType(
value,
names=<not given>,
*values,
module=None,
qualname=None,
type=None,
start=1,
boundary=None,
)#
See `cudlaFenceType`.
class cuda.bindings.cudla.ModuleLoadFlags(
value,
names=<not given>,
*values,
module=None,
qualname=None,
type=None,
start=1,
boundary=None,
)#
See `cudlaModuleLoadFlags`.
class cuda.bindings.cudla.SubmissionFlags(
value,
names=<not given>,
*values,
module=None,
qualname=None,
type=None,
start=1,
boundary=None,
)#
See `cudlaSubmissionFlags`.
class cuda.bindings.cudla.AccessPermissionFlags(
value,
names=<not given>,
*values,
module=None,
qualname=None,
type=None,
start=1,
boundary=None,
)#
See `cudlaAccessPermissionFlags`.
class cuda.bindings.cudla.DevAttributeType(
value,
names=<not given>,
*values,
module=None,
qualname=None,
type=None,
start=1,
boundary=None,
)#
See `cudlaDevAttributeType`.