![]() |
ATLAS Offline Software
|
Actual Athena inteface for the IGPUKernelSizeOptimizer.
More...
#include <IGPUKernelSizeOptimizerSvc.h>
Public Types | |
| enum | SpecialSizeHints { CooperativeLaunch = -1 } |
Public Member Functions | |
| DeclareInterfaceID (IGPUKernelSizeOptimizerSvc, 1, 0) | |
| virtual | ~IGPUKernelSizeOptimizerSvc ()=default |
| virtual void | register_kernel (const std::string &kernel_name, void *kernel, const int blocksize_hint, const int gridsize_hint, const int max_total_threads) |
| Register a kernel with a specific name. | |
| virtual void | register_kernels (const std::string &tool_name, const int number, void **kernels, const int *blocksize_hints, const int *gridsize_hints, const int *max_total_threads, const int offset=0)=0 |
| Register a set of kernels that can be referred back to with a name and a number. | |
| virtual CUDAKernelLaunchConfiguration | get_launch_configuration (const std::string &name, const int number=0, const int dynamic_memory=0) const =0 |
| Retrieve the (hopefully optimal) kernel launch configuration. | |
| virtual bool | can_use_cooperative_groups () const =0 |
| Whether the device + environment in use support cooperative groups. | |
| virtual bool | can_use_dynamic_parallelism () const =0 |
| Whether the device + environment in use support dynamic parallelism. | |
| virtual bool | use_minimal_kernel_sizes () const |
| Whether to avoid oversizing kernels and instead (if possible) launch kernels with the exact number of threads... | |
Actual Athena inteface for the IGPUKernelSizeOptimizer.
Definition at line 20 of file IGPUKernelSizeOptimizerSvc.h.
|
inherited |
| Enumerator | |
|---|---|
| CooperativeLaunch | |
Definition at line 32 of file IGPUKernelSizeOptimizer.h.
|
virtualdefault |
|
pure virtualinherited |
Whether the device + environment in use support cooperative groups.
|
pure virtualinherited |
Whether the device + environment in use support dynamic parallelism.
| IGPUKernelSizeOptimizerSvc::DeclareInterfaceID | ( | IGPUKernelSizeOptimizerSvc | , |
| 1 | , | ||
| 0 | ) |
|
pure virtualinherited |
Retrieve the (hopefully optimal) kernel launch configuration.
|
inlinevirtualinherited |
Register a kernel with a specific name.
Definition at line 39 of file IGPUKernelSizeOptimizer.h.
|
pure virtualinherited |
Register a set of kernels that can be referred back to with a name and a number.
Uses C-style arrays for more immediate CUDA compatibility, assumes the size of kernels, blocksize_hints and gridsize_hints is number, and starts the numbering with an optional offset.
|
inlinevirtualinherited |
Whether to avoid oversizing kernels and instead (if possible) launch kernels with the exact number of threads...
Definition at line 74 of file IGPUKernelSizeOptimizer.h.