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,
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.

See also

cudlaExternalMemoryHandleDesc_t

class cuda.bindings.cudla.ExternalSemaphoreHandleDesc#

Empty-initialize an instance of cudlaExternalSemaphoreHandleDesc_t.

See also

cudlaExternalSemaphoreHandleDesc_t

class cuda.bindings.cudla.ModuleTensorDescriptor#

Empty-initialize an instance of cudlaModuleTensorDescriptor.

See also

cudlaModuleTensorDescriptor

class cuda.bindings.cudla.Fence#

Empty-initialize an instance of CudlaFence.

See also

CudlaFence

class cuda.bindings.cudla.DevAttribute#

Empty-initialize an instance of cudlaDevAttribute.

See also

cudlaDevAttribute

class cuda.bindings.cudla.ModuleAttribute#

Empty-initialize an instance of cudlaModuleAttribute.

See also

cudlaModuleAttribute

class cuda.bindings.cudla.WaitEvents#

Empty-initialize an instance of cudlaWaitEvents.

See also

cudlaWaitEvents

class cuda.bindings.cudla.SignalEvents#

Empty-initialize an instance of cudlaSignalEvents.

See also

cudlaSignalEvents

class cuda.bindings.cudla.Task#

Empty-initialize an instance of cudlaTask.

See also

cudlaTask

Enums#

class cuda.bindings.cudla.Status(value: int)#

See cudlaStatus.

Success = <Status.SUCCESS: 0>#
class cuda.bindings.cudla.Mode(value: int)#

See cudlaMode.

CUDA_DLA = <Mode.CUDA_DLA: 0>#
STANDALONE = <Mode.STANDALONE: 1>#
class cuda.bindings.cudla.ModuleAttributeType(value: int)#

See cudlaModuleAttributeType.

class cuda.bindings.cudla.FenceType(value: int)#

See cudlaFenceType.

class cuda.bindings.cudla.ModuleLoadFlags(value: int)#

See cudlaModuleLoadFlags.

class cuda.bindings.cudla.SubmissionFlags(value: int)#

See cudlaSubmissionFlags.

class cuda.bindings.cudla.AccessPermissionFlags(value: int)#

See cudlaAccessPermissionFlags.

class cuda.bindings.cudla.DevAttributeType(value: int)#

See cudlaDevAttributeType.