1
0
mirror of https://github.com/fumiama/gozel.git synced 2026-06-05 00:10:24 +08:00
Files
gozel/sysm_scheduler.go
2026-03-24 00:49:26 +08:00

402 lines
20 KiB
Go

// Code generated by cmd/gen. DO NOT EDIT.
/*
*
* Copyright (C) 2019-2025 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
* @file zes_api.h
* @version v1.15-r1.15.31
*
*/
package gozel
import (
"unsafe"
"github.com/fumiama/gozel/internal/zecall"
)
// ZesSchedMode (zes_sched_mode_t) Scheduler mode
type ZesSchedMode uintptr
const (
ZES_SCHED_MODE_TIMEOUT ZesSchedMode = 0 // ZES_SCHED_MODE_TIMEOUT Multiple applications or contexts are submitting work to the hardware.
///< When higher priority work arrives, the scheduler attempts to pause the
///< current executing work within some timeout interval, then submits the
///< other work.
ZES_SCHED_MODE_TIMESLICE ZesSchedMode = 1 // ZES_SCHED_MODE_TIMESLICE The scheduler attempts to fairly timeslice hardware execution time
///< between multiple contexts submitting work to the hardware
///< concurrently.
ZES_SCHED_MODE_EXCLUSIVE ZesSchedMode = 2 // ZES_SCHED_MODE_EXCLUSIVE Any application or context can run indefinitely on the hardware
///< without being preempted or terminated. All pending work for other
///< contexts must wait until the running context completes with no further
///< submitted work.
ZES_SCHED_MODE_COMPUTE_UNIT_DEBUG ZesSchedMode = 3 // ZES_SCHED_MODE_COMPUTE_UNIT_DEBUG [DEPRECATED] No longer supported.
ZES_SCHED_MODE_FORCE_UINT32 ZesSchedMode = 0x7fffffff // ZES_SCHED_MODE_FORCE_UINT32 Value marking end of ZES_SCHED_MODE_* ENUMs
)
// ZesSchedProperties (zes_sched_properties_t) Properties related to scheduler component
type ZesSchedProperties struct {
Stype ZesStructureType // Stype [in] type of this structure
Pnext unsafe.Pointer // Pnext [in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
Onsubdevice ZeBool // Onsubdevice [out] True if this resource is located on a sub-device; false means that the resource is on the device of the calling Sysman handle
Subdeviceid uint32 // Subdeviceid [out] If onSubdevice is true, this gives the ID of the sub-device
Cancontrol ZeBool // Cancontrol [out] Software can change the scheduler component configuration assuming the user has permissions.
Engines ZesEngineTypeFlags // Engines [out] Bitfield of accelerator engine types that are managed by this scheduler component. Note that there can be more than one scheduler component for the same type of accelerator engine.
Supportedmodes uint32 // Supportedmodes [out] Bitfield of scheduler modes that can be configured for this scheduler component (bitfield of 1<<::zes_sched_mode_t).
}
// ZES_SCHED_WATCHDOG_DISABLE Disable forward progress guard timeout.
const ZES_SCHED_WATCHDOG_DISABLE = ((^uint64(0)))
// ZesSchedTimeoutProperties (zes_sched_timeout_properties_t) Configuration for timeout scheduler mode (::ZES_SCHED_MODE_TIMEOUT)
type ZesSchedTimeoutProperties struct {
Stype ZesStructureType // Stype [in] type of this structure
Pnext unsafe.Pointer // Pnext [in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
Watchdogtimeout uint64 // Watchdogtimeout [in,out] The maximum time in microseconds that the scheduler will wait for a batch of work submitted to a hardware engine to complete or to be preempted so as to run another context. If this time is exceeded, the hardware engine is reset and the context terminated. If set to ::ZES_SCHED_WATCHDOG_DISABLE, a running workload can run as long as it wants without being terminated, but preemption attempts to run other contexts are permitted but not enforced.
}
// ZesSchedTimesliceProperties (zes_sched_timeslice_properties_t) Configuration for timeslice scheduler mode
/// (::ZES_SCHED_MODE_TIMESLICE)
type ZesSchedTimesliceProperties struct {
Stype ZesStructureType // Stype [in] type of this structure
Pnext unsafe.Pointer // Pnext [in,out][optional] must be null or a pointer to an extension-specific structure (i.e. contains stype and pNext).
Interval uint64 // Interval [in,out] The average interval in microseconds that a submission for a context will run on a hardware engine before being preempted out to run a pending submission for another context.
Yieldtimeout uint64 // Yieldtimeout [in,out] The maximum time in microseconds that the scheduler will wait to preempt a workload running on an engine before deciding to reset the hardware engine and terminating the associated context.
}
// ZesDeviceEnumSchedulers Returns handles to scheduler components.
///
/// @details
/// - Each scheduler component manages the distribution of work across one
/// or more accelerator engines.
/// - If an application wishes to change the scheduler behavior for all
/// accelerator engines of a specific type (e.g. compute), it should
/// select all the handles where the `engines` member
/// ::zes_sched_properties_t contains that type.
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hDevice`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pCount`
func ZesDeviceEnumSchedulers(
hDevice ZesDeviceHandle, // hDevice [in] Sysman handle of the device.
pCount *uint32, // pCount [in,out] pointer to the number of components of this type. if count is zero, then the driver shall update the value with the total number of components of this type that are available. if count is greater than the number of components of this type that are available, then the driver shall update the value with the correct number of components.
phScheduler *ZesSchedHandle, // phScheduler [in,out][optional][range(0, *pCount)] array of handle of components of this type. if count is less than the number of components of this type that are available, then the driver shall only retrieve that number of component handles.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesDeviceEnumSchedulers", uintptr(hDevice), uintptr(unsafe.Pointer(pCount)), uintptr(unsafe.Pointer(phScheduler)))
}
// ZesSchedulerGetProperties Get properties related to a scheduler component
///
/// @details
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hScheduler`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pProperties`
func ZesSchedulerGetProperties(
hScheduler ZesSchedHandle, // hScheduler [in] Handle for the component.
pProperties *ZesSchedProperties, // pProperties [in,out] Structure that will contain property data.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesSchedulerGetProperties", uintptr(hScheduler), uintptr(unsafe.Pointer(pProperties)))
}
// ZesSchedulerGetCurrentMode Get current scheduling mode in effect on a scheduler component.
///
/// @details
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hScheduler`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pMode`
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// + This scheduler component does not support scheduler modes.
func ZesSchedulerGetCurrentMode(
hScheduler ZesSchedHandle, // hScheduler [in] Sysman handle for the component.
pMode *ZesSchedMode, // pMode [in,out] Will contain the current scheduler mode.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesSchedulerGetCurrentMode", uintptr(hScheduler), uintptr(unsafe.Pointer(pMode)))
}
// ZesSchedulerGetTimeoutModeProperties Get scheduler config for mode ::ZES_SCHED_MODE_TIMEOUT
///
/// @details
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hScheduler`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pConfig`
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// + This scheduler component does not support scheduler modes.
func ZesSchedulerGetTimeoutModeProperties(
hScheduler ZesSchedHandle, // hScheduler [in] Sysman handle for the component.
getDefaults ZeBool, // getDefaults [in] If TRUE, the driver will return the system default properties for this mode, otherwise it will return the current properties.
pConfig *ZesSchedTimeoutProperties, // pConfig [in,out] Will contain the current parameters for this mode.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesSchedulerGetTimeoutModeProperties", uintptr(hScheduler), uintptr(getDefaults), uintptr(unsafe.Pointer(pConfig)))
}
// ZesSchedulerGetTimesliceModeProperties Get scheduler config for mode ::ZES_SCHED_MODE_TIMESLICE
///
/// @details
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hScheduler`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pConfig`
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// + This scheduler component does not support scheduler modes.
func ZesSchedulerGetTimesliceModeProperties(
hScheduler ZesSchedHandle, // hScheduler [in] Sysman handle for the component.
getDefaults ZeBool, // getDefaults [in] If TRUE, the driver will return the system default properties for this mode, otherwise it will return the current properties.
pConfig *ZesSchedTimesliceProperties, // pConfig [in,out] Will contain the current parameters for this mode.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesSchedulerGetTimesliceModeProperties", uintptr(hScheduler), uintptr(getDefaults), uintptr(unsafe.Pointer(pConfig)))
}
// ZesSchedulerSetTimeoutMode Change scheduler mode to ::ZES_SCHED_MODE_TIMEOUT or update scheduler
/// mode parameters if already running in this mode.
///
/// @details
/// - This mode is optimized for multiple applications or contexts
/// submitting work to the hardware. When higher priority work arrives,
/// the scheduler attempts to pause the current executing work within some
/// timeout interval, then submits the other work.
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hScheduler`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pProperties`
/// + `nullptr == pNeedReload`
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// + This scheduler component does not support scheduler modes.
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// + User does not have permissions to make this modification.
func ZesSchedulerSetTimeoutMode(
hScheduler ZesSchedHandle, // hScheduler [in] Sysman handle for the component.
pProperties *ZesSchedTimeoutProperties, // pProperties [in] The properties to use when configurating this mode.
pNeedReload *ZeBool, // pNeedReload [in,out] Will be set to TRUE if a device driver reload is needed to apply the new scheduler mode.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesSchedulerSetTimeoutMode", uintptr(hScheduler), uintptr(unsafe.Pointer(pProperties)), uintptr(unsafe.Pointer(pNeedReload)))
}
// ZesSchedulerSetTimesliceMode Change scheduler mode to ::ZES_SCHED_MODE_TIMESLICE or update
/// scheduler mode parameters if already running in this mode.
///
/// @details
/// - This mode is optimized to provide fair sharing of hardware execution
/// time between multiple contexts submitting work to the hardware
/// concurrently.
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hScheduler`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pProperties`
/// + `nullptr == pNeedReload`
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// + This scheduler component does not support scheduler modes.
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// + User does not have permissions to make this modification.
func ZesSchedulerSetTimesliceMode(
hScheduler ZesSchedHandle, // hScheduler [in] Sysman handle for the component.
pProperties *ZesSchedTimesliceProperties, // pProperties [in] The properties to use when configurating this mode.
pNeedReload *ZeBool, // pNeedReload [in,out] Will be set to TRUE if a device driver reload is needed to apply the new scheduler mode.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesSchedulerSetTimesliceMode", uintptr(hScheduler), uintptr(unsafe.Pointer(pProperties)), uintptr(unsafe.Pointer(pNeedReload)))
}
// ZesSchedulerSetExclusiveMode Change scheduler mode to ::ZES_SCHED_MODE_EXCLUSIVE
///
/// @details
/// - This mode is optimized for single application/context use-cases. It
/// permits a context to run indefinitely on the hardware without being
/// preempted or terminated. All pending work for other contexts must wait
/// until the running context completes with no further submitted work.
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hScheduler`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pNeedReload`
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// + This scheduler component does not support scheduler modes.
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// + User does not have permissions to make this modification.
func ZesSchedulerSetExclusiveMode(
hScheduler ZesSchedHandle, // hScheduler [in] Sysman handle for the component.
pNeedReload *ZeBool, // pNeedReload [in,out] Will be set to TRUE if a device driver reload is needed to apply the new scheduler mode.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesSchedulerSetExclusiveMode", uintptr(hScheduler), uintptr(unsafe.Pointer(pNeedReload)))
}
// ZesSchedulerSetComputeUnitDebugMode Change scheduler mode to ::ZES_SCHED_MODE_COMPUTE_UNIT_DEBUG
///
/// @details
/// - This is a special mode that must ben enabled when debugging an
/// application that uses this device e.g. using the Level0 Debug API.
/// - It ensures that only one command queue can execute work on the
/// hardware at a given time. Work is permitted to run as long as needed
/// without enforcing any scheduler fairness policies.
/// - The application may call this function from simultaneous threads.
/// - The implementation of this function should be lock-free.
/// - [DEPRECATED] No longer supported.
///
/// @returns
/// - ::ZE_RESULT_SUCCESS
/// - ::ZE_RESULT_ERROR_UNINITIALIZED
/// - ::ZE_RESULT_ERROR_DEVICE_LOST
/// - ::ZE_RESULT_ERROR_OUT_OF_HOST_MEMORY
/// - ::ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY
/// - ::ZE_RESULT_ERROR_INVALID_ARGUMENT
/// - ::ZE_RESULT_ERROR_DEPENDENCY_UNAVAILABLE
/// - ::ZE_RESULT_ERROR_NOT_AVAILABLE
/// - ::ZE_RESULT_ERROR_DEVICE_REQUIRES_RESET
/// - ::ZE_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE
/// - ::ZE_RESULT_ERROR_UNKNOWN
/// - ::ZE_RESULT_ERROR_INVALID_NULL_HANDLE
/// + `nullptr == hScheduler`
/// - ::ZE_RESULT_ERROR_INVALID_NULL_POINTER
/// + `nullptr == pNeedReload`
/// - ::ZE_RESULT_ERROR_UNSUPPORTED_FEATURE
/// + This scheduler component does not support scheduler modes.
/// - ::ZE_RESULT_ERROR_INSUFFICIENT_PERMISSIONS
/// + User does not have permissions to make this modification.
func ZesSchedulerSetComputeUnitDebugMode(
hScheduler ZesSchedHandle, // hScheduler [in] Sysman handle for the component.
pNeedReload *ZeBool, // pNeedReload [in,out] Will be set to TRUE if a device driver reload is needed to apply the new scheduler mode.
) (ZeResult, error) {
return zecall.Call[ZeResult]("zesSchedulerSetComputeUnitDebugMode", uintptr(hScheduler), uintptr(unsafe.Pointer(pNeedReload)))
}