2#ifndef STORMM_KERNEL_MANAGER_H
3#define STORMM_KERNEL_MANAGER_H
9# include <cuda_runtime.h>
13#include "DataTypes/stormm_vector_types.h"
14#include "gpu_details.h"
20using data_types::int2;
24const char generic_kernel_manager_name[] =
"KernelManager";
52 KernelFormat(
int lb_max_threads_per_block,
int lb_min_blocks_per_smp,
int register_usage_in,
53 int shared_usage_in,
int block_subdivision,
const GpuDetails &gpu,
54 const std::string &kernel_name_in = std::string(
""));
56 KernelFormat(
int lb_max_threads_per_block,
int lb_min_blocks_per_smp,
int register_usage_in,
58 const std::string &kernel_name_in = std::string(
""));
61# ifdef STORMM_USE_CUDA
62 KernelFormat(
const cudaFuncAttributes &attr,
int lb_min_blocks_per_smp,
int block_subdivision,
63 const GpuDetails &gpu,
const std::string &kernel_name_in = std::string(
""));
99 std::string kernel_name;
116 const char* true_class_name = generic_kernel_manager_name)
const;
Pertinent aspects of one particular GPU. Condensing the data for each GPU in this manner helps to ens...
Definition gpu_details.h:27
virtual ~KernelManager()
A virtual destructor ensures proper behavior in the destructors of derived classes for managing parti...
Definition kernel_format.cpp:94
const GpuDetails & getGpu() const
Get the GPU information for the active GPU.
Definition kernel_format.cpp:98
KernelManager(const GpuDetails &gpu_in=null_gpu)
The constructor for this base class takes the GPU specifications.
Definition kernel_format.cpp:89
void printLaunchParameters(const std::string &k_key=std::string(""), const char *true_class_name=generic_kernel_manager_name) const
Print out the kernel launch parameters found for this workload.
Definition kernel_format.cpp:103
GpuDetails gpu
The details of the GPU in use are simply copied into this object.
Definition kernel_format.h:128
std::map< std::string, KernelFormat > k_dictionary
Definition kernel_format.h:132
Definition stormm_vector_types.h:22