DkmGPUComputeKernel Class

Definition

DkmGPUComputeKernel represents a GPU compute kernel running in the target process.

public ref class DkmGPUComputeKernel : Microsoft::VisualStudio::Debugger::DkmDataContainer
[System.Runtime.InteropServices.Guid("944cc867-86e7-9c78-724c-d929d98ce82d")]
public class DkmGPUComputeKernel : Microsoft.VisualStudio.Debugger.DkmDataContainer
[<System.Runtime.InteropServices.Guid("944cc867-86e7-9c78-724c-d929d98ce82d")>]
type DkmGPUComputeKernel = class
    inherit DkmDataContainer
Public Class DkmGPUComputeKernel
Inherits DkmDataContainer
Inheritance
DkmGPUComputeKernel
Inheritance
DkmGPUComputeKernel
Attributes

Properties

Connection

This represents a connection between the monitor and the IDE. It can either be a local connection if the monitor is running in the same process as the IDE, or it can be a remote connection. In the monitor process, there is only one connection.

DispatchId

The GPU dispatch id for this kernel object.

GPUDevice

The GPU device this compute kernel runs on.

GPUShader

A compute kernel is a running instance of this GPU shader.

GPUShaderDispatch

The handle of the executing GPU shader corresponding to this compute kernel.

GroupDimensions

Thread group dimensions in a compute kernel.

IsUnloaded

Returns true if a 'unloaded' event has been raised for this object (example: DkmThread::Unload is called) or if the object has been closed. Note that care must be used when checking this status as, without synchronization, the returned status may no longer be accurate the instruction after it is read.

(Inherited from DkmDataContainer)
NumberOfGroups

Number of thread groups in a compute kernel.

NumberOfThreads

Number of compute threads in a thread group of compute kernel.

Process

DkmProcess represents a target process which is being debugged. The debugger debugs processes, so this is the basic unit of debugging. A DkmProcess can represent a system process or a virtual process such as minidumps.

ThreadDimensions

Thread dimensions in a compute kernel.

UniqueId

Guid which uniquely identifies this compute kernel object.

Methods

Create(Int32, Int64, Int64, Int64, ReadOnlyCollection<UInt32>, Int64, ReadOnlyCollection<UInt32>, Int32, DkmProcess, DkmDataItem)

DkmGPUComputeKernel is called by a debug monitor to create a new DkmGPUComputeKernel instance. DkmGPUComputeKernel objects for GPU compute kernels are created by the base debug monitor.

Location constraint: API must be called from a Monitor component (component level < 100,000).

FindComputeThread(Int64)

Find a DkmGPUComputeThread element within this DkmGPUComputeKernel. If no element with the given input key is present, FindComputeThread will fail.

GetActiveThreadGroups(Int64[], Int32)

Obtain the active thread groups from the compute kernel.

GetComputeKernelName()

Get the name of compute kernel.

GetComputeKernelProperties(DkmComputeProperty[], Int32)

Get properties of the compute kernel.

GetComputeVectorWidth(Int32)

Obtain the warp size of the hardware or emulator.

GetCurrentGroupDimensions(Int32[], Int32)

Get the dimension of the thread block.

GetCurrentThreadDimensions(Int32[], Int32)

Get the dimension of the thread block.

GetDataItem<T>()

Gets the instance of 'T' which has been added to this container instance. If this container does not contain a 'T', this function will return null.

(Inherited from DkmDataContainer)
GetFlatComputeKernelDimensions(Int32[], Int32[], Int32, DkmComputeKernelModel)

Get the dimension of the thread block.

GetStoppedThreads()

Get all threads that hit breakpoint.

GetThreadFromId(UInt64, DkmGPUComputeThread)

Gets the DkmGPUComputeThread object for a given thread ID.

GroupBy(DkmQueryComputeThreadInfoFlags, ReadOnlyCollection<UInt64>, DkmWhereClause)

Runs the group by query on thread info objects.

RemoveDataItem<T>()

Remove the instance of 'T' from this container. It is usually unnecessary to call this method as a data container will automatically be emptied when the object is closed.

(Inherited from DkmDataContainer)
Select(ReadOnlyCollection<UInt64>, DkmWhereClause)

Runs the select query on thread info objects.

SetDataItem<T>(DkmDataCreationDisposition, T)

Place a new item in the data container.

(Inherited from DkmDataContainer)
Unload(Int32)

ComputeKernelExit is sent by the dispatcher when DkmGPUComputeKernel::Unload is invoked by the monitor.

This method may only be called by the component which created the object.

UpdateFlaggedState(DkmWhereClause, Boolean)

Update flagged state of compute threads.

UpdateFrozenState(DkmWhereClause, Boolean)

Update frozen state of compute threads.

Applies to