CUDNN API
8
|
Classes | |
class | BackendDescriptor |
class | ConvDesc_v8 |
class | ConvDescBuilder_v8 |
class | cudnnException |
class | Engine_v8 |
class | EngineBuilder_v8 |
class | EngineConfig_v8 |
class | EngineConfigBuilder_v8 |
class | EngineConfigGenerator |
class | EngineFallbackList_v8 |
class | EngineFallbackListBuilder_v8 |
class | EngineHeuristics_v8 |
class | EngineHeuristicsBuilder_v8 |
struct | executionOption |
class | ExecutionPlan_v8 |
class | ExecutionPlanBuilder_v8 |
class | OpaqueBackendPointer |
class | Operation_v8 |
class | OperationBuilder_v8 |
class | OperationGraph_v8 |
class | OperationGraphBuilder_v8 |
class | PointWiseDesc_v8 |
class | PointWiseDescBuilder_v8 |
class | Tensor_v8 |
class | TensorBuilder_v8 |
class | VariantPack_v8 |
class | VariantPackBuilder_v8 |
Functions | |
static ManagedOpaqueDescriptor | make_shared_backend_pointer (cudnnBackendDescriptorType_t type) |
auto | filter (Predicate pred, executionPlans_t &plans) -> executionPlans_t |
static auto | get_fallback_engine_list (cudnnBackendDescriptorType_t mode) -> std::vector< int > |
static void | filter (EngineConfigList &from, EngineConfigList &to, std::function< bool(cudnnBackendDescriptor_t)> filter_fn) |
template<cudnnBackendNumericalNote_t NUMERIC_NOTE> | |
bool | hasNumericalNote (cudnnBackendDescriptor_t engine_config) |
template<CudnnFindSamplingTechnique samplingTechnique> | |
auto | time_sorted_plan (cudnnHandle_t handle, executionPlans_t plans, VariantPack &variantPack) -> executionOptions_t |
static void | throw_if (std::function< bool()> expr, const char *message) |
static void | throw_if (bool expr, const char *message) |
static void | set_error_and_throw_exception (BackendDescriptor const *desc, cudnnStatus_t status, const char *message) |
using cudnn_frontend::ConvDesc = typedef ConvDesc_v8 |
Definition at line 41 of file cudnn_frontend.h.
using cudnn_frontend::ConvDescBuilder = typedef ConvDescBuilder_v8 |
Definition at line 42 of file cudnn_frontend.h.
using cudnn_frontend::Engine = typedef Engine_v8 |
Definition at line 52 of file cudnn_frontend.h.
using cudnn_frontend::EngineBuilder = typedef EngineBuilder_v8 |
Definition at line 51 of file cudnn_frontend.h.
using cudnn_frontend::EngineConfig = typedef EngineConfig_v8 |
Definition at line 53 of file cudnn_frontend.h.
using cudnn_frontend::EngineConfigBuilder = typedef EngineConfigBuilder_v8 |
Definition at line 54 of file cudnn_frontend.h.
using cudnn_frontend::EngineConfigList = typedef std::vector<ManagedOpaqueDescriptor> |
EngineConfigList class This is a RAII type class that holds naked EngineConfig backendDescriptor. The purpose of this class is to provide an easy interface to store the EngineConfigs generated from various source and apply a filter.
Definition at line 242 of file cudnn_frontend_EngineConfig.h.
using cudnn_frontend::EngineFallbackList = typedef EngineFallbackList_v8 |
Definition at line 59 of file cudnn_frontend.h.
Definition at line 60 of file cudnn_frontend.h.
using cudnn_frontend::EngineHeuristics = typedef EngineHeuristics_v8 |
Definition at line 50 of file cudnn_frontend.h.
using cudnn_frontend::EngineHeuristicsBuilder = typedef EngineHeuristicsBuilder_v8 |
Definition at line 49 of file cudnn_frontend.h.
using cudnn_frontend::executionOptions_t = typedef std::vector<struct executionOption> |
Variety of renames.
Definition at line 36 of file cudnn_frontend_EngineConfigGenerator.h.
using cudnn_frontend::ExecutionPlan = typedef ExecutionPlan_v8 |
Definition at line 55 of file cudnn_frontend.h.
using cudnn_frontend::ExecutionPlanBuilder = typedef ExecutionPlanBuilder_v8 |
Definition at line 56 of file cudnn_frontend.h.
using cudnn_frontend::executionPlans_t = typedef std::vector<cudnn_frontend::ExecutionPlan> |
Definition at line 37 of file cudnn_frontend_EngineConfigGenerator.h.
using cudnn_frontend::GeneratorSource = typedef std::function<cudnn_frontend::EngineConfigList(cudnn_frontend::OperationGraph &)> |
Definition at line 39 of file cudnn_frontend_EngineConfigGenerator.h.
using cudnn_frontend::ManagedOpaqueDescriptor = typedef std::shared_ptr<OpaqueBackendPointer> |
Definition at line 82 of file cudnn_backend_base.h.
using cudnn_frontend::Operation = typedef Operation_v8 |
Definition at line 45 of file cudnn_frontend.h.
using cudnn_frontend::OperationBuilder = typedef OperationBuilder_v8 |
Definition at line 46 of file cudnn_frontend.h.
using cudnn_frontend::OperationGraph = typedef OperationGraph_v8 |
Definition at line 47 of file cudnn_frontend.h.
using cudnn_frontend::OperationGraphBuilder = typedef OperationGraphBuilder_v8 |
Definition at line 48 of file cudnn_frontend.h.
using cudnn_frontend::PointWiseDesc = typedef PointWiseDesc_v8 |
Definition at line 44 of file cudnn_frontend.h.
using cudnn_frontend::PointWiseDescBuilder = typedef PointWiseDescBuilder_v8 |
Definition at line 43 of file cudnn_frontend.h.
using cudnn_frontend::Predicate = typedef std::function<bool(cudnn_frontend::ExecutionPlan const &plan)> |
Definition at line 38 of file cudnn_frontend_EngineConfigGenerator.h.
using cudnn_frontend::Tensor = typedef Tensor_v8 |
Definition at line 39 of file cudnn_frontend.h.
using cudnn_frontend::TensorBuilder = typedef TensorBuilder_v8 |
Definition at line 40 of file cudnn_frontend.h.
using cudnn_frontend::VariantPack = typedef VariantPack_v8 |
Definition at line 57 of file cudnn_frontend.h.
using cudnn_frontend::VariantPackBuilder = typedef VariantPackBuilder_v8 |
Definition at line 58 of file cudnn_frontend.h.
|
strong |
Definition at line 41 of file cudnn_frontend_EngineConfigGenerator.h.
|
static |
Definition at line 33 of file cudnn_frontend_Filters.h.
auto cudnn_frontend::filter | ( | Predicate | pred, |
executionPlans_t & | plans | ||
) | -> executionPlans_t |
Filter out the execution plan based on the prerequisite conditions. Goes through vector of execution plans and if the predicate returns not to block, it is inserted into the filtered plans.
Definition at line 94 of file cudnn_frontend_EngineConfigGenerator.h.
References cudnn_frontend::executionOption::plan.
Referenced by cudnn_frontend::EngineConfigGenerator::cudnnFindPlan(), and cudnn_frontend::EngineConfigGenerator::cudnnGetPlan().
|
static |
Definition at line 30 of file cudnn_frontend_EngineFallbackList.h.
Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build().
bool cudnn_frontend::hasNumericalNote | ( | cudnnBackendDescriptor_t | engine_config | ) |
Definition at line 45 of file cudnn_frontend_Filters.h.
References make_shared_backend_pointer().
|
static |
Definition at line 86 of file cudnn_backend_base.h.
Referenced by cudnn_frontend::ExecutionPlan_v8::computeTag(), cudnn_frontend::Engine_v8::Engine_v8(), cudnn_frontend::EngineConfig_v8::EngineConfig_v8(), cudnn_frontend::EngineHeuristics_v8::getEngineConfig(), hasNumericalNote(), and cudnn_frontend::BackendDescriptor::initialize_managed_backend_pointer().
|
inlinestatic |
Definition at line 60 of file cudnn_frontend_utils.h.
References cudnn_frontend::cudnnException::cudnnException(), cudnn_frontend::BackendDescriptor::set_error(), and cudnn_frontend::BackendDescriptor::set_status().
Referenced by cudnn_frontend::VariantPackBuilder_v8::build(), cudnn_frontend::EngineFallbackListBuilder_v8::build(), cudnn_frontend::OperationGraphBuilder_v8::build(), cudnn_frontend::PointWiseDescBuilder_v8::build(), cudnn_frontend::TensorBuilder_v8::build(), cudnn_frontend::EngineConfigBuilder_v8::build(), cudnn_frontend::EngineHeuristicsBuilder_v8::build(), cudnn_frontend::ConvDescBuilder_v8::build(), cudnn_frontend::ExecutionPlanBuilder_v8::build(), cudnn_frontend::OperationBuilder_v8::build(), cudnn_frontend::EngineBuilder_v8::build(), cudnn_frontend::Engine_v8::buildKnobs(), cudnn_frontend::ExecutionPlan_v8::computeTag(), cudnn_frontend::Engine_v8::Engine_v8(), cudnn_frontend::EngineConfig_v8::EngineConfig_v8(), cudnn_frontend::EngineHeuristics_v8::getEngineConfig(), cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount(), cudnn_frontend::OperationGraph_v8::getEngineCount(), cudnn_frontend::ExecutionPlan_v8::getWorkspaceSize(), cudnn_frontend::OperationBuilder_v8::setbDesc(), cudnn_frontend::OperationBuilder_v8::setcDesc(), cudnn_frontend::EngineConfigBuilder_v8::setEngine(), cudnn_frontend::OperationBuilder_v8::setpwDesc(), and cudnn_frontend::OperationBuilder_v8::setwDesc().
|
inlinestatic |
Definition at line 43 of file cudnn_frontend_utils.h.
References cudnn_frontend::cudnnException::cudnnException().
|
inlinestatic |
Definition at line 51 of file cudnn_frontend_utils.h.
References cudnn_frontend::cudnnException::cudnnException().
auto cudnn_frontend::time_sorted_plan | ( | cudnnHandle_t | handle, |
executionPlans_t | plans, | ||
VariantPack & | variantPack | ||
) | -> executionOptions_t |
Sorts the execution plans by their run time. The run time of plan may not trivial and hence we run it multiple times till we get a stable value. We have an additional dry-run which helps stabilize the time further.
Definition at line 37 of file cudnn_frontend_find_plan.h.
References CUDNN_FIND_SAMPLE_MEDIAN_OF_THREE, CUDNN_FIND_SAMPLE_ONCE, and CUDNN_FIND_SAMPLE_TILL_STABLE.