WisdomSettings

struct WisdomSettings

Describes how to load the configuration for a WisdomKernel. The most important method is load_config which loads a configuration for a kernel.

Public Functions

inline Config load_config(const std::string &tuning_key, const ConfigSpace &space, ProblemSize problem_size, CudaDevice device, int *capture_skip_out = nullptr) const

Load the configuration for the given parameters.

Parameters:
  • tuning_key – The tuning key of the kernel instance.

  • space – The configuration space of the kernel instance.

  • problem_size – The current problem size.

  • device – The current device.

  • capture_skip_out – Optional, indicates if the kernel should be captured. If negative, the kernel will not be captured. Otherwise, the kernel will be captured after the capture_skip_out kernel launches.

inline void capture_kernel(const std::string &tuning_key, const KernelBuilder &builder, ProblemSize problem_size, const std::vector<KernelArg> &arguments, const std::vector<std::vector<uint8_t>> &input_arrays, const std::vector<std::vector<uint8_t>> &output_arrays) const

Called to export a captured kernel launch to a file.

Parameters:
  • tuning_key – The tuning key of the kernel instance.

  • builder – The builder of the kernel instance.

  • problem_size – The current problem size.

  • arguments – The kernel arguments.

  • input_arrays – The input arrays associated with the arguments.

  • output_arrays – The output arrays associated with the arguments.