cuda.core.Kernel#

class cuda.core.Kernel(*args, **kwargs)#

Represent a compiled kernel that had been loaded onto the device.

Kernel instances can execution when passed directly into the launch() function.

Directly creating a Kernel is not supported, and they should instead be created through a ObjectCode object.

Methods

__init__()#
static from_handle(
handle: int,
mod: ObjectCode = None,
) Kernel#

Creates a new Kernel object from a foreign kernel handle.

Uses a CUfunction or CUkernel pointer address to create a new Kernel object.

Parameters:
  • handle (int) – Kernel handle representing the address of a foreign kernel object (CUfunction or CUkernel).

  • mod (ObjectCode, optional) – The ObjectCode object associated with this kernel. If not provided, a placeholder ObjectCode will be created. Note that without a proper ObjectCode, certain operations may be limited.

Attributes

property arguments_info: list[ParamInfo]#

(offset, size) for each argument of this function

Type:

list[ParamInfo]

property attributes: KernelAttributes#

Get the read-only attributes of this kernel.

property num_arguments: int#

The number of arguments of this function

Type:

int

property occupancy: KernelOccupancy#

Get the occupancy information for launching this kernel.