Actual Athena inteface for the IGPUKernelSizeOptimizer
.
More...
#include <IGPUKernelSizeOptimizerSvc.h>
|
| 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. More...
|
|
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. More...
|
|
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. More...
|
|
virtual bool | can_use_cooperative_groups () const =0 |
| Whether the device + environment in use support cooperative groups. More...
|
|
virtual bool | can_use_dynamic_parallelism () const =0 |
| Whether the device + environment in use support dynamic parallelism. More...
|
|
virtual bool | use_minimal_kernel_sizes () const |
| Whether to avoid oversizing kernels and instead (if possible) launch kernels with the exact number of threads... More...
|
|
◆ SpecialSizeHints
◆ ~IGPUKernelSizeOptimizerSvc()
virtual IGPUKernelSizeOptimizerSvc::~IGPUKernelSizeOptimizerSvc |
( |
| ) |
|
|
virtualdefault |
◆ can_use_cooperative_groups()
virtual bool IGPUKernelSizeOptimizer::can_use_cooperative_groups |
( |
| ) |
const |
|
pure virtualinherited |
Whether the device + environment in use support cooperative groups.
◆ can_use_dynamic_parallelism()
virtual bool IGPUKernelSizeOptimizer::can_use_dynamic_parallelism |
( |
| ) |
const |
|
pure virtualinherited |
Whether the device + environment in use support dynamic parallelism.
◆ DeclareInterfaceID()
◆ get_launch_configuration()
Retrieve the (hopefully optimal) kernel launch configuration.
◆ register_kernel()
virtual void IGPUKernelSizeOptimizer::register_kernel |
( |
const std::string & |
kernel_name, |
|
|
void * |
kernel, |
|
|
const int |
blocksize_hint, |
|
|
const int |
gridsize_hint, |
|
|
const int |
max_total_threads |
|
) |
| |
|
inlinevirtualinherited |
◆ register_kernels()
virtual void IGPUKernelSizeOptimizer::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 |
|
) |
| |
|
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
.
◆ use_minimal_kernel_sizes()
virtual bool IGPUKernelSizeOptimizer::use_minimal_kernel_sizes |
( |
| ) |
const |
|
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.
The documentation for this class was generated from the following file:
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.