Classes | |
| class | BufferOutputDescriptor |
| class | ComputationResult |
| class | ComputeApiInitializer |
| class | ComputeInterface |
| class | ConfigurationCount |
| class | ConfigurationDuration |
| class | ConfigurationFraction |
| class | DeterministicSearcher |
| class | DeviceInfo |
| class | DimensionVector |
| struct | DurationMeasurementResult |
| struct | EnableBitfieldOperators< ValidationMode > |
| class | FailureCount |
| class | FailureFraction |
| struct | KernelCompilationData |
| class | KernelConfiguration |
| class | KernelProfilingCounter |
| class | KernelProfilingData |
| class | KernelResult |
| class | KttException |
| class | McmcSearcher |
| class | ParameterPair |
| class | PlatformInfo |
| struct | PreciseMeasurementParameters |
| class | RandomSearcher |
| class | Searcher |
| class | StopCondition |
| class | Tuner |
| class | TuningDuration |
| class | UnionCondition |
Typedefs | |
| using | PlatformIndex = uint32_t |
| using | DeviceIndex = uint32_t |
| using | QueueId = uint32_t |
| using | KernelDefinitionId = uint64_t |
| using | KernelId = uint64_t |
| using | ArgumentId = std::string |
| using | ParameterValue = std::variant< int64_t, uint64_t, double, bool, std::string > |
| using | KernelDimensions = std::map< KernelDefinitionId, std::pair< DimensionVector, DimensionVector > > |
| using | ParameterInput = std::vector< std::pair< std::string, ParameterValue > > |
| using | UserData = std::map< std::string, std::string > |
| using | Nanoseconds = uint64_t |
| using | KernelComputeId = std::string |
| using | ComputeActionId = uint64_t |
| using | TransferActionId = uint64_t |
| using | ModifierFunction = std::function< uint64_t(const uint64_t, const std::vector< uint64_t > &)> |
| using | ConstraintFunction = std::function< bool(const std::vector< uint64_t > &)> |
| using | GenericConstraintFunction = std::function< bool(const std::vector< const ParameterValue * > &)> |
| using | KernelLauncher = std::function< void(ComputeInterface &)> |
| using | ReferenceComputation = std::function< void(void *)> |
| using | ValueComparator = std::function< bool(const void *, const void *)> |
| using | UnifiedBufferMemory = void * |
| using | ComputeContext = void * |
| using | ComputeQueue = void * |
| using | ComputeBuffer = void * |
Functions | |
| uint32_t | GetKttVersion () |
| std::string | GetKttVersionString () |
Variables | |
| const QueueId | InvalidQueueId = std::numeric_limits<QueueId>::max() |
| const KernelDefinitionId | InvalidKernelDefinitionId = std::numeric_limits<KernelDefinitionId>::max() |
| const KernelId | InvalidKernelId = std::numeric_limits<KernelId>::max() |
| const ArgumentId | InvalidArgumentId = ArgumentId() |
| const Nanoseconds | InvalidDuration = std::numeric_limits<Nanoseconds>::max() |
All classes, methods and type aliases related to KTT framework are located inside ktt namespace.
Data type for referencing kernel arguments in KTT.
Data type for referencing kernel compute actions in KTT.
Data type for providing custom compute device buffers.
Data type for providing custom compute device context.
Data type for providing custom compute device queues.
Definition of a kernel constraint function. This is an older version of constraint function which supports only unsigned integer parameters.
Data type for referencing devices in KTT.
Definition of a kernel constraint function. This is a newer version of constraint function which supports parameters with different data types.
Data type for referencing unique kernel configurations in compute engine.
Data type for referencing kernel definitions in KTT.
Global and local size for each kernel definition can be specified during kernel tuning and running.
Data type for referencing kernels in KTT.
Definition of kernel launch function.
Definition of kernel thread modifier function.
Data type for storing elapsed times in KTT.
Data type used for creating and retrieving specific kernel configurations from KTT.
Data type for referencing parameter values in KTT.
Data type for referencing platforms in KTT.
Data type for referencing compute API queues in KTT.
Function for computing reference kernel argument output. Used during validation.
Data type for referencing buffer transfer actions in KTT.
Data type for accessing unified memory buffers in KTT.
Custom user data which can be saved or loaded together with tuning results.
Custom comparison function for kernel argument values. Used during validation.
|
strong |
Enum for access type of kernel arguments. Specifies whether argument is used for input or output by compute API kernel functions.
|
strong |
Enum for data type of kernel arguments. Specifies the data type of elements inside single kernel argument.
|
strong |
Enum for management type of kernel arguments. Specifies who is responsible for managing vector kernel arguments.
| Enumerator | |
|---|---|
| Framework | Vector kernel arguments are managed automatically by the framework. |
| User | Vector kernel arguments are managed by user. This means that user is responsible for uploading and downloading argument data into compute API buffers at the right time. This can be achieved by utilizing ComputeInterface methods such as UploadBuffer() and DownloadBuffer(). |
|
strong |
Enum for memory location of vector kernel arguments. Specifies the memory from which the argument data will be accessed by compute API functions and kernels.
|
strong |
Enum for memory type of kernel arguments. Specifies which compute API function should be used internally by KTT framework to make the argument accessible to kernel functions.
| Enumerator | |
|---|---|
| Scalar | Argument is a scalar. Scalar arguments are made visible to kernels as a local copy. |
| Vector | Argument is a vector. Vector arguments are made visible to kernels through compute API buffers. See ArgumentMemoryLocation for more information. |
| Local | Argument will be located in local memory. Kernel arguments cannot be directly transferred into local memory from host memory. Assigning local memory argument to kernel from KTT API simply means that the compute API will allocate enough local memory to hold number of elements specified by the argument. The memory then needs to be filled with data on kernel side. |
| Symbol | Argument corresponds to the CUDA symbol which resides in global or constant device memory and matches the argument's name. In Vulkan and OpenCL, symbol arguments are treated in the same way as scalars. |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Enum for format of global thread size. Specifies the format of global thread size specified by user during kernel addition.
|
strong |
|
strong |
Enum for verbosity level of KTT logger. Higher logging levels also include logging of information from lower levels.
|
strong |
Enum for modifier action for kernel parameters which modify thread size.
|
strong |
Enum for modifier dimension for kernel parameters. Dimensions are utilized during specification of parameters which modify kernel thread sizes.
| Enumerator | |
|---|---|
| X | Kernel parameter will modify thread size in dimension X. |
| Y | Kernel parameter will modify thread size in dimension Y. |
| Z | Kernel parameter will modify thread size in dimension Z. |
|
strong |
|
strong |
|
strong |
Enum for value type for kernel parameters.
|
strong |
Enum which specifies data type of a profiling counter.
|
strong |
Enum which describes status of a kernel result.
|
strong |
|
strong |
Enum for validation method used during validation of floating-point output arguments.
|
strong |
Enum for enabling kernel output validation in different scenarios.
| uint32_t ktt::GetKttVersion | ( | ) |
Returns the current KTT framework version in integer format.
| std::string ktt::GetKttVersionString | ( | ) |
Returns the current KTT framework version in string format.
|
inline |
Argument id returned by argument addition methods in case of an error.
|
inline |
Invalid duration used during initialization and in case of an error.
|
inline |
Kernel definition id returned by kernel definition addition methods in case of an error.
Kernel id returned by kernel addition methods in case of an error.