|
GTPin
|
Interface that controls kernel execution, from submission to completion. More...
#include <igt_kernel.h>
Public Member Functions | |
| virtual const IGtKernel & | Kernel () const =0 |
| Get IGtKernel object associated with this kernel instance. | |
| virtual GtKernelExecStage | ExecStage () const =0 |
| Get the current execution stage of this kernel instance. | |
| bool | IsCompleted () const |
| Check to see whether this kernel instance has already finished execution. | |
| virtual IGtProfileBuffer * | CreateProfileBuffer ()=0 |
| Create the profile data storage for this kernel instance, or return pointer to existing, earlier created buffer. | |
| virtual IGtProfileBuffer * | GetProfileBuffer ()=0 |
| Get profile buffer associated with this kernel instance. | |
| virtual IGtMemoryMapper & | MemoryMapper ()=0 |
| Get IGtMemoryMapper object associated with this kernel instance. | |
| virtual void | GetExecDescriptor (GtKernelExecDesc &execDesc) const =0 |
| Get execution descriptor associated with this kernel instance. | |
| virtual void | SetProfilingMode (bool enabled)=0 |
| Configure GTPin/driver to run either instrumented or original version of the kernel function. | |
| virtual bool | IsProfilingEnabled () const =0 |
| Check to see whether this kernel instance runs instrumented code. | |
| virtual uint64_t | DispatchId () const =0 |
| virtual bool | ReportFinalDispatchStage ()=0 |
| Request GTPin to invoke the IGtTool::OnKernelRun callback one more time, as close as possible to the actual execution of the kernel in GPU. | |
| virtual ConstByteSpan | GetPayloadArgumentValue (uint32_t argIndex) const =0 |
| Get value of the specified payload argument in this kernel dispatch. | |
| virtual GtMemoryBufferConstSpan | GetAllocatedBuffers () const =0 |
| virtual uint32_t | ScratchSpaceSize () const =0 |
| virtual uint32_t | SlmSize () const =0 |
Interface that controls kernel execution, from submission to completion.
Application can submit (dispatch) the same kernel multiple times, and each such dispatch can be configured to run either instrumented or original version of the kernel function. The IGtKernelDispatch interface provides such functionality.
Additionally, the tool, that chooses the instrumented version of the kernel, can use this interface to allocate and assign the profile buffer for the kernel instance being submitted.
| virtual IGtProfileBuffer* gtpin::IGtKernelDispatch::CreateProfileBuffer | ( | ) | [pure virtual] |
Create the profile data storage for this kernel instance, or return pointer to existing, earlier created buffer.
| virtual uint64_t gtpin::IGtKernelDispatch::DispatchId | ( | ) | const [pure virtual] |
| virtual GtKernelExecStage gtpin::IGtKernelDispatch::ExecStage | ( | ) | const [pure virtual] |
Get the current execution stage of this kernel instance.
| virtual GtMemoryBufferConstSpan gtpin::IGtKernelDispatch::GetAllocatedBuffers | ( | ) | const [pure virtual] |
| virtual void gtpin::IGtKernelDispatch::GetExecDescriptor | ( | GtKernelExecDesc & | execDesc | ) | const [pure virtual] |
Get execution descriptor associated with this kernel instance.
| [out] | execDesc | Structure that receives execution descriptor |
| virtual ConstByteSpan gtpin::IGtKernelDispatch::GetPayloadArgumentValue | ( | uint32_t | argIndex | ) | const [pure virtual] |
Get value of the specified payload argument in this kernel dispatch.
| [in] | argIndex | Index of an explicit argument in the kernel payload. This must be a valid GtKernelArgument::index value of an argument descriptor, from the Kernel().PayloadArguments() sequence. The valid value of this parameter is less than Kernel().NumExplicitPayloadArguments(). |
| virtual IGtProfileBuffer* gtpin::IGtKernelDispatch::GetProfileBuffer | ( | ) | [pure virtual] |
Get profile buffer associated with this kernel instance.
| bool gtpin::IGtKernelDispatch::IsCompleted | ( | ) | const [inline] |
Check to see whether this kernel instance has already finished execution.
| virtual bool gtpin::IGtKernelDispatch::IsProfilingEnabled | ( | ) | const [pure virtual] |
Check to see whether this kernel instance runs instrumented code.
| virtual const IGtKernel& gtpin::IGtKernelDispatch::Kernel | ( | ) | const [pure virtual] |
Get IGtKernel object associated with this kernel instance.
| virtual IGtMemoryMapper& gtpin::IGtKernelDispatch::MemoryMapper | ( | ) | [pure virtual] |
Get IGtMemoryMapper object associated with this kernel instance.
| virtual bool gtpin::IGtKernelDispatch::ReportFinalDispatchStage | ( | ) | [pure virtual] |
Request GTPin to invoke the IGtTool::OnKernelRun callback one more time, as close as possible to the actual execution of the kernel in GPU.
On plaforms, where the kernel dispatch can be logically divided on stages, the tool may request additional IGtTool::OnKernelRun callback to be invoked on the FINAL_DISPATCH stage of the dispatch process. This additional callback can be helpful if kernel state changes during dispatch stages are important to the tool, e.g. if it uses the GetAllocatedBuffers function.
| virtual uint32_t gtpin::IGtKernelDispatch::ScratchSpaceSize | ( | ) | const [pure virtual] |
| virtual void gtpin::IGtKernelDispatch::SetProfilingMode | ( | bool | enabled | ) | [pure virtual] |
Configure GTPin/driver to run either instrumented or original version of the kernel function.
| [in] | enabled | true - run instrumented version; false - original |
| virtual uint32_t gtpin::IGtKernelDispatch::SlmSize | ( | ) | const [pure virtual] |
Copyright (C) 2013-2025 Intel Corporation
SPDX-License-Identifier: MIT
1.7.4