GTPin: gtpin::IGtKernel Class Reference

GTPin

- Main Page
- Related Pages
- Modules
- Data Structures

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions
gtpin::IGtKernel Class Reference
GTPin: Kernel

Basic properties of the GEN kernel as a compilation/instrumentation unit. More...

`#include <igt_kernel.h>`

## Public Member Functions
virtual GtKernelId | Id () const =0
virtual GtCoreString | Name () const =0
virtual GtCoreString | UniqueName () const =0
virtual GtKernelType | Type () const =0
virtual GtSimdWidth | SimdWidth () const =0
virtual GtGpuPlatform | GpuPlatform () const =0
virtual const IGtGenModel & | GenModel () const =0
virtual uint64_t | HashId () const =0
virtual uint64_t | BinarySignature () const =0
virtual GtBinaryFormat | BinaryFormat () const =0
virtual GtKernelBinary | Binary () const =0
virtual GtKernelElf | Elf () const =0
virtual bool | IsInstrumented () const =0
virtual GtMemoryAddrModel | ProfileBufferAddrModel () const =0
virtual uint32_t | GetInputPayloadSize () const =0
virtual bool | IsRayTracing () const =0
virtual bool | IsRayTracingPrimary () const =0
virtual GtKernelArgSpan | PayloadArguments () const =0
virtual uint32_t | NumExplicitPayloadArguments () const =0
| Get number of explicit arguments in the kernel payload.
virtual uint64_t | GetInstrumentedCodeBaseInGpu () const =0

## Detailed Description

Basic properties of the GEN kernel as a compilation/instrumentation unit.

Availability:
  - IGtTool::OnKernelBuild
  - IGtTool::OnKernelRun
  - IGtTool::OnKernelComplete

## Member Function Documentation

virtual GtKernelBinary gtpin::IGtKernel::Binary | ( |  | ) | const`[pure virtual]`

Returns:
  Binary code of the kernel

virtual GtBinaryFormat gtpin::IGtKernel::BinaryFormat | ( |  | ) | const`[pure virtual]`

Returns:
  Format of the module that contains the kernel

virtual uint64_t gtpin::IGtKernel::BinarySignature | ( |  | ) | const`[pure virtual]`

Returns:
  Hash value of the original kernel's binary code, as calculated by GTPin

virtual GtKernelElf gtpin::IGtKernel::Elf | ( |  | ) | const`[pure virtual]`

Returns:
  ELF image of the kernel

virtual const IGtGenModel& gtpin::IGtKernel::GenModel | ( |  | ) | const`[pure virtual]`

Returns:
  GEN model, the kernel is compiled for

virtual uint32_t gtpin::IGtKernel::GetInputPayloadSize | ( |  | ) | const`[pure virtual]`

Returns:
  Number of registers in the kernel's input payload
  Number of GRF registers used by the kernel

virtual uint64_t gtpin::IGtKernel::GetInstrumentedCodeBaseInGpu | ( |  | ) | const`[pure virtual]`

Returns:
  GPU address of the instrumented kernel code or uint64_t(-1) in the case the address is not known

virtual GtGpuPlatform gtpin::IGtKernel::GpuPlatform | ( |  | ) | const`[pure virtual]`

Returns:
  GPU platform the kernel is intended to run on

virtual uint64_t gtpin::IGtKernel::HashId | ( |  | ) | const`[pure virtual]`

Returns:
  Hash identifier of the kernel, as reported by IGC/driver

virtual GtKernelId gtpin::IGtKernel::Id | ( |  | ) | const`[pure virtual]`

Returns:
  Unique ID of the kernel

virtual bool gtpin::IGtKernel::IsInstrumented | ( |  | ) | const`[pure virtual]`

Returns:
  true, if instrumented version of the kernel function exists; false, otherwise

virtual bool gtpin::IGtKernel::IsRayTracing | ( |  | ) | const`[pure virtual]`

Returns:
  true, if the kernel is a Ray Tracing kernel; false, otherwise

virtual bool gtpin::IGtKernel::IsRayTracingPrimary | ( |  | ) | const`[pure virtual]`

Returns:
  true, if the kernel is the primary (not continuation) part of a Ray Tracing kernel; false, otherwise

virtual GtCoreString gtpin::IGtKernel::Name | ( |  | ) | const`[pure virtual]`

Returns:
  Name of the kernel function

virtual uint32_t gtpin::IGtKernel::NumExplicitPayloadArguments | ( |  | ) | const`[pure virtual]`

Get number of explicit arguments in the kernel payload.

Explicit argument is identified by its index, which uniquely references the argument value in GFX runtime APIs. The value of the explicit argument can be examined by the IGtKernelDispatch::GetPayloadArgumentValue function. Note, explicit argument can be referred by multiple GtKernelArgument descriptors that provide various information (metadata) pertaining to a single explicit argument.

Returns:
  Number of explicit arguments in the kernel payload

virtual GtKernelArgSpan gtpin::IGtKernel::PayloadArguments | ( |  | ) | const`[pure virtual]`

Returns:
  Sequence of the kernel payload argument descriptors. On some GPU platforms, the kernel payload is unknown to GTPin. In this case, the function returns an empty sequence, and the corresponding failure reason can be examined by the IGtCore::LastError() function.

virtual GtMemoryAddrModel gtpin::IGtKernel::ProfileBufferAddrModel | ( |  | ) | const`[pure virtual]`

Returns:
  Address model of profile buffer accesses

virtual GtSimdWidth gtpin::IGtKernel::SimdWidth | ( |  | ) | const`[pure virtual]`

Returns:
  SIMD width of the kernel

virtual GtKernelType gtpin::IGtKernel::Type | ( |  | ) | const`[pure virtual]`

Returns:
  Type of the kernel (shader)

virtual GtCoreString gtpin::IGtKernel::UniqueName | ( |  | ) | const`[pure virtual]`

Returns:
  Unique symbolic identifier of this kernel among all kernels in the current program

All Data Structures Functions Variables Typedefs Enumerations Enumerator

      Copyright (C) 2013-2025 Intel Corporation

      SPDX-License-Identifier: MIT