380 lines
15 KiB
C
380 lines
15 KiB
C
|
/*
|
||
|
* Copyright 1993-2020 NVIDIA Corporation. All rights reserved.
|
||
|
*
|
||
|
* NOTICE TO LICENSEE:
|
||
|
*
|
||
|
* This source code and/or documentation ("Licensed Deliverables") are
|
||
|
* subject to NVIDIA intellectual property rights under U.S. and
|
||
|
* international Copyright laws.
|
||
|
*
|
||
|
* These Licensed Deliverables contained herein is PROPRIETARY and
|
||
|
* CONFIDENTIAL to NVIDIA and is being provided under the terms and
|
||
|
* conditions of a form of NVIDIA software license agreement by and
|
||
|
* between NVIDIA and Licensee ("License Agreement") or electronically
|
||
|
* accepted by Licensee. Notwithstanding any terms or conditions to
|
||
|
* the contrary in the License Agreement, reproduction or disclosure
|
||
|
* of the Licensed Deliverables to any third party without the express
|
||
|
* written consent of NVIDIA is prohibited.
|
||
|
*
|
||
|
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
|
||
|
* LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
|
||
|
* SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE. IT IS
|
||
|
* PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
|
||
|
* NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
|
||
|
* DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
|
||
|
* NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
* NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
|
||
|
* LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
|
||
|
* SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
|
||
|
* DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||
|
* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
|
||
|
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||
|
* OF THESE LICENSED DELIVERABLES.
|
||
|
*
|
||
|
* U.S. Government End Users. These Licensed Deliverables are a
|
||
|
* "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
|
||
|
* 1995), consisting of "commercial computer software" and "commercial
|
||
|
* computer software documentation" as such terms are used in 48
|
||
|
* C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
|
||
|
* only as a commercial end item. Consistent with 48 C.F.R.12.212 and
|
||
|
* 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
|
||
|
* U.S. Government End Users acquire the Licensed Deliverables with
|
||
|
* only those rights set forth herein.
|
||
|
*
|
||
|
* Any use of the Licensed Deliverables in individual and commercial
|
||
|
* software must include, in the user documentation and internal
|
||
|
* comments to the code, the above Disclaimer and U.S. Government End
|
||
|
* Users Notice.
|
||
|
*/
|
||
|
|
||
|
#ifndef _CUDNN_BACKEND_H_
|
||
|
#define _CUDNN_BACKEND_H_
|
||
|
|
||
|
/*
|
||
|
* The content in this header file is under development to be included in cudnn.h in the future
|
||
|
* Production code should have all include of this header file remove.
|
||
|
*/
|
||
|
|
||
|
#include "cudnn_ops_infer.h"
|
||
|
#include "cudnn_cnn_infer.h"
|
||
|
|
||
|
/* NOTE: definition in extern "C" to be copied later to public header */
|
||
|
#if defined(__cplusplus)
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
typedef void *cudnnBackendDescriptor_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_POINTWISE_ADD = 0,
|
||
|
CUDNN_POINTWISE_MUL = 1,
|
||
|
CUDNN_POINTWISE_MIN = 2,
|
||
|
CUDNN_POINTWISE_MAX = 3,
|
||
|
CUDNN_POINTWISE_SQRT = 4,
|
||
|
|
||
|
CUDNN_POINTWISE_RELU_FWD = 100,
|
||
|
CUDNN_POINTWISE_TANH_FWD = 101,
|
||
|
CUDNN_POINTWISE_SIGMOID_FWD = 102,
|
||
|
CUDNN_POINTWISE_ELU_FWD = 103,
|
||
|
CUDNN_POINTWISE_GELU_FWD = 104,
|
||
|
CUDNN_POINTWISE_SOFTPLUS_FWD = 105,
|
||
|
CUDNN_POINTWISE_SWISH_FWD = 106,
|
||
|
|
||
|
CUDNN_POINTWISE_RELU_BWD = 200,
|
||
|
CUDNN_POINTWISE_TANH_BWD = 201,
|
||
|
CUDNN_POINTWISE_SIGMOID_BWD = 202,
|
||
|
CUDNN_POINTWISE_ELU_BWD = 203,
|
||
|
CUDNN_POINTWISE_GELU_BWD = 204,
|
||
|
CUDNN_POINTWISE_SOFTPLUS_BWD = 205,
|
||
|
CUDNN_POINTWISE_SWISH_BWD = 206,
|
||
|
} cudnnPointwiseMode_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_GENSTATS_SUM_SQSUM = 0,
|
||
|
} cudnnGenStatsMode_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_BN_FINALIZE_STATISTICS_TRAINING = 0,
|
||
|
CUDNN_BN_FINALIZE_STATISTICS_INFERENCE = 1,
|
||
|
} cudnnBnFinalizeStatsMode_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_ATTR_POINTWISE_MODE = 0,
|
||
|
CUDNN_ATTR_POINTWISE_MATH_PREC = 1,
|
||
|
CUDNN_ATTR_POINTWISE_NAN_PROPAGATION = 2,
|
||
|
CUDNN_ATTR_POINTWISE_RELU_LOWER_CLIP = 3,
|
||
|
CUDNN_ATTR_POINTWISE_RELU_UPPER_CLIP = 4,
|
||
|
CUDNN_ATTR_POINTWISE_RELU_LOWER_CLIP_SLOPE = 5,
|
||
|
CUDNN_ATTR_POINTWISE_ELU_ALPHA = 6,
|
||
|
CUDNN_ATTR_POINTWISE_SOFTPLUS_BETA = 7,
|
||
|
CUDNN_ATTR_POINTWISE_SWISH_BETA = 8,
|
||
|
|
||
|
CUDNN_ATTR_CONVOLUTION_COMP_TYPE = 100,
|
||
|
CUDNN_ATTR_CONVOLUTION_CONV_MODE = 101,
|
||
|
CUDNN_ATTR_CONVOLUTION_DILATIONS = 102,
|
||
|
CUDNN_ATTR_CONVOLUTION_FILTER_STRIDES = 103,
|
||
|
CUDNN_ATTR_CONVOLUTION_POST_PADDINGS = 104,
|
||
|
CUDNN_ATTR_CONVOLUTION_PRE_PADDINGS = 105,
|
||
|
CUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS = 106,
|
||
|
|
||
|
CUDNN_ATTR_ENGINEHEUR_MODE = 200,
|
||
|
CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH = 201,
|
||
|
CUDNN_ATTR_ENGINEHEUR_RESULTS = 202,
|
||
|
|
||
|
CUDNN_ATTR_ENGINECFG_ENGINE = 300,
|
||
|
CUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO = 301,
|
||
|
CUDNN_ATTR_ENGINECFG_KNOB_CHOICES = 302,
|
||
|
|
||
|
CUDNN_ATTR_EXECUTION_PLAN_HANDLE = 400,
|
||
|
CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG = 401,
|
||
|
CUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE = 402,
|
||
|
CUDNN_ATTR_EXECUTION_PLAN_COMPUTED_INTERMEDIATE_UIDS = 403,
|
||
|
CUDNN_ATTR_EXECUTION_PLAN_RUN_ONLY_INTERMEDIATE_UIDS = 404,
|
||
|
|
||
|
CUDNN_ATTR_INTERMEDIATE_INFO_UNIQUE_ID = 500,
|
||
|
CUDNN_ATTR_INTERMEDIATE_INFO_SIZE = 501,
|
||
|
CUDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_DATA_UIDS = 502,
|
||
|
CUDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_ATTRIBUTES = 503,
|
||
|
|
||
|
CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE = 600,
|
||
|
CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE = 601,
|
||
|
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA = 700,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA = 701,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC = 702,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W = 703,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X = 704,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y = 705,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA = 706,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA = 707,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC = 708,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W = 709,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX = 710,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY = 711,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA = 712,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA = 713,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC = 714,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW = 715,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X = 716,
|
||
|
CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY = 717,
|
||
|
|
||
|
CUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR = 750,
|
||
|
CUDNN_ATTR_OPERATION_POINTWISE_XDESC = 751,
|
||
|
CUDNN_ATTR_OPERATION_POINTWISE_BDESC = 752,
|
||
|
CUDNN_ATTR_OPERATION_POINTWISE_YDESC = 753,
|
||
|
CUDNN_ATTR_OPERATION_POINTWISE_ALPHA1 = 754,
|
||
|
CUDNN_ATTR_OPERATION_POINTWISE_ALPHA2 = 755,
|
||
|
CUDNN_ATTR_OPERATION_POINTWISE_DXDESC = 756,
|
||
|
CUDNN_ATTR_OPERATION_POINTWISE_DYDESC = 757,
|
||
|
|
||
|
CUDNN_ATTR_OPERATION_GENSTATS_MODE = 770,
|
||
|
CUDNN_ATTR_OPERATION_GENSTATS_MATH_PREC = 771,
|
||
|
CUDNN_ATTR_OPERATION_GENSTATS_XDESC = 772,
|
||
|
CUDNN_ATTR_OPERATION_GENSTATS_SUMDESC = 773,
|
||
|
CUDNN_ATTR_OPERATION_GENSTATS_SQSUMDESC = 774,
|
||
|
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_STATS_MODE = 780,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_MATH_PREC = 781,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_Y_SUM_DESC = 782,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_Y_SQ_SUM_DESC = 783,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_SCALE_DESC = 784,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_BIAS_DESC = 785,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_MEAN_DESC = 786,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_VAR_DESC = 787,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_MEAN_DESC = 788,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_VAR_DESC = 789,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_SAVED_MEAN_DESC = 790,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_SAVED_INV_STD_DESC = 791,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_EQ_SCALE_DESC = 792,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_EQ_BIAS_DESC = 793,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_ACCUM_COUNT_DESC = 794,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_EPSILON_DESC = 795,
|
||
|
CUDNN_ATTR_OPERATION_BN_FINALIZE_EXP_AVERATE_FACTOR_DESC = 796,
|
||
|
|
||
|
CUDNN_ATTR_OPERATIONGRAPH_HANDLE = 800,
|
||
|
CUDNN_ATTR_OPERATIONGRAPH_OPS = 801,
|
||
|
CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT = 802,
|
||
|
|
||
|
CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT = 900,
|
||
|
CUDNN_ATTR_TENSOR_DATA_TYPE = 901,
|
||
|
CUDNN_ATTR_TENSOR_DIMENSIONS = 902,
|
||
|
CUDNN_ATTR_TENSOR_STRIDES = 903,
|
||
|
CUDNN_ATTR_TENSOR_VECTOR_COUNT = 904,
|
||
|
CUDNN_ATTR_TENSOR_VECTORIZED_DIMENSION = 905,
|
||
|
CUDNN_ATTR_TENSOR_UNIQUE_ID = 906,
|
||
|
CUDNN_ATTR_TENSOR_IS_VIRTUAL = 907,
|
||
|
CUDNN_ATTR_TENSOR_IS_BY_VALUE = 908,
|
||
|
|
||
|
CUDNN_ATTR_VARIANT_PACK_UNIQUE_IDS = 1000,
|
||
|
CUDNN_ATTR_VARIANT_PACK_DATA_POINTERS = 1001,
|
||
|
CUDNN_ATTR_VARIANT_PACK_INTERMEDIATES = 1002,
|
||
|
CUDNN_ATTR_VARIANT_PACK_WORKSPACE = 1003,
|
||
|
|
||
|
CUDNN_ATTR_LAYOUT_INFO_TENSOR_UID = 1100,
|
||
|
CUDNN_ATTR_LAYOUT_INFO_TYPES = 1101,
|
||
|
|
||
|
CUDNN_ATTR_KNOB_INFO_TYPE = 1200,
|
||
|
CUDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE = 1201,
|
||
|
CUDNN_ATTR_KNOB_INFO_MINIMUM_VALUE = 1202,
|
||
|
CUDNN_ATTR_KNOB_INFO_STRIDE = 1203,
|
||
|
|
||
|
CUDNN_ATTR_ENGINE_OPERATION_GRAPH = 1300,
|
||
|
CUDNN_ATTR_ENGINE_GLOBAL_INDEX = 1301,
|
||
|
CUDNN_ATTR_ENGINE_KNOB_INFO = 1302,
|
||
|
CUDNN_ATTR_ENGINE_NUMERICAL_NOTE = 1303,
|
||
|
CUDNN_ATTR_ENGINE_LAYOUT_INFO = 1304,
|
||
|
|
||
|
CUDNN_ATTR_MATMUL_COMP_TYPE = 1500,
|
||
|
|
||
|
CUDNN_ATTR_OPERATION_MATMUL_ADESC = 1520,
|
||
|
CUDNN_ATTR_OPERATION_MATMUL_BDESC = 1521,
|
||
|
CUDNN_ATTR_OPERATION_MATMUL_CDESC = 1522,
|
||
|
CUDNN_ATTR_OPERATION_MATMUL_DESC = 1523,
|
||
|
CUDNN_ATTR_OPERATION_MATMUL_IRREGULARLY_STRIDED_BATCH_COUNT = 1524,
|
||
|
|
||
|
CUDNN_ATTR_REDUCTION_OPERATOR = 1600,
|
||
|
CUDNN_ATTR_REDUCTION_COMP_TYPE = 1601,
|
||
|
|
||
|
CUDNN_ATTR_OPERATION_REDUCTION_XDESC = 1610,
|
||
|
CUDNN_ATTR_OPERATION_REDUCTION_YDESC = 1611,
|
||
|
CUDNN_ATTR_OPERATION_REDUCTION_DESC = 1612,
|
||
|
} cudnnBackendAttributeName_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_TYPE_HANDLE = 0,
|
||
|
CUDNN_TYPE_DATA_TYPE,
|
||
|
CUDNN_TYPE_BOOLEAN,
|
||
|
CUDNN_TYPE_INT64,
|
||
|
CUDNN_TYPE_FLOAT,
|
||
|
CUDNN_TYPE_DOUBLE,
|
||
|
CUDNN_TYPE_VOID_PTR,
|
||
|
CUDNN_TYPE_CONVOLUTION_MODE,
|
||
|
CUDNN_TYPE_HEUR_MODE,
|
||
|
CUDNN_TYPE_KNOB_TYPE,
|
||
|
CUDNN_TYPE_NAN_PROPOGATION,
|
||
|
CUDNN_TYPE_NUMERICAL_NOTE,
|
||
|
CUDNN_TYPE_LAYOUT_TYPE,
|
||
|
CUDNN_TYPE_ATTRIB_NAME,
|
||
|
CUDNN_TYPE_POINTWISE_MODE,
|
||
|
CUDNN_TYPE_BACKEND_DESCRIPTOR,
|
||
|
CUDNN_TYPE_GENSTATS_MODE,
|
||
|
CUDNN_TYPE_BN_FINALIZE_STATS_MODE,
|
||
|
CUDNN_TYPE_REDUCTION_OPERATOR_TYPE,
|
||
|
} cudnnBackendAttributeType_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_BACKEND_POINTWISE_DESCRIPTOR = 0,
|
||
|
CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_ENGINE_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_ENGINECFG_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_TENSOR_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_MATMUL_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATION_BN_FINALIZE_STATISTICS_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_REDUCTION_DESCRIPTOR,
|
||
|
CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR
|
||
|
} cudnnBackendDescriptorType_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_NUMERICAL_NOTE_TENSOR_CORE = 0,
|
||
|
CUDNN_NUMERICAL_NOTE_DOWN_CONVERT_INPUTS,
|
||
|
CUDNN_NUMERICAL_NOTE_REDUCED_PRECISION_REDUCTION,
|
||
|
CUDNN_NUMERICAL_NOTE_FFT,
|
||
|
CUDNN_NUMERICAL_NOTE_NONDETERMINISTIC,
|
||
|
CUDNN_NUMERICAL_NOTE_WINOGRAD,
|
||
|
CUDNN_NUMERICAL_NOTE_TYPE_COUNT,
|
||
|
} cudnnBackendNumericalNote_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_KNOB_TYPE_SPLIT_K = 0,
|
||
|
CUDNN_KNOB_TYPE_SWIZZLE = 1,
|
||
|
CUDNN_KNOB_TYPE_TILE_SIZE = 2,
|
||
|
CUDNN_KNOB_TYPE_USE_TEX = 3,
|
||
|
CUDNN_KNOB_TYPE_EDGE = 4,
|
||
|
CUDNN_KNOB_TYPE_KBLOCK = 5,
|
||
|
CUDNN_KNOB_TYPE_LDGA = 6,
|
||
|
CUDNN_KNOB_TYPE_LDGB = 7,
|
||
|
CUDNN_KNOB_TYPE_CHUNK_K = 8,
|
||
|
CUDNN_KNOB_TYPE_SPLIT_H = 9,
|
||
|
CUDNN_KNOB_TYPE_WINO_TILE = 10,
|
||
|
CUDNN_KNOB_TYPE_MULTIPLY = 11,
|
||
|
CUDNN_KNOB_TYPE_SPLIT_K_BUF = 12,
|
||
|
CUDNN_KNOB_TYPE_TILEK = 13,
|
||
|
CUDNN_KNOB_TYPE_STAGES = 14,
|
||
|
CUDNN_KNOB_TYPE_REDUCTION_MODE = 15,
|
||
|
CUDNN_KNOB_TYPE_CTA_SPLIT_K_MODE = 16,
|
||
|
CUDNN_KNOB_TYPE_SPLIT_K_SLC = 17,
|
||
|
CUDNN_KNOB_TYPE_IDX_MODE = 18,
|
||
|
CUDNN_KNOB_TYPE_SLICED = 19,
|
||
|
CUDNN_KNOB_TYPE_SPLIT_RS = 20,
|
||
|
CUDNN_KNOB_TYPE_SINGLEBUFFER = 21,
|
||
|
CUDNN_KNOB_TYPE_LDGC = 22,
|
||
|
CUDNN_KNOB_TYPE_SPECFILT = 23,
|
||
|
CUDNN_KNOB_TYPE_KERNEL_CFG = 24,
|
||
|
|
||
|
CUDNN_KNOB_TYPE_COUNTS = 25,
|
||
|
} cudnnBackendKnobType_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_LAYOUT_TYPE_PREFERRED_NCHW = 0,
|
||
|
CUDNN_LAYOUT_TYPE_PREFERRED_NHWC = 1,
|
||
|
CUDNN_LAYOUT_TYPE_PREFERRED_PAD4CK = 2,
|
||
|
CUDNN_LAYOUT_TYPE_PREFERRED_PAD8CK = 3,
|
||
|
CUDNN_LAYOUT_TYPE_COUNT = 4,
|
||
|
} cudnnBackendLayoutType_t;
|
||
|
|
||
|
typedef enum {
|
||
|
CUDNN_HEUR_MODE_INSTANT = 0,
|
||
|
CUDNN_HEUR_MODE_B = 1,
|
||
|
CUDNN_HEUR_MODES_COUNT = 2,
|
||
|
} cudnnBackendHeurMode_t;
|
||
|
|
||
|
cudnnStatus_t CUDNNWINAPI
|
||
|
cudnnBackendCreateDescriptor(cudnnBackendDescriptorType_t descriptorType, cudnnBackendDescriptor_t *descriptor);
|
||
|
|
||
|
cudnnStatus_t CUDNNWINAPI
|
||
|
cudnnBackendDestroyDescriptor(cudnnBackendDescriptor_t descriptor);
|
||
|
|
||
|
cudnnStatus_t CUDNNWINAPI
|
||
|
cudnnBackendInitialize(cudnnBackendDescriptor_t descriptor);
|
||
|
|
||
|
cudnnStatus_t CUDNNWINAPI
|
||
|
cudnnBackendFinalize(cudnnBackendDescriptor_t descriptor);
|
||
|
|
||
|
cudnnStatus_t CUDNNWINAPI
|
||
|
cudnnBackendSetAttribute(cudnnBackendDescriptor_t descriptor,
|
||
|
cudnnBackendAttributeName_t attributeName,
|
||
|
cudnnBackendAttributeType_t attributeType,
|
||
|
int64_t elementCount,
|
||
|
const void *arrayOfElements);
|
||
|
|
||
|
cudnnStatus_t CUDNNWINAPI
|
||
|
cudnnBackendGetAttribute(cudnnBackendDescriptor_t const descriptor,
|
||
|
cudnnBackendAttributeName_t attributeName,
|
||
|
cudnnBackendAttributeType_t attributeType,
|
||
|
int64_t requestedElementCount,
|
||
|
int64_t *elementCount,
|
||
|
void *arrayOfElements);
|
||
|
|
||
|
cudnnStatus_t CUDNNWINAPI
|
||
|
cudnnBackendExecute(cudnnHandle_t handle, cudnnBackendDescriptor_t executionPlan, cudnnBackendDescriptor_t variantPack);
|
||
|
|
||
|
#if defined(__cplusplus)
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* _CUDNN_BACKEND_H_ */
|