Skip to main content

muDNN C API 参考

数据类型参考

结构体

mudnnConvolutionBwdDataAlgoPerfStruct

helper: 返回数据反向传播算法的性能结果。

字段类型说明
algomudnnConvolutionBwdDataAlgo_t选用的数据反向传播算法。
statusmudnnStatus_t执行状态。
timefloat估计耗时(毫秒)。
memorysize_t额外显存需求。
determinismmudnnDeterminism_t是否返回确定性结果。
mathTypemudnnMathType_t计算模式。
reservedint-

mudnnConvolutionBwdFilterAlgoPerfStruct

helper: 返回滤波器反向传播算法的性能结果。

字段类型说明
algomudnnConvolutionBwdFilterAlgo_t选用的滤波器反向传播算法。
statusmudnnStatus_t执行状态。
timefloat估计耗时(毫秒)。
memorysize_t额外显存需求。
determinismmudnnDeterminism_t是否返回确定性结果。
mathTypemudnnMathType_t计算模式。
reservedint-

mudnnConvolutionFwdAlgoPerfStruct

前向卷积算法性能信息,兼容 cudnnConvolutionFwdAlgoPerf。

字段类型说明
algomudnnConvolutionFwdAlgo_t选用的前向算法。
statusmudnnStatus_t执行返回状态。
timefloat估计耗时(毫秒)。
memorysize_t额外显存需求。
determinismmudnnDeterminism_t是否返回确定性结果。
mathTypemudnnMathType_t计算模式。
reservedint-

mudnnDebugStruct

回调调试信息,类似 cudnnDebug_t。

字段类型说明
mudnn_versionunsigned-
mudnnStatusmudnnStatus_t-
time_secunsignedepoch 时间(秒)
time_usecunsignedepoch 时间的微秒部分
time_deltaunsigned自启动以来的时间(秒)
handlemudnnHandle_tmuDNN 句柄
streammusaStream_tMUSA 流 ID
piduint64_t进程 ID
tiduint64_t线程 ID
musaDeviceIdintMUSA 设备 ID
reservedint保留供将来使用

mudnnFractionStruct

分数结构体,等价 cudnnFraction_t。

字段类型说明
numeratorint64_t-
denominatorint64_t-

不透明描述符类型

下表列出 muDNN C API 中常用的不透明描述符类型及其典型生命周期。描述符通常先创建,再通过 Set/Get 类 API 配置或查询,最后由对应 Destroy API 释放。

描述符用途创建配置/查询销毁
mudnnRNNDescriptor_tRNN 算子描述符。mudnnCreateRNNDescriptormudnnSetRNNDescriptor_v8
mudnnGetRNNDescriptor_v8
mudnnGetRNNTempSpaceSizes
mudnnGetRNNWeightSpaceSize
mudnnGetRNNWeightParams
...
mudnnDestroyRNNDescriptor
mudnnRNNDataDescriptor_tRNN 序列数据描述符。mudnnCreateRNNDataDescriptormudnnSetRNNDataDescriptor
mudnnGetRNNDataDescriptor
mudnnDestroyRNNDataDescriptor
mudnnAttnDescriptor_t多头注意力描述符。mudnnCreateAttnDescriptormudnnSetAttnDescriptor
mudnnGetAttnDescriptor
mudnnDestroyAttnDescriptor
mudnnDotDescriptor_tDot 算子描述符。mudnnCreateDotDescriptormudnnSetDotMathType
mudnnGetDotWorkspaceSize
mudnnDestroyDotDescriptor
mudnnBackendDescriptor_tBackend 描述符通用句柄。mudnnBackendCreateDescriptormudnnBackendInitialize
mudnnBackendFinalize
mudnnBackendSetAttribute
mudnnBackendGetAttribute
mudnnBackendExecute
mudnnBackendDestroyDescriptor
mudnnTensorDescriptor_t张量描述符,描述张量数据类型、格式、维度和步长。mudnnCreateTensorDescriptormudnnSetTensor4dDescriptor
mudnnSetTensor4dDescriptorEx
mudnnGetTensor4dDescriptor
mudnnSetTensorNdDescriptor
mudnnSetTensorNdDescriptorEx
...
mudnnDestroyTensorDescriptor
mudnnTensorTransformDescriptor_t张量变换描述符。mudnnCreateTensorTransformDescriptormudnnSetTensorTransformDescriptor
mudnnGetTensorTransformDescriptor
mudnnDestroyTensorTransformDescriptor
mudnnLRNDescriptor_t局部响应归一化描述符。mudnnCreateLRNDescriptormudnnSetLRNDescriptor
mudnnGetLRNDescriptor
mudnnDestroyLRNDescriptor
mudnnSpatialTransformerDescriptor_t空间变换描述符。mudnnCreateSpatialTransformerDescriptormudnnSetSpatialTransformerNdDescriptormudnnDestroySpatialTransformerDescriptor
mudnnCTCLossDescriptor_tCTC Loss 描述符。mudnnCreateCTCLossDescriptormudnnSetCTCLossDescriptor
mudnnSetCTCLossDescriptorEx
mudnnSetCTCLossDescriptor_v8
mudnnSetCTCLossDescriptor_v9
mudnnGetCTCLossDescriptor
...
mudnnDestroyCTCLossDescriptor
mudnnUnaryDescriptor_tUnary 相关 API 使用的不透明描述符。mudnnCreateUnaryDescriptormudnnSetUnaryDescriptormudnnDestroyUnaryDescriptor
mudnnBinaryDescriptor_tBinary 相关 API 使用的不透明描述符。mudnnCreateBinaryDescriptormudnnSetBinaryDescriptormudnnDestroyBinaryDescriptor
mudnnTernaryDescriptor_tTernary 相关 API 使用的不透明描述符。mudnnCreateTernaryDescriptormudnnSetTernaryDescriptormudnnDestroyTernaryDescriptor
mudnnReduceDescriptor_tReduce 相关 API 使用的不透明描述符。mudnnCreateReduceDescriptormudnnSetReduceTensorDescriptor
mudnnGetReduceTensorDescriptor
mudnnSetReduceDescriptor
mudnnGetReduceWorkspaceSize
mudnnGetReduceMeanAndVarWorkspaceSize
...
mudnnDestroyReduceDescriptor
mudnnConcatDescriptor_tConcat 相关 API 使用的不透明描述符。mudnnCreateConcatDescriptormudnnSetConcatDescriptor
mudnnGetConcatDescriptor
mudnnDestroyConcatDescriptor
mudnnNonzeroDescriptor_tNonzero 相关 API 使用的不透明描述符。mudnnCreateNonzeroDescriptormudnnGetNonzeroWorkspaceSize-
mudnnLayerNormDescriptor_tLayer Norm 相关 API 使用的不透明描述符。mudnnCreateLayerNormDescriptormudnnSetLayerNormDescriptor
mudnnGetLayerNormDescriptor
mudnnGetLayerNormForwardWorkspaceSize
mudnnGetLayerNormBackwardWorkspaceSize
mudnnDestroyLayerNormDescriptor
mudnnDropoutDescriptor_tDropout 相关 API 使用的不透明描述符。mudnnCreateDropoutDescriptormudnnSetDropoutDescriptor
mudnnRestoreDropoutDescriptor
mudnnGetDropoutDescriptor
mudnnSetDropoutDescriptorEx
mudnnDestroyDropoutDescriptor
mudnnInterpolateDescriptor_tInterpolate 相关 API 使用的不透明描述符。mudnnCreateInterpolateDescriptormudnnSetInterpolateDescriptor
mudnnGetInterpolateDescriptor
mudnnDestroyInterpolateDescriptor
mudnnSortDescriptor_tSort 相关 API 使用的不透明描述符。mudnnCreateSortDescriptormudnnSetSortDescriptor
mudnnGetSortDescriptor
mudnnGetSortWorkspaceSize
mudnnSetSortByKeyDescriptor
mudnnGetSortByKeyDescriptor
...
mudnnDestroySortDescriptor
mudnnScatterDescriptor_tScatter 相关 API 使用的不透明描述符。mudnnCreateScatterDescriptormudnnSetScatterDescriptor
mudnnGetScatterDescriptor
mudnnSetScatterNDDescriptor
mudnnGetScatterNDDescriptor
mudnnDestroyScatterDescriptor
mudnnScatterNDDescriptor_tScatter N D 相关 API 使用的不透明描述符。mudnnCreateScatterNDDescriptormudnnSetScatterNDDescriptor
mudnnGetScatterNDDescriptor
mudnnDestroyScatterNDDescriptor
mudnnSoftmaxDescriptor_tSoftmax 相关 API 使用的不透明描述符。mudnnCreateSoftmaxDescriptormudnnSetSoftmaxDescriptor
mudnnGetSoftmaxDescriptor
mudnnGetSoftmaxForwardWorkspaceSize
mudnnGetSoftmaxBackwardWorkspaceSize
mudnnDestroySoftmaxDescriptor
mudnnTopKDescriptor_tTop K 相关 API 使用的不透明描述符。mudnnCreateTopKDescriptormudnnSetTopKDescriptor
mudnnGetTopKDescriptor
mudnnGetTopKWorkspaceSize
mudnnDestroyTopKDescriptor
mudnnRopeDescriptor_tRope 相关 API 使用的不透明描述符。mudnnCreateRopeDescriptormudnnSetRopeDescriptor
mudnnGetRopeDescriptor
mudnnDestroyRopeDescriptor
mudnnRMSNormDescriptor_tRMSNorm 描述符。mudnnCreateRMSNormDescriptormudnnSetRMSNormDescriptor
mudnnGetRMSNormDescriptor
mudnnGetRMSNormBackwardWorkspaceSize
mudnnDestroyRMSNormDescriptor
mudnnSwiGluDescriptor_tSwiGLU 描述符。mudnnCreateSwiGluDescriptor-mudnnDestroySwiGluDescriptor
mudnnMaskedSelectDescriptor_tMasked Select 相关 API 使用的不透明描述符。mudnnCreateMaskedSelectDescriptormudnnGetMaskedSelectWorkspaceSizemudnnDestroyMaskedSelectDescriptor
mudnnGroupNormDescriptor_tGroup Norm 相关 API 使用的不透明描述符。mudnnCreateGroupNormDescriptormudnnSetGroupNormDescriptor
mudnnGetGroupNormDescriptor
mudnnDestroyGroupNormDescriptor
mudnnSortByKeyDescriptor_tSort By Key 相关 API 使用的不透明描述符。mudnnCreateSortByKeyDescriptormudnnSetSortByKeyDescriptor
mudnnGetSortByKeyDescriptor
mudnnGetSortByKeyWorkspaceSize
mudnnDestroySortByKeyDescriptor
mudnnPadDescriptor_tPad 相关 API 使用的不透明描述符。mudnnCreatePadDescriptormudnnSetPadDescriptor
mudnnGetPadDescriptor
mudnnDestroyPadDescriptor
mudnnGluDescriptor_tGlu 相关 API 使用的不透明描述符。mudnnCreateGluDescriptormudnnSetGluDescriptor
mudnnGetGluDescriptor
mudnnDestroyGluDescriptor
mudnnNLLLossDescriptor_tNLL Loss 描述符。mudnnCreateNLLLossDescriptormudnnSetNLLLossDescriptor
mudnnGetNLLLossDescriptor
mudnnGetNLLLossForwardWorkspaceSize
mudnnGetNLLLossBackwardWorkspaceSize
mudnnDestroyNLLLossDescriptor
mudnnKLDivLossDescriptor_tKLDiv Loss 描述符。mudnnCreateKLDivLossDescriptormudnnSetKLDivLossDescriptor
mudnnGetKLDivLossDescriptor
mudnnGetKLDivLossForwardWorkspaceSize
mudnnGetKLDivLossBackwardWorkspaceSize
mudnnDestroyKLDivLossDescriptor
mudnnCrossEntropyLossDescriptor_tCross Entropy Loss 相关 API 使用的不透明描述符。mudnnCreateCrossEntropyLossDescriptormudnnSetCrossEntropyLossDescriptor
mudnnGetCrossEntropyLossDescriptor
mudnnGetCrossEntropyLossForwardWorkspaceSize
mudnnGetCrossEntropyLossBackwardWorkspaceSize
mudnnDestroyCrossEntropyLossDescriptor
mudnnScaledDotProductAttentionDescriptor_tScaled Dot Product Attention 描述符。mudnnCreateScaledDotProductAttentionDescriptormudnnSetScaledDotProductAttentionDescriptor
mudnnSetScaledDotProductAttentionDescriptorEx
mudnnSetScaledDotProductAttentionVarlenDescriptor
mudnnSetScaledDotProductAttentionVarlenDescriptorEx
mudnnDestroyScaledDotProductAttentionDescriptor
mudnnBatchMatMulDescriptor_t批量矩阵乘描述符。mudnnCreateBatchMatMulDescriptormudnnSetBatchMatMulDescriptor
mudnnSetBatchMatMulDescriptorEx
mudnnDestroyBatchMatMulDescriptor
mudnnFillDescriptor_tFill 相关 API 使用的不透明描述符。mudnnCreateFillDescriptormudnnSetFillDescriptormudnnDestroyFillDescriptor
mudnnCumDescriptor_tCum 相关 API 使用的不透明描述符。mudnnCreateCumDescriptormudnnSetCumDescriptor
mudnnGetCumDescriptor
mudnnDestroyCumDescriptor
mudnnMaskedScatterDescriptor_tMasked Scatter 相关 API 使用的不透明描述符。mudnnCreateMaskedScatterDescriptor-mudnnDestroyMaskedScatterDescriptor
mudnnBatchNormDescriptor_tBatch Norm 相关 API 使用的不透明描述符。mudnnCreateBatchNormDescriptormudnnSetBatchNormDescriptor
mudnnGetBatchNormDescriptor
mudnnGetBatchNormForwardTrainingWorkspaceSize
mudnnGetBatchNormBackwardWorkspaceSize
mudnnGetBatchNormalizationForwardTrainingExWorkspaceSize
...
mudnnDestroyBatchNormDescriptor
mudnnPermuteDescriptor_tPermute 相关 API 使用的不透明描述符。mudnnCreatePermuteDescriptormudnnSetPermuteSrcOffset
mudnnSetPermuteDstOffset
mudnnDestroyPermuteDescriptor

枚举

mudnnRNNAlgo_t

BASIC RNN API.

  • MUDNN_RNN_ALGO_STANDARD
  • MUDNN_RNN_ALGO_PERSIST_STATIC
  • MUDNN_RNN_ALGO_PERSIST_DYNAMIC
  • MUDNN_RNN_ALGO_PERSIST_STATIC_SMALL_H
  • MUDNN_RNN_ALGO_COUNT

mudnnForwardMode_t

  • MUDNN_FWD_MODE_INFERENCE
  • MUDNN_FWD_MODE_TRAINING

mudnnRNNMode_t

  • MUDNN_RNN_RELU
  • MUDNN_RNN_TANH
  • MUDNN_LSTM

mudnnRNNBiasMode_t

  • MUDNN_RNN_NO_BIAS:RNN 单元公式不使用偏置
  • MUDNN_RNN_SINGLE_INP_BIAS:RNN 单元公式在输入 GEMM 中使用一个输入偏置
  • MUDNN_RNN_DOUBLE_BIAS:默认值,RNN 单元公式使用两个偏置向量
  • MUDNN_RNN_SINGLE_REC_BIAS:RNN 单元公式在循环 GEMM 中使用一个循环偏置

mudnnDirectionMode_t

  • MUDNN_UNIDIRECTIONAL:单向网络
  • MUDNN_BIDIRECTIONAL:每层输出拼接

mudnnRNNInputMode_t

  • MUDNN_LINEAR_INPUT:第一层输入 GEMM 使用可调整的权重矩阵
  • MUDNN_SKIP_INPUT:第一层输入 GEMM 使用固定的单位矩阵

mudnnRNNClipMode_t

  • MUDNN_RNN_CLIP_NONE:禁用 LSTM 单元裁剪
  • MUDNN_RNN_CLIP_MINMAX:启用 LSTM 单元裁剪

mudnnRNNDataLayout_t

  • MUDNN_RNN_DATA_LAYOUT_SEQ_MAJOR_UNPACKED:带 padding,外层步长从一个时间步到下一个时间步
  • MUDNN_RNN_DATA_LAYOUT_SEQ_MAJOR_PACKED:按基础 RNN API 的方式按序列长度排序并打包
  • MUDNN_RNN_DATA_LAYOUT_BATCH_MAJOR_UNPACKED:带 padding,外层步长从一个批次到下一个批次

mudnnSeqDataAxis_t

  • MUDNN_SEQDATA_TIME_DIM:time 维索引
  • MUDNN_SEQDATA_BATCH_DIM:batch 维索引
  • MUDNN_SEQDATA_BEAM_DIM:beam 维索引
  • MUDNN_SEQDATA_VECT_DIM:vector 维索引

mudnnMultiHeadAttnWeightKind_t

  • MUDNN_MH_ATTN_Q_WEIGHTS:query 的输入投影权重
  • MUDNN_MH_ATTN_K_WEIGHTS:key 的输入投影权重
  • MUDNN_MH_ATTN_V_WEIGHTS:value 的输入投影权重
  • MUDNN_MH_ATTN_O_WEIGHTS:输出投影权重
  • MUDNN_MH_ATTN_Q_BIASES:query 的输入投影偏置张量
  • MUDNN_MH_ATTN_K_BIASES:key 的输入投影偏置
  • MUDNN_MH_ATTN_V_BIASES:value 的输入投影偏置
  • MUDNN_MH_ATTN_O_BIASES:输出投影偏置

mudnnWgradMode_t

  • MUDNN_WGRAD_MODE_ADD:将部分梯度累加到 wgrad 输出缓冲区
  • MUDNN_WGRAD_MODE_SET:将部分梯度写入 wgrad 输出缓冲区

mudnnLossNormalizationMode_t

  • MUDNN_LOSS_NORMALIZATION_NONE
  • MUDNN_LOSS_NORMALIZATION_SOFTMAX

mudnnFusedOps_t

  • MUDNN_FUSED_SCALE_BIAS_ACTIVATION_CONV_BNSTATS:方括号中的每个操作都可通过传入 NULL 指针禁用;[per channel scale]、[per channel bias]、[activation]、convolution、[generate BN stats]
  • MUDNN_FUSED_SCALE_BIAS_ACTIVATION_WGRAD:[per channel scale]、[per channel bias]、[activation]、convolutionBackwardWeights
  • MUDNN_FUSED_BN_FINALIZE_STATISTICS_TRAINING:BN-conv 融合中用于 BN 训练的工具;根据 ySum、ySqSum 以及学习得到的 scale 和 bias 计算等效 scale 和 bias;可选更新 running stats 并生成 saved stats
  • MUDNN_FUSED_BN_FINALIZE_STATISTICS_INFERENCE:BN-conv 融合中用于 BN 推理的工具;根据学习得到的 running stats 以及学习得到的 scale 和 bias 计算等效 scale 和 bias
  • MUDNN_FUSED_CONV_SCALE_BIAS_ADD_ACTIVATION:保留供将来使用:convolution、[per channel scale]、[per channel bias]、[residual add]、[activation]
  • MUDNN_FUSED_SCALE_BIAS_ADD_ACTIVATION_GEN_BITMASK:保留供将来使用:[per channel scale]、[per channel bias]、[residual add]、activation、bitmask
  • MUDNN_FUSED_DACTIVATION_FORK_DBATCHNORM:保留供将来使用

mudnnFusedOpsConstParamLabel_t

枚举值说明
MUDNN_PARAM_XDESC设置 XDESC:传入已初始化的 mudnnTensorDescriptor_t;获取 XDESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_XDATA_PLACEHOLDER设置/获取 XDATA_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_MODE设置/获取 BN_MODE:传入 mudnnBatchNormMode_t*
MUDNN_PARAM_BN_EQSCALEBIAS_DESC设置 MUDNN_PARAM_BN_EQSCALEBIAS_DESC:传入已初始化的 mudnnTensorDescriptor_t;获取 MUDNN_PARAM_BN_EQSCALEBIAS_DESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_BN_EQSCALE_PLACEHOLDER设置/获取 BN_EQSCALE_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_EQBIAS_PLACEHOLDER设置/获取 BN_EQBIAS_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_ACTIVATION_DESC设置 ACTIVATION_DESC:传入已初始化的 mudnnActivationDescriptor_t;获取 ACTIVATION_DESC:传入已创建的 mudnnActivationDescriptor_t
MUDNN_PARAM_CONV_DESC设置 CONV_DESC:传入已初始化的 mudnnConvolutionDescriptor_t;获取 CONV_DESC:传入已创建的 mudnnConvolutionDescriptor_t
MUDNN_PARAM_WDESC设置 WDESC:传入已初始化的 mudnnFilterDescriptor_t;获取 WDESC:传入已创建的 mudnnFilterDescriptor_t
MUDNN_PARAM_WDATA_PLACEHOLDER设置/获取 WDATA_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_DWDESC设置 DWDESC:传入已初始化的 mudnnFilterDescriptor_t;获取 DWDESC:传入已创建的 mudnnFilterDescriptor_t
MUDNN_PARAM_DWDATA_PLACEHOLDER设置/获取 DWDATA_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_YDESC设置 YDESC:传入已初始化的 mudnnTensorDescriptor_t;获取 YDESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_YDATA_PLACEHOLDER设置/获取 YDATA_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_DYDESC设置 DYDESC:传入已初始化的 mudnnTensorDescriptor_t;获取 DYDESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_DYDATA_PLACEHOLDER设置/获取 DYDATA_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_YSTATS_DESC设置 YSTATS_DESC:传入已初始化的 mudnnTensorDescriptor_t;获取 YSTATS_DESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_YSUM_PLACEHOLDER设置/获取 YSUM_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_YSQSUM_PLACEHOLDER设置/获取 YSQSUM_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_SCALEBIAS_MEANVAR_DESC设置 MUDNN_PARAM_BN_SCALEBIAS_MEANVAR_DESC:传入已初始化的 mudnnTensorDescriptor_t;获取 MUDNN_PARAM_BN_SCALEBIAS_MEANVAR_DESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_BN_SCALE_PLACEHOLDER设置/获取 MUDNN_PARAM_BN_SCALE_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_BIAS_PLACEHOLDER设置/获取 MUDNN_PARAM_BN_BIAS_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_SAVED_MEAN_PLACEHOLDER设置/获取 MUDNN_PARAM_BN_SAVED_MEAN_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_SAVED_INVSTD_PLACEHOLDER设置/获取 MUDNN_PARAM_BN_SAVED_INVSTD_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_RUNNING_MEAN_PLACEHOLDER设置/获取 MUDNN_PARAM_BN_RUNNING_MEAN_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_RUNNING_VAR_PLACEHOLDER设置/获取 MUDNN_PARAM_BN_RUNNING_VAR_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_ZDESC设置 ZDESC:传入已初始化的 mudnnTensorDescriptor_t;获取 ZDESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_ZDATA_PLACEHOLDER设置/获取 ZDATA_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_Z_EQSCALEBIAS_DESC设置 BN_Z_EQSCALEBIAS_DESC:传入已初始化的 mudnnTensorDescriptor_t;获取 BN_Z_EQSCALEBIAS_DESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_BN_Z_EQSCALE_PLACEHOLDER设置/获取 BN_Z_EQSCALE_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_Z_EQBIAS_PLACEHOLDER设置/获取 BN_Z_EQBIAS_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_ACTIVATION_BITMASK_DESC设置 ACTIVATION_BITMASK_DESC:传入已初始化的 mudnnTensorDescriptor_t;获取 ACTIVATION_BITMASK_DESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_ACTIVATION_BITMASK_PLACEHOLDER设置/获取 ACTIVATION_BITMASK_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_DXDESC设置 DXDESC:传入已初始化的 mudnnTensorDescriptor_t;获取 DXDESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_DXDATA_PLACEHOLDER设置/获取 DXDATA_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_DZDESC设置 DZDESC:传入已初始化的 mudnnTensorDescriptor_t;获取 DZDESC:传入已创建的 mudnnTensorDescriptor_t
MUDNN_PARAM_DZDATA_PLACEHOLDER设置/获取 DZDATA_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_DSCALE_PLACEHOLDER设置/获取 MUDNN_PARAM_BN_DSCALE_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*
MUDNN_PARAM_BN_DBIAS_PLACEHOLDER设置/获取 MUDNN_PARAM_BN_DBIAS_PLACEHOLDER:传入 mudnnFusedOpsPointerPlaceHolder_t*

mudnnFusedOpsPointerPlaceHolder_t

  • MUDNN_PTR_NULL
  • MUDNN_PTR_ELEM_ALIGNED
  • MUDNN_PTR_16B_ALIGNED

mudnnFusedOpsVariantParamLabel_t

  • MUDNN_PTR_XDATA:设置时传入指向设备内存的 void*;获取时传入指向主机内存的 void**
  • MUDNN_PTR_BN_EQSCALE
  • MUDNN_PTR_BN_EQBIAS
  • MUDNN_PTR_WDATA
  • MUDNN_PTR_DWDATA
  • MUDNN_PTR_YDATA
  • MUDNN_PTR_DYDATA
  • MUDNN_PTR_YSUM
  • MUDNN_PTR_YSQSUM
  • MUDNN_PTR_WORKSPACE
  • MUDNN_PTR_BN_SCALE
  • MUDNN_PTR_BN_BIAS
  • MUDNN_PTR_BN_SAVED_MEAN
  • MUDNN_PTR_BN_SAVED_INVSTD
  • MUDNN_PTR_BN_RUNNING_MEAN
  • MUDNN_PTR_BN_RUNNING_VAR
  • MUDNN_PTR_ZDATA
  • MUDNN_PTR_BN_Z_EQSCALE
  • MUDNN_PTR_BN_Z_EQBIAS
  • MUDNN_PTR_ACTIVATION_BITMASK
  • MUDNN_PTR_DXDATA
  • MUDNN_PTR_DZDATA
  • MUDNN_PTR_BN_DSCALE
  • MUDNN_PTR_BN_DBIAS
  • MUDNN_SCALAR_SIZE_T_WORKSPACE_SIZE_IN_BYTES:设置/获取:传入指向主机内存的 size_t*
  • MUDNN_SCALAR_INT64_T_BN_ACCUMULATION_COUNT:设置/获取:传入指向主机内存的 int64_t*
  • MUDNN_SCALAR_DOUBLE_BN_EXP_AVG_FACTOR:设置/获取:传入指向主机内存的 double*
  • MUDNN_SCALAR_DOUBLE_BN_EPSILON:设置/获取:传入指向主机内存的 double*

mudnnStatus_t

muDNN 返回码,兼容 cuDNN Graph/Backend 状态分类。

  • MUDNN_STATUS_SUCCESS
  • MUDNN_STATUS_NOT_INITIALIZED:未分类错误
  • MUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH
  • MUDNN_STATUS_SERIALIZATION_VERSION_MISMATCH
  • MUDNN_STATUS_DEPRECATED
  • MUDNN_STATUS_LICENSE_ERROR
  • MUDNN_STATUS_RUNTIME_IN_PROGRESS
  • MUDNN_STATUS_RUNTIME_FP_OVERFLOW
  • MUDNN_STATUS_SUBLIBRARY_LOADING_FAILED
  • MUDNN_STATUS_BAD_PARAM
  • MUDNN_STATUS_BAD_PARAM_NULL_POINTER
  • MUDNN_STATUS_BAD_PARAM_MISALIGNED_POINTER
  • MUDNN_STATUS_BAD_PARAM_NOT_FINALIZED
  • MUDNN_STATUS_BAD_PARAM_OUT_OF_BOUND
  • MUDNN_STATUS_BAD_PARAM_SIZE_INSUFFICIENT
  • MUDNN_STATUS_BAD_PARAM_STREAM_MISMATCH
  • MUDNN_STATUS_BAD_PARAM_SHAPE_MISMATCH
  • MUDNN_STATUS_BAD_PARAM_DUPLICATED_ENTRIES
  • MUDNN_STATUS_BAD_PARAM_ATTRIBUTE_TYPE
  • MUDNN_STATUS_BAD_PARAM_MUSA_GRAPH_MISMATCH
  • MUDNN_STATUS_BAD_PARAM_DESCRIPTOR_TYPE
  • MUDNN_STATUS_NOT_SUPPORTED
  • MUDNN_STATUS_NOT_SUPPORTED_GRAPH_PATTERN
  • MUDNN_STATUS_NOT_SUPPORTED_SHAPE
  • MUDNN_STATUS_NOT_SUPPORTED_DATA_TYPE
  • MUDNN_STATUS_NOT_SUPPORTED_LAYOUT
  • MUDNN_STATUS_NOT_SUPPORTED_INCOMPATIBLE_MUSA_DRIVER
  • MUDNN_STATUS_NOT_SUPPORTED_INCOMPATIBLE_MUSART
  • MUDNN_STATUS_NOT_SUPPORTED_ARCH_MISMATCH
  • MUDNN_STATUS_NOT_SUPPORTED_RUNTIME_PREREQUISITE_MISSING
  • MUDNN_STATUS_NOT_SUPPORTED_SUBLIBRARY_UNAVAILABLE
  • MUDNN_STATUS_NOT_SUPPORTED_SHARED_MEMORY_INSUFFICIENT
  • MUDNN_STATUS_NOT_SUPPORTED_PADDING
  • MUDNN_STATUS_NOT_SUPPORTED_BAD_LAUNCH_PARAM
  • MUDNN_STATUS_NOT_SUPPORTED_MUSA_GRAPH_NATIVE_API
  • MUDNN_STATUS_NOT_IMPLEMENTD
  • MUDNN_STATUS_INTERNAL_ERROR
  • MUDNN_STATUS_INTERNAL_ERROR_COMPILATION_FAILED
  • MUDNN_STATUS_INTERNAL_ERROR_UNEXPECTED_VALUE
  • MUDNN_STATUS_INTERNAL_ERROR_HOST_ALLOCATION_FAILED
  • MUDNN_STATUS_INTERNAL_ERROR_DEVICE_ALLOCATION_FAILED
  • MUDNN_STATUS_INTERNAL_ERROR_BAD_LAUNCH_PARAM
  • MUDNN_STATUS_INTERNAL_ERROR_TEXTURE_CREATION_FAILED
  • MUDNN_STATUS_EXECUTION_FAILED
  • MUDNN_STATUS_EXECUTION_FAILED_MUSA_DRIVER
  • MUDNN_STATUS_EXECUTION_FAILED_CUBLAS
  • MUDNN_STATUS_EXECUTION_FAILED_MUSART
  • MUDNN_STATUS_EXECUTION_FAILED_CURAND
  • MUDNN_STATUS_ALLOC_FAILED
  • MUDNN_STATUS_INVALID_VALUE:请改用 MUDNN_STATUS_BAD_PARAM
  • MUDNN_STATUS_ARCH_MISMATCH
  • MUDNN_STATUS_MAPPING_ERROR
  • MUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING
  • MUDNN_STATUS_VERSION_MISMATCH

mudnnErrQueryMode_t

运行时错误查询模式。

  • MUDNN_ERRQUERY_RAWCODE
  • MUDNN_ERRQUERY_NONBLOCKING
  • MUDNN_ERRQUERY_BLOCKING

mudnnDataType_t

Tensor 数据类型,参照 cuDNN Backend 的 cudnnDataType_t。

  • MUDNN_DATA_FLOAT
  • MUDNN_DATA_DOUBLE
  • MUDNN_DATA_HALF
  • MUDNN_DATA_INT8
  • MUDNN_DATA_INT32
  • MUDNN_DATA_UINT8
  • MUDNN_DATA_BFLOAT16
  • MUDNN_DATA_INT64
  • MUDNN_DATA_BOOLEAN
  • MUDNN_DATA_FP8_E4M3
  • MUDNN_DATA_FP8_E5M2
  • MUDNN_DATA_FAST_FLOAT_FOR_FP8
  • MUDNN_DATA_FP8_E8M0
  • MUDNN_DATA_FP4_E2M1
  • MUDNN_DATA_INT16
  • MUDNN_DATA_UINT16
  • MUDNN_DATA_UINT32
  • MUDNN_DATA_UINT64
  • MUDNN_DATA_QINT4
  • MUDNN_DATA_QINT8
  • MUDNN_DATA_POINTER

mudnnMathType_t

计算精度/数学模式,兼容 cudnnMathType_t。

  • MUDNN_DEFAULT_MATH:默认数学模式,使用常规核心指令。
  • MUDNN_TENSOR_OP_MATH:Tensor Core 优先的数学模式,需硬件支持。
  • MUDNN_TENSOR_OP_MATH_ALLOW_CONVERSION:允许内部类型转换以启用 Tensor Core。
  • MUDNN_FMA_MATH:强制使用 FMA 以获得确定性或精度优势。

mudnnNanPropagation_t

NaN 传播策略(已弃用,保持兼容)。

  • MUDNN_NOT_PROPAGATE_NAN
  • MUDNN_PROPAGATE_NAN

mudnnCTCGradMode_t

CTC 梯度写入策略,等价 cudnnCTCGradMode。 用于控制 OOB 样本的处理方式。

  • MUDNN_CTC_ZERO_OOB_GRADIENTS
  • MUDNN_CTC_SKIP_OOB_GRADIENTS

mudnnTensorFormat_t

张量格式,兼容 cudnnTensorFormat_t 并扩展。

  • MUDNN_TENSOR_NCHW:行主序 NCHW,wStride=1, hStride=w。
  • MUDNN_TENSOR_NHWC:NHWC(通道最后,cStride=1,适合矢量化存取)。
  • MUDNN_TENSOR_NCHW_VECT_C:NCHW 向量化通道格式(每点为通道向量)。
  • MUDNN_TENSOR_HWCN:扩展:HWCN。
  • MUDNN_TENSOR_NCW:扩展:NCW。
  • MUDNN_TENSOR_NWC:扩展:NWC。
  • MUDNN_TENSOR_NCDHW:扩展:NCDHW。
  • MUDNN_TENSOR_NDHWC:扩展:NDHWC。
  • MUDNN_TENSOR_DHWCN:扩展:DHWCN。

mudnnReduceTensorOp_t

Reduce 操作类型,兼容 cudnnReduceTensorOp_t。

枚举值说明
MUDNN_REDUCE_TENSOR_ADD求和。
MUDNN_REDUCE_TENSOR_MUL连乘。
MUDNN_REDUCE_TENSOR_MIN取最小值。
MUDNN_REDUCE_TENSOR_MAX取最大值。
MUDNN_REDUCE_TENSOR_AMAX绝对值最大。
MUDNN_REDUCE_TENSOR_AVG取平均值。
MUDNN_REDUCE_TENSOR_NORM1L1 范数。
MUDNN_REDUCE_TENSOR_NORM2L2 范数。
MUDNN_REDUCE_TENSOR_MUL_NO_ZEROS跳过零的连乘。

mudnnActivationMode_t

激活函数枚举(兼容 cudnnActivationMode,标记为废弃)。

  • MUDNN_ACTIVATION_SIGMOID:Sigmoid 激活。
  • MUDNN_ACTIVATION_RELU:ReLU 激活。
  • MUDNN_ACTIVATION_TANH:Tanh 激活。
  • MUDNN_ACTIVATION_CLIPPED_RELU:截断 ReLU。
  • MUDNN_ACTIVATION_ELU:ELU 激活。
  • MUDNN_ACTIVATION_IDENTITY:恒等映射。
  • MUDNN_ACTIVATION_SWISH:Swish 激活。
  • MUDNN_ACTIVATION_SILU:SiLU 激活(Swish 的变体)。

mudnnSeverity_t

日志/回调严重级别。

  • MUDNN_SEV_FATAL
  • MUDNN_SEV_ERROR
  • MUDNN_SEV_WARNING
  • MUDNN_SEV_INFO

mudnnMatMulEpilogue_t

MatMul 后处理模式,涵盖常见 Epilogue 组合。

  • MUDNN_MATMULLT_EPILOGUE_DEFAULT
  • MUDNN_MATMULLT_EPILOGUE_RELU
  • MUDNN_MATMULLT_EPILOGUE_RELU_AUX
  • MUDNN_MATMULLT_EPILOGUE_BIAS
  • MUDNN_MATMULLT_EPILOGUE_RELU_BIAS
  • MUDNN_MATMULLT_EPILOGUE_RELU_AUX_BIAS
  • MUDNN_MATMULLT_EPILOGUE_DRELU
  • MUDNN_MATMULLT_EPILOGUE_DRELU_BGRAD
  • MUDNN_MATMULLT_EPILOGUE_GELU
  • MUDNN_MATMULLT_EPILOGUE_GELU_AUX
  • MUDNN_MATMULLT_EPILOGUE_GELU_BIAS
  • MUDNN_MATMULLT_EPILOGUE_GELU_AUX_BIAS
  • MUDNN_MATMULLT_EPILOGUE_DGELU
  • MUDNN_MATMULLT_EPILOGUE_DGELU_BGRAD

mudnnConvolutionMode_t

卷积模式,匹配 cudnnConvolutionMode。

  • MUDNN_CONVOLUTION
  • MUDNN_CROSS_CORRELATION

mudnnReorderType_t

张量重排选项(已废弃,仅保留兼容)。

  • MUDNN_DEFAULT_REORDER
  • MUDNN_NO_REORDER

mudnnPointwiseMode_t

点算子模式,覆盖加减乘除与激活等。

  • MUDNN_POINTWISE_ADD
  • MUDNN_POINTWISE_ADD_SQUARE
  • MUDNN_POINTWISE_DIV
  • MUDNN_POINTWISE_MAX
  • MUDNN_POINTWISE_MIN
  • MUDNN_POINTWISE_MOD
  • MUDNN_POINTWISE_MUL
  • MUDNN_POINTWISE_POW
  • MUDNN_POINTWISE_SUB
  • MUDNN_POINTWISE_ABS
  • MUDNN_POINTWISE_CEIL
  • MUDNN_POINTWISE_COS
  • MUDNN_POINTWISE_EXP
  • MUDNN_POINTWISE_FLOOR
  • MUDNN_POINTWISE_LOG
  • MUDNN_POINTWISE_NEG
  • MUDNN_POINTWISE_RSQRT
  • MUDNN_POINTWISE_SIN
  • MUDNN_POINTWISE_SQRT
  • MUDNN_POINTWISE_TAN
  • MUDNN_POINTWISE_ERF
  • MUDNN_POINTWISE_IDENTITY
  • MUDNN_POINTWISE_RECIPROCAL
  • MUDNN_POINTWISE_ATAN2
  • MUDNN_POINTWISE_RELU_FWD
  • MUDNN_POINTWISE_TANH_FWD
  • MUDNN_POINTWISE_SIGMOID_FWD
  • MUDNN_POINTWISE_ELU_FWD
  • MUDNN_POINTWISE_GELU_FWD
  • MUDNN_POINTWISE_SOFTPLUS_FWD
  • MUDNN_POINTWISE_SWISH_FWD
  • MUDNN_POINTWISE_GELU_APPROX_TANH_FWD
  • MUDNN_POINTWISE_RELU_BWD
  • MUDNN_POINTWISE_TANH_BWD
  • MUDNN_POINTWISE_SIGMOID_BWD
  • MUDNN_POINTWISE_ELU_BWD
  • MUDNN_POINTWISE_GELU_BWD
  • MUDNN_POINTWISE_SOFTPLUS_BWD
  • MUDNN_POINTWISE_SWISH_BWD
  • MUDNN_POINTWISE_GELU_APPROX_TANH_BWD
  • MUDNN_POINTWISE_CMP_EQ
  • MUDNN_POINTWISE_CMP_NEQ
  • MUDNN_POINTWISE_CMP_GT
  • MUDNN_POINTWISE_CMP_GE
  • MUDNN_POINTWISE_CMP_LT
  • MUDNN_POINTWISE_CMP_LE
  • MUDNN_POINTWISE_LOGICAL_AND
  • MUDNN_POINTWISE_LOGICAL_OR
  • MUDNN_POINTWISE_LOGICAL_NOT
  • MUDNN_POINTWISE_GEN_INDEX
  • MUDNN_POINTWISE_BINARY_SELECT

mudnnResampleMode_t

重采样/插值模式,对应 cudnnResampleMode。

  • MUDNN_RESAMPLE_NEAREST
  • MUDNN_RESAMPLE_BILINEAR
  • MUDNN_RESAMPLE_AVGPOOL
  • MUDNN_RESAMPLE_AVGPOOL_INCLUDE_PADDING
  • MUDNN_RESAMPLE_AVGPOOL_EXCLUDE_PADDING
  • MUDNN_RESAMPLE_MAXPOOL

mudnnSignalMode_t

信号操作模式。

  • MUDNN_SIGNAL_SET
  • MUDNN_SIGNAL_WAIT

mudnnGenStatsMode_t

统计计算模式(如求和/平方和)。

  • MUDNN_GENSTATS_SUM_SQSUM

mudnnBnFinalizeStatsMode_t

BN finalize 阶段模式。

  • MUDNN_BN_FINALIZE_STATISTICS_TRAINING
  • MUDNN_BN_FINALIZE_STATISTICS_INFERENCE

mudnnRngDistribution_t

随机数分布类型。

  • MUDNN_RNG_DISTRIBUTION_BERNOULLI
  • MUDNN_RNG_DISTRIBUTION_UNIFORM
  • MUDNN_RNG_DISTRIBUTION_NORMAL

mudnnBackendAttributeName_t

Backend 属性名,覆盖图/执行计划/张量等的属性键。

  • MUDNN_ATTR_POINTWISE_MODE
  • MUDNN_ATTR_POINTWISE_MATH_PREC
  • MUDNN_ATTR_POINTWISE_NAN_PROPAGATION
  • MUDNN_ATTR_POINTWISE_RELU_LOWER_CLIP
  • MUDNN_ATTR_POINTWISE_RELU_UPPER_CLIP
  • MUDNN_ATTR_POINTWISE_RELU_LOWER_CLIP_SLOPE
  • MUDNN_ATTR_POINTWISE_ELU_ALPHA
  • MUDNN_ATTR_POINTWISE_SOFTPLUS_BETA
  • MUDNN_ATTR_POINTWISE_SWISH_BETA
  • MUDNN_ATTR_POINTWISE_AXIS
  • MUDNN_ATTR_CONVOLUTION_COMP_TYPE
  • MUDNN_ATTR_CONVOLUTION_CONV_MODE
  • MUDNN_ATTR_CONVOLUTION_DILATIONS
  • MUDNN_ATTR_CONVOLUTION_FILTER_STRIDES
  • MUDNN_ATTR_CONVOLUTION_POST_PADDINGS
  • MUDNN_ATTR_CONVOLUTION_PRE_PADDINGS
  • MUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS
  • MUDNN_ATTR_ENGINEHEUR_MODE
  • MUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH
  • MUDNN_ATTR_ENGINEHEUR_RESULTS
  • MUDNN_ATTR_ENGINEHEUR_SM_COUNT_TARGET
  • MUDNN_ATTR_ENGINEHEUR_DEVICEPROP
  • MUDNN_ATTR_ENGINECFG_ENGINE
  • MUDNN_ATTR_ENGINECFG_INTERMEDIATE_INFO
  • MUDNN_ATTR_ENGINECFG_KNOB_CHOICES
  • MUDNN_ATTR_ENGINECFG_WORKSPACE_SIZE
  • MUDNN_ATTR_ENGINECFG_SHARED_MEMORY_USED
  • MUDNN_ATTR_EXECUTION_PLAN_HANDLE
  • MUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG
  • MUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE
  • MUDNN_ATTR_EXECUTION_PLAN_COMPUTED_INTERMEDIATE_UIDS
  • MUDNN_ATTR_EXECUTION_PLAN_RUN_ONLY_INTERMEDIATE_UIDS
  • MUDNN_ATTR_EXECUTION_PLAN_JSON_REPRESENTATION
  • MUDNN_ATTR_EXECUTION_PLAN_KERNEL_CACHE
  • MUDNN_ATTR_EXECUTION_PLAN_DEVICEPROP
  • MUDNN_ATTR_INTERMEDIATE_INFO_UNIQUE_ID
  • MUDNN_ATTR_INTERMEDIATE_INFO_SIZE
  • MUDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_DATA_UIDS
  • MUDNN_ATTR_INTERMEDIATE_INFO_DEPENDENT_ATTRIBUTES
  • MUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE
  • MUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE
  • MUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA
  • MUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA
  • MUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC
  • MUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W
  • MUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X
  • MUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X
  • MUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY
  • MUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR
  • MUDNN_ATTR_OPERATION_POINTWISE_XDESC
  • MUDNN_ATTR_OPERATION_POINTWISE_BDESC
  • MUDNN_ATTR_OPERATION_POINTWISE_YDESC
  • MUDNN_ATTR_OPERATION_POINTWISE_ALPHA1
  • MUDNN_ATTR_OPERATION_POINTWISE_ALPHA2
  • MUDNN_ATTR_OPERATION_POINTWISE_DXDESC
  • MUDNN_ATTR_OPERATION_POINTWISE_DYDESC
  • MUDNN_ATTR_OPERATION_POINTWISE_TDESC
  • MUDNN_ATTR_OPERATION_GENSTATS_MODE
  • MUDNN_ATTR_OPERATION_GENSTATS_MATH_PREC
  • MUDNN_ATTR_OPERATION_GENSTATS_XDESC
  • MUDNN_ATTR_OPERATION_GENSTATS_SUMDESC
  • MUDNN_ATTR_OPERATION_GENSTATS_SQSUMDESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_STATS_MODE
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_MATH_PREC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_Y_SUM_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_Y_SQ_SUM_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_SCALE_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_BIAS_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_MEAN_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_VAR_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_MEAN_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_VAR_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_SAVED_MEAN_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_SAVED_INV_STD_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_EQ_SCALE_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_EQ_BIAS_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_ACCUM_COUNT_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_EPSILON_DESC
  • MUDNN_ATTR_OPERATION_BN_FINALIZE_EXP_AVERATE_FACTOR_DESC
  • MUDNN_ATTR_OPERATIONGRAPH_HANDLE
  • MUDNN_ATTR_OPERATIONGRAPH_OPS
  • MUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT
  • MUDNN_ATTR_OPERATIONGRAPH_IS_DYNAMIC_SHAPE_ENABLED
  • MUDNN_ATTR_OPERATIONGRAPH_IS_SAME_TOPOLOGY
  • MUDNN_ATTR_TENSOR_BYTE_ALIGNMENT
  • MUDNN_ATTR_TENSOR_DATA_TYPE
  • MUDNN_ATTR_TENSOR_DIMENSIONS
  • MUDNN_ATTR_TENSOR_STRIDES
  • MUDNN_ATTR_TENSOR_VECTOR_COUNT
  • MUDNN_ATTR_TENSOR_VECTORIZED_DIMENSION
  • MUDNN_ATTR_TENSOR_UNIQUE_ID
  • MUDNN_ATTR_TENSOR_IS_VIRTUAL
  • MUDNN_ATTR_TENSOR_IS_BY_VALUE
  • MUDNN_ATTR_TENSOR_REORDERING_MODE
  • MUDNN_ATTR_TENSOR_RAGGED_OFFSET_DESC
  • MUDNN_ATTR_VARIANT_PACK_UNIQUE_IDS
  • MUDNN_ATTR_VARIANT_PACK_DATA_POINTERS
  • MUDNN_ATTR_VARIANT_PACK_INTERMEDIATES
  • MUDNN_ATTR_VARIANT_PACK_WORKSPACE
  • MUDNN_ATTR_LAYOUT_INFO_TENSOR_UID
  • MUDNN_ATTR_LAYOUT_INFO_TYPES
  • MUDNN_ATTR_KNOB_INFO_TYPE
  • MUDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE
  • MUDNN_ATTR_KNOB_INFO_MINIMUM_VALUE
  • MUDNN_ATTR_KNOB_INFO_STRIDE
  • MUDNN_ATTR_ENGINE_OPERATION_GRAPH
  • MUDNN_ATTR_ENGINE_GLOBAL_INDEX
  • MUDNN_ATTR_ENGINE_KNOB_INFO
  • MUDNN_ATTR_ENGINE_NUMERICAL_NOTE
  • MUDNN_ATTR_ENGINE_LAYOUT_INFO
  • MUDNN_ATTR_ENGINE_BEHAVIOR_NOTE
  • MUDNN_ATTR_ENGINE_SM_COUNT_TARGET
  • MUDNN_ATTR_ENGINE_DEVICEPROP
  • MUDNN_ATTR_MATMUL_COMP_TYPE
  • MUDNN_ATTR_MATMUL_PADDING_VALUE
  • MUDNN_ATTR_OPERATION_MATMUL_ADESC
  • MUDNN_ATTR_OPERATION_MATMUL_BDESC
  • MUDNN_ATTR_OPERATION_MATMUL_CDESC
  • MUDNN_ATTR_OPERATION_MATMUL_DESC
  • MUDNN_ATTR_OPERATION_MATMUL_IRREGULARLY_STRIDED_BATCH_COUNT
  • MUDNN_ATTR_OPERATION_MATMUL_GEMM_M_OVERRIDE_DESC
  • MUDNN_ATTR_OPERATION_MATMUL_GEMM_N_OVERRIDE_DESC
  • MUDNN_ATTR_OPERATION_MATMUL_GEMM_K_OVERRIDE_DESC
  • MUDNN_ATTR_REDUCTION_OPERATOR
  • MUDNN_ATTR_REDUCTION_COMP_TYPE
  • MUDNN_ATTR_OPERATION_REDUCTION_XDESC
  • MUDNN_ATTR_OPERATION_REDUCTION_YDESC
  • MUDNN_ATTR_OPERATION_REDUCTION_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_MATH_PREC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_MEAN_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_INVSTD_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_X_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DY_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_SCALE_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_DY_SCALE_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_X_SCALE_DESC
  • MUDNN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_BIAS
  • MUDNN_ATTR_RESAMPLE_MODE
  • MUDNN_ATTR_RESAMPLE_COMP_TYPE
  • MUDNN_ATTR_RESAMPLE_SPATIAL_DIMS
  • MUDNN_ATTR_RESAMPLE_POST_PADDINGS
  • MUDNN_ATTR_RESAMPLE_PRE_PADDINGS
  • MUDNN_ATTR_RESAMPLE_STRIDES
  • MUDNN_ATTR_RESAMPLE_WINDOW_DIMS
  • MUDNN_ATTR_RESAMPLE_NAN_PROPAGATION
  • MUDNN_ATTR_RESAMPLE_PADDING_MODE
  • MUDNN_ATTR_OPERATION_RESAMPLE_FWD_XDESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_FWD_YDESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_FWD_IDXDESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_FWD_ALPHA
  • MUDNN_ATTR_OPERATION_RESAMPLE_FWD_BETA
  • MUDNN_ATTR_OPERATION_RESAMPLE_FWD_DESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_BWD_DXDESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_BWD_DYDESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_BWD_IDXDESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_BWD_ALPHA
  • MUDNN_ATTR_OPERATION_RESAMPLE_BWD_BETA
  • MUDNN_ATTR_OPERATION_RESAMPLE_BWD_DESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_BWD_XDESC
  • MUDNN_ATTR_OPERATION_RESAMPLE_BWD_YDESC
  • MUDNN_ATTR_OPERATION_CONCAT_AXIS
  • MUDNN_ATTR_OPERATION_CONCAT_INPUT_DESCS
  • MUDNN_ATTR_OPERATION_CONCAT_INPLACE_INDEX
  • MUDNN_ATTR_OPERATION_CONCAT_OUTPUT_DESC
  • MUDNN_ATTR_OPERATION_SIGNAL_MODE
  • MUDNN_ATTR_OPERATION_SIGNAL_FLAGDESC
  • MUDNN_ATTR_OPERATION_SIGNAL_VALUE
  • MUDNN_ATTR_OPERATION_SIGNAL_XDESC
  • MUDNN_ATTR_OPERATION_SIGNAL_YDESC
  • MUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_CONTAINER_DESC
  • MUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_YDESC
  • MUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_SEQUENCE_DESC
  • MUDNN_ATTR_OPERATION_PAGED_CACHE_LOAD_PAGE_TABLE_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_MODE
  • MUDNN_ATTR_OPERATION_NORM_FWD_PHASE
  • MUDNN_ATTR_OPERATION_NORM_FWD_XDESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_MEAN_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_INV_VARIANCE_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_SCALE_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_BIAS_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_EPSILON_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_EXP_AVG_FACTOR_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_INPUT_RUNNING_MEAN_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_INPUT_RUNNING_VAR_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_OUTPUT_RUNNING_MEAN_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_OUTPUT_RUNNING_VAR_DESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_YDESC
  • MUDNN_ATTR_OPERATION_NORM_FWD_PEER_STAT_DESCS
  • MUDNN_ATTR_OPERATION_NORM_BWD_MODE
  • MUDNN_ATTR_OPERATION_NORM_BWD_XDESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_MEAN_DESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_INV_VARIANCE_DESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_DYDESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_SCALE_DESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_EPSILON_DESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_DSCALE_DESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_DBIAS_DESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_DXDESC
  • MUDNN_ATTR_OPERATION_NORM_BWD_PEER_STAT_DESCS
  • MUDNN_ATTR_OPERATION_RESHAPE_XDESC
  • MUDNN_ATTR_OPERATION_RESHAPE_YDESC
  • MUDNN_ATTR_RNG_DISTRIBUTION
  • MUDNN_ATTR_RNG_NORMAL_DIST_MEAN
  • MUDNN_ATTR_RNG_NORMAL_DIST_STANDARD_DEVIATION
  • MUDNN_ATTR_RNG_UNIFORM_DIST_MAXIMUM
  • MUDNN_ATTR_RNG_UNIFORM_DIST_MINIMUM
  • MUDNN_ATTR_RNG_BERNOULLI_DIST_PROBABILITY
  • MUDNN_ATTR_OPERATION_RNG_YDESC
  • MUDNN_ATTR_OPERATION_RNG_SEED
  • MUDNN_ATTR_OPERATION_RNG_DESC
  • MUDNN_ATTR_OPERATION_RNG_OFFSET_DESC
  • MUDNN_ATTR_KERNEL_CACHE_OPERATION_GRAPH
  • MUDNN_ATTR_KERNEL_CACHE_IS_ENGINECFG_KERNEL_CACHED
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_XDESC
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_YDESC
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_SCALE_DESC
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_MATH_PREC
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_QUANTIZE_BLOCK_SIZE
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_XDESC
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_SCALE_DESC
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_YDESC
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_MATH_PREC
  • MUDNN_ATTR_OPERATION_BLOCK_SCALE_DEQUANTIZE_BLOCK_SIZE
  • MUDNN_ATTR_DEVICEPROP_DEVICE_ID
  • MUDNN_ATTR_DEVICEPROP_HANDLE
  • MUDNN_ATTR_DEVICEPROP_JSON_REPRESENTATION

mudnnBackendAttributeType_t

Backend 属性值类型,对应 cudnnBackendAttributeType。

  • MUDNN_TYPE_HANDLE
  • MUDNN_TYPE_DATA_TYPE
  • MUDNN_TYPE_BOOLEAN
  • MUDNN_TYPE_INT64
  • MUDNN_TYPE_FLOAT
  • MUDNN_TYPE_DOUBLE
  • MUDNN_TYPE_VOID_PTR
  • MUDNN_TYPE_CONVOLUTION_MODE
  • MUDNN_TYPE_HEUR_MODE
  • MUDNN_TYPE_KNOB_TYPE
  • MUDNN_TYPE_NAN_PROPOGATION
  • MUDNN_TYPE_NUMERICAL_NOTE
  • MUDNN_TYPE_LAYOUT_TYPE
  • MUDNN_TYPE_ATTRIB_NAME
  • MUDNN_TYPE_POINTWISE_MODE
  • MUDNN_TYPE_BACKEND_DESCRIPTOR
  • MUDNN_TYPE_GENSTATS_MODE
  • MUDNN_TYPE_BN_FINALIZE_STATS_MODE
  • MUDNN_TYPE_REDUCTION_OPERATOR_TYPE
  • MUDNN_TYPE_BEHAVIOR_NOTE
  • MUDNN_TYPE_TENSOR_REORDERING_MODE
  • MUDNN_TYPE_RESAMPLE_MODE
  • MUDNN_TYPE_PADDING_MODE
  • MUDNN_TYPE_INT32
  • MUDNN_TYPE_CHAR
  • MUDNN_TYPE_SIGNAL_MODE
  • MUDNN_TYPE_FRACTION
  • MUDNN_TYPE_NORM_MODE
  • MUDNN_TYPE_NORM_FWD_PHASE
  • MUDNN_TYPE_RNG_DISTRIBUTION

mudnnBackendDescriptorType_t

Backend 描述符类型,映射到各类操作/计划/张量描述符。

  • MUDNN_BACKEND_POINTWISE_DESCRIPTOR
  • MUDNN_BACKEND_CONVOLUTION_DESCRIPTOR
  • MUDNN_BACKEND_ENGINE_DESCRIPTOR
  • MUDNN_BACKEND_ENGINECFG_DESCRIPTOR
  • MUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR
  • MUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR
  • MUDNN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR
  • MUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR
  • MUDNN_BACKEND_KNOB_INFO_DESCRIPTOR
  • MUDNN_BACKEND_LAYOUT_INFO_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR
  • MUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR
  • MUDNN_BACKEND_VARIANT_PACK_DESCRIPTOR
  • MUDNN_BACKEND_TENSOR_DESCRIPTOR
  • MUDNN_BACKEND_MATMUL_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_BN_FINALIZE_STATISTICS_DESCRIPTOR
  • MUDNN_BACKEND_REDUCTION_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_BN_BWD_WEIGHTS_DESCRIPTOR
  • MUDNN_BACKEND_RESAMPLE_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_CONCAT_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_RESHAPE_DESCRIPTOR
  • MUDNN_BACKEND_RNG_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_RNG_DESCRIPTOR
  • MUDNN_BACKEND_KERNEL_CACHE_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_PAGED_CACHE_LOAD_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_BLOCK_SCALE_QUANTIZE_DESCRIPTOR
  • MUDNN_BACKEND_OPERATION_BLOCK_SCALE_DEQUANTIZE_DESCRIPTOR
  • MUDNN_BACKEND_DEVICEPROP_DESCRIPTOR

mudnnBackendNumericalNote_t

数值特性说明,用于引擎选择或诊断。

  • MUDNN_NUMERICAL_NOTE_TENSOR_CORE
  • MUDNN_NUMERICAL_NOTE_DOWN_CONVERT_INPUTS
  • MUDNN_NUMERICAL_NOTE_REDUCED_PRECISION_REDUCTION
  • MUDNN_NUMERICAL_NOTE_FFT
  • MUDNN_NUMERICAL_NOTE_NONDETERMINISTIC
  • MUDNN_NUMERICAL_NOTE_WINOGRAD
  • MUDNN_NUMERICAL_NOTE_STRICT_NAN_PROP
  • MUDNN_NUMERICAL_NOTE_TYPE_COUNT

mudnnBackendBehaviorNote_t

行为特性说明。

  • MUDNN_BEHAVIOR_NOTE_RUNTIME_COMPILATION
  • MUDNN_BEHAVIOR_NOTE_SUPPORTS_MUSA_GRAPH_NATIVE_API
  • MUDNN_BEHAVIOR_NOTE_TYPE_COUNT

mudnnBackendKnobType_t

Kernel 调优维度,涵盖块/瓦片等选项。

  • MUDNN_KNOB_TYPE_SPLIT_K
  • MUDNN_KNOB_TYPE_SWIZZLE
  • MUDNN_KNOB_TYPE_TILE_SIZE
  • MUDNN_KNOB_TYPE_USE_TEX
  • MUDNN_KNOB_TYPE_EDGE
  • MUDNN_KNOB_TYPE_KBLOCK
  • MUDNN_KNOB_TYPE_LDGA
  • MUDNN_KNOB_TYPE_LDGB
  • MUDNN_KNOB_TYPE_CHUNK_K
  • MUDNN_KNOB_TYPE_SPLIT_H
  • MUDNN_KNOB_TYPE_WINO_TILE
  • MUDNN_KNOB_TYPE_MULTIPLY
  • MUDNN_KNOB_TYPE_SPLIT_K_BUF
  • MUDNN_KNOB_TYPE_TILEK
  • MUDNN_KNOB_TYPE_STAGES
  • MUDNN_KNOB_TYPE_REDUCTION_MODE
  • MUDNN_KNOB_TYPE_CTA_SPLIT_K_MODE
  • MUDNN_KNOB_TYPE_SPLIT_K_SLC
  • MUDNN_KNOB_TYPE_IDX_MODE
  • MUDNN_KNOB_TYPE_SLICED
  • MUDNN_KNOB_TYPE_SPLIT_RS
  • MUDNN_KNOB_TYPE_SINGLEBUFFER
  • MUDNN_KNOB_TYPE_LDGC
  • MUDNN_KNOB_TYPE_SPECFILT
  • MUDNN_KNOB_TYPE_KERNEL_CFG
  • MUDNN_KNOB_TYPE_WORKSPACE
  • MUDNN_KNOB_TYPE_TILE_CGA
  • MUDNN_KNOB_TYPE_TILE_CGA_M
  • MUDNN_KNOB_TYPE_TILE_CGA_N
  • MUDNN_KNOB_TYPE_BLOCK_SIZE
  • MUDNN_KNOB_TYPE_OCCUPANCY
  • MUDNN_KNOB_TYPE_ARRAY_SIZE_PER_THREAD
  • MUDNN_KNOB_TYPE_NUM_C_PER_BLOCK
  • MUDNN_KNOB_TYPE_SPLIT_COLS
  • MUDNN_KNOB_TYPE_TILE_ROWS
  • MUDNN_KNOB_TYPE_TILE_COLS
  • MUDNN_KNOB_TYPE_LOAD_SIZE
  • MUDNN_KNOB_TYPE_CTA_COUNT
  • MUDNN_KNOB_TYPE_STREAM_K
  • MUDNN_KNOB_TYPE_SPLIT_P_SLC
  • MUDNN_KNOB_TYPE_TILE_M
  • MUDNN_KNOB_TYPE_TILE_N
  • MUDNN_KNOB_TYPE_WARP_SPEC_CFG
  • MUDNN_KNOB_TYPE_COUNTS

mudnnBackendLayoutType_t

推荐的布局类型。

  • MUDNN_LAYOUT_TYPE_PREFERRED_NCHW
  • MUDNN_LAYOUT_TYPE_PREFERRED_NHWC
  • MUDNN_LAYOUT_TYPE_PREFERRED_PAD4CK
  • MUDNN_LAYOUT_TYPE_PREFERRED_PAD8CK
  • MUDNN_LAYOUT_TYPE_COUNT

mudnnBackendHeurMode_t

引擎启发式模式。

  • MUDNN_HEUR_MODE_INSTANT
  • MUDNN_HEUR_MODE_B
  • MUDNN_HEUR_MODE_FALLBACK
  • MUDNN_HEUR_MODE_A
  • MUDNN_HEUR_MODES_COUNT

mudnnBackendTensorReordering_t

张量重排模式。

  • MUDNN_TENSOR_REORDERING_NONE

mudnnPaddingMode_t

Padding 模式。

  • MUDNN_ZERO_PAD
  • MUDNN_NEG_INF_PAD
  • MUDNN_EDGE_VAL_PAD

mudnnBackendNormMode_t

归一化类型。

  • MUDNN_LAYER_NORM
  • MUDNN_INSTANCE_NORM
  • MUDNN_BATCH_NORM
  • MUDNN_GROUP_NORM
  • MUDNN_RMS_NORM
  • MUDNN_ADA_LAYER_NORM

mudnnBackendNormFwdPhase_t

归一化前向阶段。

  • MUDNN_NORM_FWD_INFERENCE
  • MUDNN_NORM_FWD_TRAINING

mudnnDeterminism_t

  • MUDNN_NON_DETERMINISTIC
  • MUDNN_DETERMINISTIC

mudnnFoldingDirection_t

  • MUDNN_TRANSFORM_FOLD
  • MUDNN_TRANSFORM_UNFOLD

mudnnOpTensorOp_t

  • MUDNN_OP_TENSOR_ADD
  • MUDNN_OP_TENSOR_MUL
  • MUDNN_OP_TENSOR_MIN
  • MUDNN_OP_TENSOR_MAX
  • MUDNN_OP_TENSOR_SQRT
  • MUDNN_OP_TENSOR_NOT

mudnnReduceTensorIndices_t

  • MUDNN_REDUCE_TENSOR_NO_INDICES
  • MUDNN_REDUCE_TENSOR_FLATTENED_INDICES

mudnnIndicesType_t

  • MUDNN_32BIT_INDICES
  • MUDNN_64BIT_INDICES
  • MUDNN_16BIT_INDICES
  • MUDNN_8BIT_INDICES

mudnnSoftmaxAlgorithm_t

  • MUDNN_SOFTMAX_FAST:直接实现
  • MUDNN_SOFTMAX_ACCURATE:从每个点减去最大值以避免溢出
  • MUDNN_SOFTMAX_LOG

mudnnSoftmaxMode_t

  • MUDNN_SOFTMAX_MODE_INSTANCE:对每个 N 在所有 C、H、W 上计算 Softmax
  • MUDNN_SOFTMAX_MODE_CHANNEL:对每个 H、W、N 在所有 C 上计算 Softmax
  • MUDNN_SOFTMAX_MODE_SOFTMAX
  • MUDNN_SOFTMAX_MODE_LOG_SOFTMAX
  • MUDNN_SOFTMAX_MODE_LOG_SUM_EXP

mudnnPoolingMode_t

  • MUDNN_POOLING_MAX
  • MUDNN_POOLING_AVERAGE_COUNT_INCLUDE_PADDING:平均值计算包含padding 值
  • MUDNN_POOLING_AVERAGE_COUNT_EXCLUDE_PADDING:平均值计算不包含padding 值
  • MUDNN_POOLING_MAX_DETERMINISTIC
  • MUDNN_POOLING_GLOBAL_AVGPOOL
  • MUDNN_POOLING_ADAPTIVE_MAXPOOL
  • MUDNN_POOLING_ADAPTIVE_AVGPOOL

mudnnLRNMode_t

  • MUDNN_LRN_CROSS_CHANNEL_DIM1:沿张量的 dimA[1] 维度normalization

mudnnDivNormMode_t

  • MUDNN_DIVNORM_PRECOMPUTED_MEANS

mudnnBatchNormMode_t

  • MUDNN_BATCHNORM_PER_ACTIVATION:bnScale、bnBias 张量维度为 1xCxHxWx..(每个 CHW... 切片一个值,沿 N 切片normalization)
  • MUDNN_BATCHNORM_SPATIAL:bnScale、bnBias 张量维度为 1xCx1x1(每个 C 维一个值,沿 Nx1xHxW 子张量normalization)
  • MUDNN_BATCHNORM_SPATIAL_PERSISTENT:bnScale、bnBias 张量维度为 1xCx1x1(每个 C 维一个值,沿 Nx1xHxW 子张量normalization)。可能比 MUDNN_BATCHNORM_SPATIAL 更快,但会限制取值范围

mudnnBatchNormOps_t

  • MUDNN_BATCHNORM_OPS_BN:仅执行batch normalization
  • MUDNN_BATCHNORM_OPS_BN_ACTIVATION:先执行 batchNorm,再执行激活
  • MUDNN_BATCHNORM_OPS_BN_ADD_ACTIVATION:先执行 batchNorm,再执行 elemWiseAdd,再执行激活

mudnnNormMode_t

  • MUDNN_NORM_PER_ACTIVATION:bnScale、bnBias 张量维度为 1xCxHxWx..(每个 CHW... 切片一个值,沿 N 切片normalization)
  • MUDNN_NORM_PER_CHANNEL:bnScale、bnBias 张量维度为 1xCx1x1(每个 C 维一个值,沿 Nx1xHxW 子张量normalization)

mudnnNormAlgo_t

  • MUDNN_NORM_ALGO_STANDARD
  • MUDNN_NORM_ALGO_PERSIST

mudnnLayerNormMode_t

  • MUDNN_LAYER_NORM_MODE_DIRECT
  • MUDNN_LAYER_NORM_MODE_WELFORD

mudnnRMSNormMode_t

  • MUDNN_RMS_NORM_MODE_DIRECT
  • MUDNN_RMS_NORM_MODE_WELFORD

mudnnInterpolateMode_t

  • MUDNN_INTERPOLATE_NEAREST
  • MUDNN_INTERPOLATE_NEAREST_EXACT
  • MUDNN_INTERPOLATE_LINEAR
  • MUDNN_INTERPOLATE_BICUBIC

mudnnScatterMode_t

  • MUDNN_SCATTER_MODE_UPDATE_ONLY
  • MUDNN_SCATTER_MODE_ADD
  • MUDNN_SCATTER_MODE_SUB
  • MUDNN_SCATTER_MODE_MUL

mudnnPadMode_t

  • MUDNN_PAD_MODE_CONSTANT
  • MUDNN_PAD_MODE_REFLECT
  • MUDNN_PAD_MODE_REPLICATE
  • MUDNN_PAD_MODE_CIRCULAR

mudnnNormOps_t

  • MUDNN_NORM_OPS_NORM:仅执行normalization
  • MUDNN_NORM_OPS_NORM_ACTIVATION:先执行 Norm,再执行激活
  • MUDNN_NORM_OPS_NORM_ADD_ACTIVATION:先执行 Norm,再执行 elemWiseAdd,再执行激活

mudnnSamplerType_t

  • MUDNN_SAMPLER_BILINEAR

mudnnConvolutionFwdAlgo_t

  • MUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_GEMM
  • MUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM
  • MUDNN_CONVOLUTION_FWD_ALGO_GEMM
  • MUDNN_CONVOLUTION_FWD_ALGO_DIRECT
  • MUDNN_CONVOLUTION_FWD_ALGO_FFT
  • MUDNN_CONVOLUTION_FWD_ALGO_FFT_TILING
  • MUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD
  • MUDNN_CONVOLUTION_FWD_ALGO_WINOGRAD_NONFUSED
  • MUDNN_CONVOLUTION_FWD_ALGO_COUNT

mudnnConvolutionBwdFilterAlgo_t

  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_0:非确定性
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_1
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_3:非确定性
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD:未实现
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_WINOGRAD_NONFUSED
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_FFT_TILING
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_IMPLICIT_GEMM
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_GEMM
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_DIRECT
  • MUDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT

mudnnConvolutionBwdDataAlgo_t

  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_0:非确定性
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_1
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_FFT
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_FFT_TILING
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_WINOGRAD_NONFUSED
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_IMPLICIT_GEMM
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_GEMM
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_DIRECT
  • MUDNN_CONVOLUTION_BWD_DATA_ALGO_COUNT

mudnnCTCLossAlgo_t

  • MUDNN_CTC_LOSS_ALGO_DETERMINISTIC
  • MUDNN_CTC_LOSS_ALGO_NON_DETERMINISTIC

mudnnUnaryMode_t

  • MUDNN_UNARY_ADD
  • MUDNN_UNARY_SUB
  • MUDNN_UNARY_MUL
  • MUDNN_UNARY_DIV
  • MUDNN_UNARY_POW
  • MUDNN_UNARY_SQRT
  • MUDNN_UNARY_ROUND
  • MUDNN_UNARY_RSQRT
  • MUDNN_UNARY_RECIPROCAL
  • MUDNN_UNARY_SQUARE
  • MUDNN_UNARY_IS_FINITE
  • MUDNN_UNARY_IS_INF
  • MUDNN_UNARY_IS_NAN
  • MUDNN_UNARY_IS_NONZERO
  • MUDNN_UNARY_LOGICAL_AND
  • MUDNN_UNARY_LOGICAL_OR
  • MUDNN_UNARY_LOGICAL_XOR
  • MUDNN_UNARY_EXP
  • MUDNN_UNARY_LOG
  • MUDNN_UNARY_LOG10
  • MUDNN_UNARY_LOG2
  • MUDNN_UNARY_LOG1P
  • MUDNN_UNARY_SIN
  • MUDNN_UNARY_COS
  • MUDNN_UNARY_ACOS
  • MUDNN_UNARY_TAN
  • MUDNN_UNARY_ATAN
  • MUDNN_UNARY_LT
  • MUDNN_UNARY_LE
  • MUDNN_UNARY_GT
  • MUDNN_UNARY_GE
  • MUDNN_UNARY_EQ
  • MUDNN_UNARY_NE
  • MUDNN_UNARY_MAX
  • MUDNN_UNARY_MIN
  • MUDNN_UNARY_CEIL
  • MUDNN_UNARY_FLOOR
  • MUDNN_UNARY_SIGMOID
  • MUDNN_UNARY_HARDSIGMOID
  • MUDNN_UNARY_RELU
  • MUDNN_UNARY_LEAKY_RELU
  • MUDNN_UNARY_RELU6
  • MUDNN_UNARY_TANH
  • MUDNN_UNARY_CLIP
  • MUDNN_UNARY_ELU
  • MUDNN_UNARY_SWISH
  • MUDNN_UNARY_HARDSWISH
  • MUDNN_UNARY_MISH
  • MUDNN_UNARY_SILU
  • MUDNN_UNARY_SOFTPLUS
  • MUDNN_UNARY_GELU
  • MUDNN_UNARY_GELU_TANH
  • MUDNN_UNARY_ABS
  • MUDNN_UNARY_ERF
  • MUDNN_UNARY_IDENTITY
  • MUDNN_UNARY_TRUEDIV
  • MUDNN_UNARY_FLOORDIV
  • MUDNN_UNARY_TRUNCATEDIV
  • MUDNN_UNARY_FLOORMOD
  • MUDNN_UNARY_TRUNCATEMOD
  • MUDNN_UNARY_SUB_BY_ALPHA
  • MUDNN_UNARY_DIV_BY_ALPHA
  • MUDNN_UNARY_TRUNCATEDIV_BY_ALPHA
  • MUDNN_UNARY_TRUEDIV_BY_ALPHA
  • MUDNN_UNARY_FLOORDIV_BY_ALPHA
  • MUDNN_UNARY_CAST
  • MUDNN_UNARY_SIGN

mudnnBinaryMode_t

  • MUDNN_BINARY_ADD
  • MUDNN_BINARY_SUB
  • MUDNN_BINARY_MUL
  • MUDNN_BINARY_DIV
  • MUDNN_BINARY_POW
  • MUDNN_BINARY_ADD_ALPHA
  • MUDNN_BINARY_SUB_ALPHA
  • MUDNN_BINARY_LOGICAL_AND
  • MUDNN_BINARY_LOGICAL_OR
  • MUDNN_BINARY_LOGICAL_XOR
  • MUDNN_BINARY_LT
  • MUDNN_BINARY_LE
  • MUDNN_BINARY_GT
  • MUDNN_BINARY_GE
  • MUDNN_BINARY_EQ
  • MUDNN_BINARY_NE
  • MUDNN_BINARY_MAX
  • MUDNN_BINARY_MIN
  • MUDNN_BINARY_PRELU
  • MUDNN_BINARY_LEAKY_RELU_BW
  • MUDNN_BINARY_RELU6_BW
  • MUDNN_BINARY_THRESHOLD_BW
  • MUDNN_BINARY_SIGMOID_BW
  • MUDNN_BINARY_SILU_BW
  • MUDNN_BINARY_TANH_BW
  • MUDNN_BINARY_GELU_NONE_BW
  • MUDNN_BINARY_GELU_TANH_BW
  • MUDNN_BINARY_RSQRT_BW
  • MUDNN_BINARY_TRUEDIV
  • MUDNN_BINARY_FLOORDIV
  • MUDNN_BINARY_TRUNCATEDIV
  • MUDNN_BINARY_FLOORMOD
  • MUDNN_BINARY_TRUNCATEMOD
  • MUDNN_BINARY_DIVNONAN
  • MUDNN_BINARY_SQUARED_DIFF

mudnnTernaryMode_t

  • MUDNN_TERNARY_SELECT
  • MUDNN_TERNARY_SELECTV2
  • MUDNN_TERNARY_ADDCMUL
  • MUDNN_TERNARY_ADDCMUL_ALPHA
  • MUDNN_TERNARY_ADDCDIV
  • MUDNN_TERNARY_ADDCDIV_ALPHA
  • MUDNN_TERNARY_CLAMP

mudnnReduceMode_t

  • MUDNN_REDUCE_MAX
  • MUDNN_REDUCE_ADD
  • MUDNN_REDUCE_MUL
  • MUDNN_REDUCE_MEAN
  • MUDNN_REDUCE_MIN
  • MUDNN_REDUCE_PROD
  • MUDNN_REDUCE_AND
  • MUDNN_REDUCE_NORM
  • MUDNN_REDUCE_OR
  • MUDNN_REDUCE_MUL_NO_ZEROS
  • MUDNN_REDUCE_L2LOSS
  • MUDNN_REDUCE_MAX_UNSTABLE
  • MUDNN_REDUCE_MIN_UNSTABLE
  • MUDNN_REDUCE_VARIANCE
  • MUDNN_REDUCE_STD

mudnnParamDataType_t

  • MUDNN_PARAM_DATA_NONE
  • MUDNN_PARAM_DATA_FLOAT
  • MUDNN_PARAM_DATA_DOUBLE
  • MUDNN_PARAM_DATA_INT64
  • MUDNN_PARAM_DATA_POINTER
  • MUDNN_PARAM_DATA_UINT64

mudnnLossReduceMode_t

  • MUDNN_LOSS_REDUCE_MODE_NONE
  • MUDNN_LOSS_REDUCE_MODE_MEAN
  • MUDNN_LOSS_REDUCE_MODE_SUM
  • MUDNN_LOSS_REDUCE_MODE_BATCHMEAN

mudnnCumMode_t

  • MUDNN_CUM_ADD
  • MUDNN_CUM_MUL

类型定义

  • mudnnRNNDescriptor_ttypedef struct mudnnRNNStruct* mudnnRNNDescriptor_t
  • mudnnRNNDataDescriptor_ttypedef struct mudnnRNNDataStruct* mudnnRNNDataDescriptor_t
  • mudnnAttnDescriptor_ttypedef struct mudnnAttnStruct* mudnnAttnDescriptor_t MUDNN_DEPRECATED
  • mudnnDotDescriptor_ttypedef struct mudnnDotStruct* mudnnDotDescriptor_t
  • mudnnConvolutionBwdFilterAlgoPerfStructtypedef struct mudnnConvolutionBwdFilterAlgoPerfStruct MUDNN_DEPRECATED;卷积描述符,兼容 cudnnConvolutionDescriptor。
  • mudnnHandle_ttypedef struct mudnnHandleStruct* mudnnHandle_t
  • mudnnRuntimeTag_ttypedef struct mudnnRuntimeTag_t mudnnRuntimeTag_t MUDNN_DEPRECATED;运行时 Tag(占位,已弃用)。
  • mudnnDebug_ttypedef struct mudnnDebugStruct mudnnDebug_t;回调调试信息,类似 cudnnDebug_t。
  • mudnnCallback_ttypedef void(* mudnnCallback_t) (mudnnSeverity_t sev, void *udata, const mudnnDebug_t *dbg, const char *msg);回调函数原型,参照 cudnnSetCallback。
  • mudnnBackendDescriptor_ttypedef void* mudnnBackendDescriptor_t;Backend 描述符通用句柄。
  • mudnnFraction_ttypedef struct mudnnFractionStruct mudnnFraction_t;分数结构体,等价 cudnnFraction_t。
  • mudnnTensorDescriptor_ttypedef struct mudnnTensorStruct* mudnnTensorDescriptor_t
  • mudnnTensorTransformDescriptor_ttypedef struct mudnnTensorTransformStruct* mudnnTensorTransformDescriptor_t MUDNN_DEPRECATED
  • mudnnLRNDescriptor_ttypedef struct mudnnLRNStruct* mudnnLRNDescriptor_t
  • mudnnSpatialTransformerDescriptor_ttypedef struct mudnnSpatialTransformerStruct* mudnnSpatialTransformerDescriptor_t
  • mudnnCTCLossDescriptor_ttypedef struct mudnnCTCLossStruct* mudnnCTCLossDescriptor_t
  • mudnnUnaryDescriptor_ttypedef struct mudnnUnaryStruct * mudnnUnaryDescriptor_t
  • mudnnBinaryDescriptor_ttypedef struct mudnnBinaryStruct * mudnnBinaryDescriptor_t
  • mudnnTernaryDescriptor_ttypedef struct mudnnTernaryStruct * mudnnTernaryDescriptor_t
  • mudnnReduceDescriptor_ttypedef struct mudnnReduceStruct* mudnnReduceDescriptor_t
  • mudnnConcatDescriptor_ttypedef struct mudnnConcatStruct* mudnnConcatDescriptor_t
  • mudnnNonzeroDescriptor_ttypedef struct mudnnNonzeroStruct* mudnnNonzeroDescriptor_t
  • mudnnLayerNormDescriptor_ttypedef struct mudnnLayerNormStruct* mudnnLayerNormDescriptor_t
  • mudnnDropoutDescriptor_ttypedef struct mudnnDropoutStruct* mudnnDropoutDescriptor_t
  • mudnnInterpolateDescriptor_ttypedef struct mudnnInterpolateStruct* mudnnInterpolateDescriptor_t
  • mudnnSortDescriptor_ttypedef struct mudnnSortStruct* mudnnSortDescriptor_t
  • mudnnScatterDescriptor_ttypedef struct mudnnScatterStruct* mudnnScatterDescriptor_t
  • mudnnScatterNDDescriptor_ttypedef struct mudnnScatterNDStruct* mudnnScatterNDDescriptor_t
  • mudnnSoftmaxDescriptor_ttypedef struct mudnnSoftmaxStruct* mudnnSoftmaxDescriptor_t
  • mudnnTopKDescriptor_ttypedef struct mudnnTopKStruct* mudnnTopKDescriptor_t
  • mudnnRopeDescriptor_ttypedef struct mudnnRopeStruct* mudnnRopeDescriptor_t
  • mudnnRMSNormDescriptor_ttypedef struct mudnnRMSNormStruct* mudnnRMSNormDescriptor_t
  • mudnnSwiGluDescriptor_ttypedef struct mudnnSwiGluStruct* mudnnSwiGluDescriptor_t
  • mudnnMaskedSelectDescriptor_ttypedef struct mudnnMaskedSelectStruct* mudnnMaskedSelectDescriptor_t
  • mudnnGroupNormDescriptor_ttypedef struct mudnnGroupNormStruct* mudnnGroupNormDescriptor_t
  • mudnnSortByKeyDescriptor_ttypedef struct mudnnSortByKeyStruct* mudnnSortByKeyDescriptor_t
  • mudnnPadDescriptor_ttypedef struct mudnnPadStruct* mudnnPadDescriptor_t
  • mudnnGluDescriptor_ttypedef struct mudnnGluStruct * mudnnGluDescriptor_t
  • mudnnNLLLossDescriptor_ttypedef struct mudnnNLLLossStruct* mudnnNLLLossDescriptor_t
  • mudnnKLDivLossDescriptor_ttypedef struct mudnnKLDivLossStruct* mudnnKLDivLossDescriptor_t
  • mudnnCrossEntropyLossDescriptor_ttypedef struct mudnnCrossEntropyLossStruct* mudnnCrossEntropyLossDescriptor_t
  • mudnnScaledDotProductAttentionDescriptor_ttypedef struct mudnnScaledDotProductAttentionStruct* mudnnScaledDotProductAttentionDescriptor_t
  • mudnnBatchMatMulDescriptor_ttypedef struct mudnnBatchMatMulStruct* mudnnBatchMatMulDescriptor_t
  • mudnnFillDescriptor_ttypedef struct mudnnFillStruct* mudnnFillDescriptor_t
  • mudnnCumDescriptor_ttypedef struct mudnnCumStruct* mudnnCumDescriptor_t
  • mudnnMaskedScatterDescriptor_ttypedef struct mudnnMaskedScatterStruct* mudnnMaskedScatterDescriptor_t
  • mudnnBatchNormDescriptor_ttypedef struct mudnnBatchNormStruct* mudnnBatchNormDescriptor_t
  • mudnnPermuteDescriptor_ttypedef struct mudnnPermuteStruct* mudnnPermuteDescriptor_t

API 函数

函数索引

mudnn_graph.h

mudnn_cnn.h

mudnn_ops.h

mudnn_adv.h

函数参考

mudnn_graph.h

mudnnGetVersion
size_t mudnnGetVersion(void)

声明位置mudnn_graph.h

获取当前编译的 muDNN 版本号。

以整数编码的版本信息,主/次/补丁组合。

返回值

以整数编码的版本信息,主/次/补丁组合。

mudnnGetMaxDeviceVersion
size_t mudnnGetMaxDeviceVersion(void)

声明位置mudnn_graph.h

查询支持的最高设备架构版本。

设备架构版本号。

返回值

设备架构版本号。

mudnnGetMusartVersion
size_t mudnnGetMusartVersion(void)

声明位置mudnn_graph.h

获取静态链接的 MUSA Runtime 版本。

MUSA Runtime 版本号。

返回值

MUSA Runtime 版本号。

mudnnGetErrorString
const char *mudnnGetErrorString(mudnnStatus_t status)

声明位置mudnn_graph.h

获取可读错误字符串,类似 cudnnGetErrorString。

参数

参数类型说明
statusmudnnStatus_t-
mudnnGetLastErrorString
void mudnnGetLastErrorString(char *message, size_t max_size)

声明位置mudnn_graph.h

获取最近一次错误字符串。

参数

参数类型说明
messagechar *用户缓冲区。
max_sizesize_t缓冲区大小。
mudnnQueryRuntimeError
mudnnStatus_t mudnnQueryRuntimeError(mudnnHandle_t handle, mudnnStatus_t *rstatus, mudnnErrQueryMode_t mode, mudnnRuntimeTag_t *tag)

声明位置mudnn_graph.h

状态:已废弃。

查询运行时错误(已弃用,与 cudnnQueryRuntimeError 类似)。

参数

参数类型说明
handlemudnnHandle_t-
rstatusmudnnStatus_t *-
modemudnnErrQueryMode_t-
tagmudnnRuntimeTag_t *-
mudnnGetProperty
mudnnStatus_t mudnnGetProperty(libraryPropertyType type, int *value)

声明位置mudnn_graph.h

获取库属性,兼容 cudnnGetProperty。

参数

参数类型说明
typelibraryPropertyType-
valueint *-
mudnnCreate
mudnnStatus_t mudnnCreate(mudnnHandle_t *handle)

声明位置mudnn_graph.h

创建/销毁 muDNN 上下文。

参数

参数类型说明
handlemudnnHandle_t *-
mudnnDestroy
mudnnStatus_t mudnnDestroy(mudnnHandle_t handle)

声明位置mudnn_graph.h

创建/销毁 muDNN 上下文。

参数

参数类型说明
handlemudnnHandle_t-
mudnnSetStream
mudnnStatus_t mudnnSetStream(mudnnHandle_t handle, musaStream_t streamId)

声明位置mudnn_graph.h

设置或获取流,类似 cudnnSetStream/cudnnGetStream。

参数

参数类型说明
handlemudnnHandle_t-
streamIdmusaStream_t-
mudnnGetStream
mudnnStatus_t mudnnGetStream(mudnnHandle_t handle, musaStream_t *streamId)

声明位置mudnn_graph.h

设置或获取流,类似 cudnnSetStream/cudnnGetStream。

参数

参数类型说明
handlemudnnHandle_t-
streamIdmusaStream_t *-
mudnnSetCallback
mudnnStatus_t mudnnSetCallback(unsigned mask, void *udata, mudnnCallback_t fptr)

声明位置mudnn_graph.h

注册回调或查询当前回调。

参数

参数类型说明
maskunsigned-
udatavoid *-
fptrmudnnCallback_t-
mudnnGetCallback
mudnnStatus_t mudnnGetCallback(unsigned *mask, void **udata, mudnnCallback_t *fptr)

声明位置mudnn_graph.h

注册回调或查询当前回调。

参数

参数类型说明
maskunsigned *-
udatavoid **-
fptrmudnnCallback_t *-
mudnnGraphVersionCheck
mudnnStatus_t mudnnGraphVersionCheck(void)

声明位置mudnn_graph.h

交叉库版本检测,与 cudnnGraphVersionCheck 类似。

成功或版本不匹配错误。

返回值

成功或版本不匹配错误。

mudnnBackendCreateDescriptor
mudnnStatus_t mudnnBackendCreateDescriptor(mudnnBackendDescriptorType_t descriptorType, mudnnBackendDescriptor_t *descriptor)

声明位置mudnn_graph.h

创建 Backend 描述符,等价 cudnnBackendCreateDescriptor。

参数

参数类型说明
descriptorTypemudnnBackendDescriptorType_t-
descriptormudnnBackendDescriptor_t *-
mudnnBackendDestroyDescriptor
mudnnStatus_t mudnnBackendDestroyDescriptor(mudnnBackendDescriptor_t descriptor)

声明位置mudnn_graph.h

销毁 Backend 描述符。

参数

参数类型说明
descriptormudnnBackendDescriptor_t-
mudnnBackendInitialize
mudnnStatus_t mudnnBackendInitialize(mudnnBackendDescriptor_t descriptor)

声明位置mudnn_graph.h

状态:已废弃。

初始化 Backend 描述符(已废弃)。

参数

参数类型说明
descriptormudnnBackendDescriptor_t-
mudnnBackendFinalize
mudnnStatus_t mudnnBackendFinalize(mudnnBackendDescriptor_t descriptor)

声明位置mudnn_graph.h

Finalize Backend 描述符,准备执行。

参数

参数类型说明
descriptormudnnBackendDescriptor_t-
mudnnBackendSetAttribute
mudnnStatus_t mudnnBackendSetAttribute(mudnnBackendDescriptor_t descriptor, mudnnBackendAttributeName_t attributeName, mudnnBackendAttributeType_t attributeType, int64_t elementCount, const void *arrayOfElements)

声明位置mudnn_graph.h

设置 Backend 属性,类似 cudnnBackendSetAttribute。

参数

参数类型说明
descriptormudnnBackendDescriptor_t-
attributeNamemudnnBackendAttributeName_t-
attributeTypemudnnBackendAttributeType_t-
elementCountint64_t-
arrayOfElementsconst void *-
mudnnBackendGetAttribute
mudnnStatus_t mudnnBackendGetAttribute(mudnnBackendDescriptor_t const descriptor, mudnnBackendAttributeName_t attributeName, mudnnBackendAttributeType_t attributeType, int64_t requestedElementCount, int64_t *elementCount, void *arrayOfElements)

声明位置mudnn_graph.h

获取 Backend 属性,类似 cudnnBackendGetAttribute。

参数

参数类型说明
descriptormudnnBackendDescriptor_t const-
attributeNamemudnnBackendAttributeName_t-
attributeTypemudnnBackendAttributeType_t-
requestedElementCountint64_t-
elementCountint64_t *-
arrayOfElementsvoid *-
mudnnBackendExecute
mudnnStatus_t mudnnBackendExecute(mudnnHandle_t handle, mudnnBackendDescriptor_t executionPlan, mudnnBackendDescriptor_t variantPack)

声明位置mudnn_graph.h

执行已 final 的执行计划,类似 cudnnBackendExecute。

参数

参数类型说明
handlemudnnHandle_t-
executionPlanmudnnBackendDescriptor_t-
variantPackmudnnBackendDescriptor_t-
mudnnBackendPopulateMusaGraph
mudnnStatus_t mudnnBackendPopulateMusaGraph(mudnnHandle_t handle, mudnnBackendDescriptor_t executionPlan, mudnnBackendDescriptor_t variantPack, musaGraph_t graph)

声明位置mudnn_graph.h

以 MUSA graph 填充执行计划,对标 cudnnBackendPopulateCudaGraph。

参数

参数类型说明
handlemudnnHandle_t-
executionPlanmudnnBackendDescriptor_t-
variantPackmudnnBackendDescriptor_t-
graphmusaGraph_t-
mudnnBackendUpdateMusaGraph
mudnnStatus_t mudnnBackendUpdateMusaGraph(mudnnHandle_t handle, mudnnBackendDescriptor_t executionPlan, mudnnBackendDescriptor_t variantPack, musaGraph_t graph)

声明位置mudnn_graph.h

用新的 VariantPack 更新已有 graph,类似 cudnnBackendUpdateCudaGraph。

参数

参数类型说明
handlemudnnHandle_t-
executionPlanmudnnBackendDescriptor_t-
variantPackmudnnBackendDescriptor_t-
graphmusaGraph_t-

mudnn_cnn.h

mudnnCreateConvolutionDescriptor
mudnnStatus_t mudnnCreateConvolutionDescriptor(mudnnConvolutionDescriptor_t *convDesc)

声明位置mudnn_cnn.h

状态:已废弃。

创建卷积描述符(类似 cudnnCreateConvolutionDescriptor)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t *返回创建好的卷积描述符指针。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnDestroyConvolutionDescriptor
mudnnStatus_t mudnnDestroyConvolutionDescriptor(mudnnConvolutionDescriptor_t convDesc)

声明位置mudnn_cnn.h

状态:已废弃。

销毁卷积描述符。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t待销毁的卷积描述符。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnSetConvolutionMathType
mudnnStatus_t mudnnSetConvolutionMathType(mudnnConvolutionDescriptor_t convDesc, mudnnMathType_t mathType)

声明位置mudnn_cnn.h

状态:已废弃。

设置卷积计算模式。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t卷积描述符。
mathTypemudnnMathType_t计算模式(如 TF32/FP16 等)。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionMathType
mudnnStatus_t mudnnGetConvolutionMathType(mudnnConvolutionDescriptor_t convDesc, mudnnMathType_t *mathType)

声明位置mudnn_cnn.h

状态:已废弃。

获取卷积计算模式。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t卷积描述符。
mathTypemudnnMathType_t *返回的计算模式。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnSetConvolutionGroupCount
mudnnStatus_t mudnnSetConvolutionGroupCount(mudnnConvolutionDescriptor_t convDesc, int groupCount)

声明位置mudnn_cnn.h

状态:已废弃。

设置分组卷积的组数。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t卷积描述符。
groupCountint分组数,默认 1。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionGroupCount
mudnnStatus_t mudnnGetConvolutionGroupCount(mudnnConvolutionDescriptor_t convDesc, int *groupCount)

声明位置mudnn_cnn.h

状态:已废弃。

获取分组卷积的组数。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t卷积描述符。
groupCountint *返回的分组数。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnSetConvolutionReorderType
mudnnStatus_t mudnnSetConvolutionReorderType(mudnnConvolutionDescriptor_t convDesc, mudnnReorderType_t reorderType)

声明位置mudnn_cnn.h

状态:已废弃。

设置重排类型(已废弃,兼容 cudnnReorderType)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t卷积描述符。
reorderTypemudnnReorderType_t重排类型。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionReorderType
mudnnStatus_t mudnnGetConvolutionReorderType(mudnnConvolutionDescriptor_t convDesc, mudnnReorderType_t *reorderType)

声明位置mudnn_cnn.h

状态:已废弃。

获取重排类型(已废弃)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t卷积描述符。
reorderTypemudnnReorderType_t *返回的重排类型。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnSetConvolution2dDescriptor
mudnnStatus_t mudnnSetConvolution2dDescriptor(mudnnConvolutionDescriptor_t convDesc, int pad_h, int pad_w, int u, int v, int dilation_h, int dilation_w, mudnnConvolutionMode_t mode, mudnnDataType_t computeType)

声明位置mudnn_cnn.h

状态:已废弃。

配置 2D 卷积参数。

参数

  • convDesc (mudnnConvolutionDescriptor_t)
  • pad_h (int)
  • pad_w (int)
  • u (int)
  • v (int)
  • dilation_h (int)
  • dilation_w (int)
  • mode (mudnnConvolutionMode_t):卷积或互相关
  • computeType (mudnnDataType_t):计算类型(累加类型)
mudnnGetConvolution2dDescriptor
mudnnStatus_t mudnnGetConvolution2dDescriptor(const mudnnConvolutionDescriptor_t convDesc, int *pad_h, int *pad_w, int *u, int *v, int *dilation_h, int *dilation_w, mudnnConvolutionMode_t *mode, mudnnDataType_t *computeType)

声明位置mudnn_cnn.h

状态:已废弃。

读取 2D 卷积参数。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
pad_hint *返回 padding 高度。
pad_wint *返回 padding 宽度。
uint *返回垂直 stride。
vint *返回水平 stride。
dilation_hint *返回垂直 dilation。
dilation_wint *返回水平 dilation。
modemudnnConvolutionMode_t *返回卷积/互相关模式。
computeTypemudnnDataType_t *返回累加计算类型。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnSetConvolutionNdDescriptor
mudnnStatus_t mudnnSetConvolutionNdDescriptor(mudnnConvolutionDescriptor_t convDesc, int arrayLength, const int padA[], const int filterStrideA[], const int dilationA[], mudnnConvolutionMode_t mode, mudnnDataType_t computeType)

声明位置mudnn_cnn.h

状态:已废弃。

配置 Nd 卷积参数。

参数

参数类型说明
convDescmudnnConvolutionDescriptor_t-
arrayLengthint数组长度
padAconst intpadding数组
filterStrideAconst int滤波步长数组
dilationAconst intdilation数组
modemudnnConvolutionMode_t卷积模式
computeTypemudnnDataType_t计算类型(累加类型)
mudnnGetConvolutionNdDescriptor
mudnnStatus_t mudnnGetConvolutionNdDescriptor(const mudnnConvolutionDescriptor_t convDesc, int arrayLengthRequested, int *arrayLength, int padA[], int strideA[], int dilationA[], mudnnConvolutionMode_t *mode, mudnnDataType_t *computeType)

声明位置mudnn_cnn.h

状态:已废弃。

读取 Nd 卷积参数。

padA/strideA/dilationA

返回的 padding/stride/dilation 数组

参数

参数类型说明
convDescconst mudnnConvolutionDescriptor_t-
arrayLengthRequestedint输入/输出维度个数要求
arrayLengthint *实际返回的维度个数(数组长度)
padAint-
strideAint-
dilationAint-
modemudnnConvolutionMode_t *卷积模式
computeTypemudnnDataType_t *计算类型(累加类型)
mudnnGetConvolution2dForwardOutputDim
mudnnStatus_t mudnnGetConvolution2dForwardOutputDim(const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t inputTensorDesc, const mudnnFilterDescriptor_t filterDesc, int *n, int *c, int *h, int *w)

声明位置mudnn_cnn.h

状态:已废弃。

计算 2D 卷积输出尺寸(N,C,H,W)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
inputTensorDescconst mudnnTensorDescriptor_t输入张量描述符。
filterDescconst mudnnFilterDescriptor_t滤波器描述符。
nint *输出批大小。
cint *输出通道数。
hint *输出高度。
wint *输出宽度。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionNdForwardOutputDim
mudnnStatus_t mudnnGetConvolutionNdForwardOutputDim(const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t inputTensorDesc, const mudnnFilterDescriptor_t filterDesc, int nbDims, int tensorOuputDimA[])

声明位置mudnn_cnn.h

状态:已废弃。

计算 Nd 卷积输出尺寸。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
inputTensorDescconst mudnnTensorDescriptor_t输入张量描述符。
filterDescconst mudnnFilterDescriptor_t滤波器描述符。
nbDimsint期望的维度数。
tensorOuputDimAint输出张量各维尺寸数组,长度为 nbDims。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionForwardAlgorithmMaxCount
mudnnStatus_t mudnnGetConvolutionForwardAlgorithmMaxCount(mudnnHandle_t handle, int *count)

声明位置mudnn_cnn.h

状态:已废弃。

查询前向卷积算法数量上限。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
countint *返回可用算法的最大个数。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionForwardAlgorithm_v7
mudnnStatus_t mudnnGetConvolutionForwardAlgorithm_v7(mudnnHandle_t handle, const mudnnTensorDescriptor_t srcDesc, const mudnnFilterDescriptor_t filterDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t destDesc, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionFwdAlgoPerf_t *perfResults)

声明位置mudnn_cnn.h

状态:已废弃。

查询前向卷积算法(v7 接口),返回性能结果。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
srcDescconst mudnnTensorDescriptor_t输入张量描述符。
filterDescconst mudnnFilterDescriptor_t滤波器描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
destDescconst mudnnTensorDescriptor_t输出张量描述符。
requestedAlgoCountconst int期望返回的算法数量上限。
returnedAlgoCountint *实际返回的算法数量。
perfResultsmudnnConvolutionFwdAlgoPerf_t *算法性能结果数组。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnFindConvolutionForwardAlgorithm
mudnnStatus_t mudnnFindConvolutionForwardAlgorithm(mudnnHandle_t handle, const mudnnTensorDescriptor_t xDesc, const mudnnFilterDescriptor_t wDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t yDesc, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionFwdAlgoPerf_t *perfResults)

声明位置mudnn_cnn.h

状态:已废弃。

搜索前向卷积算法(不携带实际数据)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
requestedAlgoCountconst int期望返回的算法数量上限。
returnedAlgoCountint *实际返回的算法数量。
perfResultsmudnnConvolutionFwdAlgoPerf_t *算法性能结果数组,长度不小于 requestedAlgoCount。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnFindConvolutionForwardAlgorithmEx
mudnnStatus_t mudnnFindConvolutionForwardAlgorithmEx(mudnnHandle_t handle, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnFilterDescriptor_t wDesc, const void *w, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t yDesc, void *y, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionFwdAlgoPerf_t *perfResults, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_cnn.h

状态:已废弃。

搜索前向卷积算法(含真实数据与 workspace)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
wconst void *指向滤波器数据的设备指针。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *指向输出张量数据的设备指针。
requestedAlgoCountconst int期望返回的算法数量上限。
returnedAlgoCountint *实际返回的算法数量。
perfResultsmudnnConvolutionFwdAlgoPerf_t *算法性能结果数组。
workSpacevoid *指向搜索用工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnIm2Col
mudnnStatus_t mudnnIm2Col(mudnnHandle_t handle, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnFilterDescriptor_t wDesc, const mudnnConvolutionDescriptor_t convDesc, void *colBuffer)

声明位置mudnn_cnn.h

状态:已废弃。

将输入张量转为 col 格式(im2col)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
colBuffervoid *指向输出 col 缓冲区的设备指针。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnReorderFilterAndBias
mudnnStatus_t mudnnReorderFilterAndBias(mudnnHandle_t handle, const mudnnFilterDescriptor_t filterDesc, mudnnReorderType_t reorderType, const void *filterData, void *reorderedFilterData, int reorderBias, const void *biasData, void *reorderedBiasData)

声明位置mudnn_cnn.h

状态:已废弃。

重排滤波器与偏置数据。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
filterDescconst mudnnFilterDescriptor_t滤波器描述符。
reorderTypemudnnReorderType_t重排类型。
filterDataconst void *指向原始滤波器数据的设备指针。
reorderedFilterDatavoid *指向重排后滤波器数据的设备指针。
reorderBiasint是否重排偏置(非 0 则重排)。
biasDataconst void *指向原始偏置数据的设备指针。
reorderedBiasDatavoid *指向重排后偏置数据的设备指针。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionForwardWorkspaceSize
mudnnStatus_t mudnnGetConvolutionForwardWorkspaceSize(mudnnHandle_t handle, const mudnnTensorDescriptor_t xDesc, const mudnnFilterDescriptor_t wDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t yDesc, mudnnConvolutionFwdAlgo_t algo, size_t *sizeInBytes)

声明位置mudnn_cnn.h

状态:已废弃。

查询前向卷积算法所需最小 workspace。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
algomudnnConvolutionFwdAlgo_t指定的前向卷积算法。
sizeInBytessize_t *返回最小 workspace 大小(字节)。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnConvolutionForward
mudnnStatus_t mudnnConvolutionForward(mudnnHandle_t handle, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnFilterDescriptor_t wDesc, const void *w, const mudnnConvolutionDescriptor_t convDesc, mudnnConvolutionFwdAlgo_t algo, void *workSpace, size_t workSpaceSizeInBytes, const void *beta, const mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_cnn.h

状态:已废弃。

前向卷积:y = alpha * Conv(x,w) + beta * y。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
alphaconst void *标量系数 alpha 指针(设备端)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
wconst void *指向滤波器数据的设备指针。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
algomudnnConvolutionFwdAlgo_t前向卷积算法。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
betaconst void *标量系数 beta 指针(设备端)。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *指向输出/累加张量数据的设备指针。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnConvolutionBiasActivationForward
mudnnStatus_t mudnnConvolutionBiasActivationForward(mudnnHandle_t handle, const void *alpha1, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnFilterDescriptor_t wDesc, const void *w, const mudnnConvolutionDescriptor_t convDesc, mudnnConvolutionFwdAlgo_t algo, void *workSpace, size_t workSpaceSizeInBytes, const void *alpha2, const mudnnTensorDescriptor_t zDesc, const void *z, const mudnnTensorDescriptor_t biasDesc, const void *bias, const mudnnActivationDescriptor_t activationDesc, const mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_cnn.h

状态:已废弃。

融合卷积/偏置/激活前向计算:y = Act(alpha1conv(x)+alpha2z+bias)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
alpha1const void *卷积输出系数(设备端)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
wconst void *指向滤波器数据的设备指针。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
algomudnnConvolutionFwdAlgo_t前向卷积算法。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
alpha2const void *残差张量系数(设备端)。
zDescconst mudnnTensorDescriptor_t残差张量描述符。
zconst void *指向残差张量数据的设备指针,可为 NULL。
biasDescconst mudnnTensorDescriptor_t偏置张量描述符。
biasconst void *指向偏置数据的设备指针,可为 NULL。
activationDescconst mudnnActivationDescriptor_t激活描述符。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *指向输出/累加张量数据的设备指针。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionBackwardDataAlgorithmMaxCount
mudnnStatus_t mudnnGetConvolutionBackwardDataAlgorithmMaxCount(mudnnHandle_t handle, int *count)

声明位置mudnn_cnn.h

状态:已废弃。

返回可用的数据反向传播算法数量上限。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
countint *返回可用算法的最大个数。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnFindConvolutionBackwardDataAlgorithm
mudnnStatus_t mudnnFindConvolutionBackwardDataAlgorithm(mudnnHandle_t handle, const mudnnFilterDescriptor_t wDesc, const mudnnTensorDescriptor_t dyDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t dxDesc, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionBwdDataAlgoPerf_t *perfResults)

声明位置mudnn_cnn.h

状态:已废弃。

搜索数据反向传播算法(无实际数据)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
dyDescconst mudnnTensorDescriptor_t输出梯度张量描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
dxDescconst mudnnTensorDescriptor_t输入梯度张量描述符。
requestedAlgoCountconst int期望返回算法数目。
returnedAlgoCountint *实际返回算法数目。
perfResultsmudnnConvolutionBwdDataAlgoPerf_t *算法性能结果数组。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnFindConvolutionBackwardDataAlgorithmEx
mudnnStatus_t mudnnFindConvolutionBackwardDataAlgorithmEx(mudnnHandle_t handle, const mudnnFilterDescriptor_t wDesc, const void *w, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t dxDesc, void *dx, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionBwdDataAlgoPerf_t *perfResults, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_cnn.h

状态:已废弃。

搜索数据反向传播算法(含真实数据与 workspace)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
wconst void *指向滤波器数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *指向输入梯度数据的设备指针。
requestedAlgoCountconst int期望返回算法数目。
returnedAlgoCountint *实际返回算法数目。
perfResultsmudnnConvolutionBwdDataAlgoPerf_t *算法性能结果数组。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionBackwardDataAlgorithm_v7
mudnnStatus_t mudnnGetConvolutionBackwardDataAlgorithm_v7(mudnnHandle_t handle, const mudnnFilterDescriptor_t filterDesc, const mudnnTensorDescriptor_t diffDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t gradDesc, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionBwdDataAlgoPerf_t *perfResults)

声明位置mudnn_cnn.h

状态:已废弃。

查询数据反向传播算法(v7 接口),返回性能结果。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
filterDescconst mudnnFilterDescriptor_t滤波器描述符。
diffDescconst mudnnTensorDescriptor_t输出梯度描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
gradDescconst mudnnTensorDescriptor_t输入梯度描述符。
requestedAlgoCountconst int期望返回算法数目。
returnedAlgoCountint *实际返回算法数目。
perfResultsmudnnConvolutionBwdDataAlgoPerf_t *算法性能结果数组。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionBackwardDataWorkspaceSize
mudnnStatus_t mudnnGetConvolutionBackwardDataWorkspaceSize(mudnnHandle_t handle, const mudnnFilterDescriptor_t wDesc, const mudnnTensorDescriptor_t dyDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t dxDesc, mudnnConvolutionBwdDataAlgo_t algo, size_t *sizeInBytes)

声明位置mudnn_cnn.h

状态:已废弃。

查询数据反向传播算法所需最小 workspace。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
algomudnnConvolutionBwdDataAlgo_t反向数据算法。
sizeInBytessize_t *返回所需最小 workspace(字节)。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnConvolutionBackwardData
mudnnStatus_t mudnnConvolutionBackwardData(mudnnHandle_t handle, const void *alpha, const mudnnFilterDescriptor_t wDesc, const void *w, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnConvolutionDescriptor_t convDesc, mudnnConvolutionBwdDataAlgo_t algo, void *workSpace, size_t workSpaceSizeInBytes, const void *beta, const mudnnTensorDescriptor_t dxDesc, void *dx)

声明位置mudnn_cnn.h

状态:已废弃。

数据反向传播计算:dx = alphaConvBW(dy,w)+betadx。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
alphaconst void *标量系数 alpha 指针(设备端)。
wDescconst mudnnFilterDescriptor_t滤波器描述符。
wconst void *指向滤波器数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
algomudnnConvolutionBwdDataAlgo_t反向数据算法。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
betaconst void *标量系数 beta 指针(设备端)。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *指向输入梯度数据的设备指针。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetFoldedConvBackwardDataDescriptors
mudnnStatus_t mudnnGetFoldedConvBackwardDataDescriptors(const mudnnHandle_t handle, const mudnnFilterDescriptor_t filterDesc, const mudnnTensorDescriptor_t diffDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnTensorDescriptor_t gradDesc, const mudnnTensorFormat_t transformFormat, mudnnFilterDescriptor_t foldedFilterDesc, mudnnTensorDescriptor_t paddedDiffDesc, mudnnConvolutionDescriptor_t foldedConvDesc, mudnnTensorDescriptor_t foldedGradDesc, mudnnTensorTransformDescriptor_t filterFoldTransDesc, mudnnTensorTransformDescriptor_t diffPadTransDesc, mudnnTensorTransformDescriptor_t gradFoldTransDesc, mudnnTensorTransformDescriptor_t gradUnfoldTransDesc)

声明位置mudnn_cnn.h

状态:已废弃。

生成数据反向传播相关折叠描述符。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
filterDescconst mudnnFilterDescriptor_t原始滤波器描述符。
diffDescconst mudnnTensorDescriptor_t输出梯度描述符。
convDescconst mudnnConvolutionDescriptor_t原始卷积描述符。
gradDescconst mudnnTensorDescriptor_t输入梯度描述符。
transformFormatconst mudnnTensorFormat_t期望的折叠张量格式。
foldedFilterDescmudnnFilterDescriptor_t折叠后的滤波器描述符。
paddedDiffDescmudnnTensorDescriptor_t填充后的输出梯度描述符。
foldedConvDescmudnnConvolutionDescriptor_t折叠后的卷积描述符。
foldedGradDescmudnnTensorDescriptor_t折叠后的输入梯度描述符。
filterFoldTransDescmudnnTensorTransformDescriptor_t滤波器折叠的变换描述符。
diffPadTransDescmudnnTensorTransformDescriptor_t输出梯度填充的变换描述符。
gradFoldTransDescmudnnTensorTransformDescriptor_t输入梯度折叠的变换描述符。
gradUnfoldTransDescmudnnTensorTransformDescriptor_t输入梯度反折叠的变换描述符。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnCnnVersionCheck
mudnnStatus_t mudnnCnnVersionCheck(void)

声明位置mudnn_cnn.h

mudnnGetConvolutionBackwardFilterAlgorithmMaxCount
mudnnStatus_t mudnnGetConvolutionBackwardFilterAlgorithmMaxCount(mudnnHandle_t handle, int *count)

声明位置mudnn_cnn.h

状态:已废弃。

返回可用的滤波器反向传播算法数量上限。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
countint *返回可用算法的最大个数。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnFindConvolutionBackwardFilterAlgorithm
mudnnStatus_t mudnnFindConvolutionBackwardFilterAlgorithm(mudnnHandle_t handle, const mudnnTensorDescriptor_t xDesc, const mudnnTensorDescriptor_t dyDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnFilterDescriptor_t dwDesc, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionBwdFilterAlgoPerf_t *perfResults)

声明位置mudnn_cnn.h

状态:已废弃。

搜索滤波器反向传播算法(无实际数据)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
dwDescconst mudnnFilterDescriptor_t滤波器梯度描述符。
requestedAlgoCountconst int期望返回算法数目。
returnedAlgoCountint *实际返回算法数目。
perfResultsmudnnConvolutionBwdFilterAlgoPerf_t *算法性能结果数组。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnFindConvolutionBackwardFilterAlgorithmEx
mudnnStatus_t mudnnFindConvolutionBackwardFilterAlgorithmEx(mudnnHandle_t handle, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnTensorDescriptor_t dyDesc, const void *y, const mudnnConvolutionDescriptor_t convDesc, const mudnnFilterDescriptor_t dwDesc, void *dw, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionBwdFilterAlgoPerf_t *perfResults, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_cnn.h

状态:已废弃。

搜索滤波器反向传播算法(含真实数据与 workspace)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
yconst void *指向输出张量数据的设备指针(如果需要)。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
dwDescconst mudnnFilterDescriptor_t滤波器梯度描述符。
dwvoid *指向滤波器梯度数据的设备指针。
requestedAlgoCountconst int期望返回算法数目。
returnedAlgoCountint *实际返回算法数目。
perfResultsmudnnConvolutionBwdFilterAlgoPerf_t *算法性能结果数组。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionBackwardFilterAlgorithm_v7
mudnnStatus_t mudnnGetConvolutionBackwardFilterAlgorithm_v7(mudnnHandle_t handle, const mudnnTensorDescriptor_t srcDesc, const mudnnTensorDescriptor_t diffDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnFilterDescriptor_t gradDesc, const int requestedAlgoCount, int *returnedAlgoCount, mudnnConvolutionBwdFilterAlgoPerf_t *perfResults)

声明位置mudnn_cnn.h

状态:已废弃。

查询滤波器反向传播算法性能(v7 接口)。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
srcDescconst mudnnTensorDescriptor_t输入张量描述符。
diffDescconst mudnnTensorDescriptor_t输出梯度描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
gradDescconst mudnnFilterDescriptor_t滤波器梯度描述符。
requestedAlgoCountconst int期望返回算法数目。
returnedAlgoCountint *实际返回算法数目。
perfResultsmudnnConvolutionBwdFilterAlgoPerf_t *算法性能结果数组。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnGetConvolutionBackwardFilterWorkspaceSize
mudnnStatus_t mudnnGetConvolutionBackwardFilterWorkspaceSize(mudnnHandle_t handle, const mudnnTensorDescriptor_t xDesc, const mudnnTensorDescriptor_t dyDesc, const mudnnConvolutionDescriptor_t convDesc, const mudnnFilterDescriptor_t gradDesc, mudnnConvolutionBwdFilterAlgo_t algo, size_t *sizeInBytes)

声明位置mudnn_cnn.h

状态:已废弃。

查询滤波器反向传播算法所需最小 workspace。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
gradDescconst mudnnFilterDescriptor_t滤波器梯度描述符。
algomudnnConvolutionBwdFilterAlgo_t反向滤波器算法。
sizeInBytessize_t *返回所需最小 workspace(字节)。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnConvolutionBackwardFilter
mudnnStatus_t mudnnConvolutionBackwardFilter(mudnnHandle_t handle, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnConvolutionDescriptor_t convDesc, mudnnConvolutionBwdFilterAlgo_t algo, void *workSpace, size_t workSpaceSizeInBytes, const void *beta, const mudnnFilterDescriptor_t dwDesc, void *dw)

声明位置mudnn_cnn.h

状态:已废弃。

滤波器反向传播计算:dw = alphaConvBW(x,dy) + betadw。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
alphaconst void *标量系数 alpha 指针(设备端)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
convDescconst mudnnConvolutionDescriptor_t卷积描述符。
algomudnnConvolutionBwdFilterAlgo_t反向滤波器算法。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
betaconst void *标量系数 beta 指针(设备端)。
dwDescconst mudnnFilterDescriptor_t滤波器梯度描述符。
dwvoid *指向滤波器梯度数据的设备指针。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnConvolutionBackwardBias
mudnnStatus_t mudnnConvolutionBackwardBias(mudnnHandle_t handle, const void *alpha, const mudnnTensorDescriptor_t dyDesc, const void *dy, const void *beta, const mudnnTensorDescriptor_t dbDesc, void *db)

声明位置mudnn_cnn.h

状态:已废弃。

计算反向传播偏置梯度:db = alphaReduce(dy) + betadb。

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
alphaconst void *标量系数 alpha 指针(设备端)。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
betaconst void *标量系数 beta 指针(设备端)。
dbDescconst mudnnTensorDescriptor_t偏置梯度张量描述符。
dbvoid *指向偏置梯度数据的设备指针。

返回值

mudnnStatus_t 成功返回 MUDNN_STATUS_SUCCESS,失败返回错误码。

mudnnCreateFusedOpsConstParamPack
mudnnStatus_t mudnnCreateFusedOpsConstParamPack(mudnnFusedOpsConstParamPack_t *constPack, mudnnFusedOps_t ops)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
constPackmudnnFusedOpsConstParamPack_t *-
opsmudnnFusedOps_t-
mudnnDestroyFusedOpsConstParamPack
mudnnStatus_t mudnnDestroyFusedOpsConstParamPack(mudnnFusedOpsConstParamPack_t constPack)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
constPackmudnnFusedOpsConstParamPack_t-
mudnnSetFusedOpsConstParamPackAttribute
mudnnStatus_t mudnnSetFusedOpsConstParamPackAttribute(mudnnFusedOpsConstParamPack_t constPack, mudnnFusedOpsConstParamLabel_t paramLabel, const void *param)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
constPackmudnnFusedOpsConstParamPack_t-
paramLabelmudnnFusedOpsConstParamLabel_t-
paramconst void *-
mudnnGetFusedOpsConstParamPackAttribute
mudnnStatus_t mudnnGetFusedOpsConstParamPackAttribute(const mudnnFusedOpsConstParamPack_t constPack, mudnnFusedOpsConstParamLabel_t paramLabel, void *param, int *isNULL)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
constPackconst mudnnFusedOpsConstParamPack_t-
paramLabelmudnnFusedOpsConstParamLabel_t-
paramvoid *-
isNULLint *-
mudnnCreateFusedOpsVariantParamPack
mudnnStatus_t mudnnCreateFusedOpsVariantParamPack(mudnnFusedOpsVariantParamPack_t *varPack, mudnnFusedOps_t ops)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
varPackmudnnFusedOpsVariantParamPack_t *-
opsmudnnFusedOps_t-
mudnnDestroyFusedOpsVariantParamPack
mudnnStatus_t mudnnDestroyFusedOpsVariantParamPack(mudnnFusedOpsVariantParamPack_t varPack)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
varPackmudnnFusedOpsVariantParamPack_t-
mudnnSetFusedOpsVariantParamPackAttribute
mudnnStatus_t mudnnSetFusedOpsVariantParamPackAttribute(mudnnFusedOpsVariantParamPack_t varPack, mudnnFusedOpsVariantParamLabel_t paramLabel, void *ptr)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
varPackmudnnFusedOpsVariantParamPack_t-
paramLabelmudnnFusedOpsVariantParamLabel_t-
ptrvoid *-
mudnnGetFusedOpsVariantParamPackAttribute
mudnnStatus_t mudnnGetFusedOpsVariantParamPackAttribute(const mudnnFusedOpsVariantParamPack_t varPack, mudnnFusedOpsVariantParamLabel_t paramLabel, void *ptr)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
varPackconst mudnnFusedOpsVariantParamPack_t-
paramLabelmudnnFusedOpsVariantParamLabel_t-
ptrvoid *-
mudnnCreateFusedOpsPlan
mudnnStatus_t mudnnCreateFusedOpsPlan(mudnnFusedOpsPlan_t *plan, mudnnFusedOps_t ops)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
planmudnnFusedOpsPlan_t *-
opsmudnnFusedOps_t-
mudnnDestroyFusedOpsPlan
mudnnStatus_t mudnnDestroyFusedOpsPlan(mudnnFusedOpsPlan_t plan)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
planmudnnFusedOpsPlan_t-
mudnnMakeFusedOpsPlan
mudnnStatus_t mudnnMakeFusedOpsPlan(mudnnHandle_t handle, mudnnFusedOpsPlan_t plan, const mudnnFusedOpsConstParamPack_t constPack, size_t *workspaceSizeInBytes)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
handlemudnnHandle_t-
planmudnnFusedOpsPlan_t-
constPackconst mudnnFusedOpsConstParamPack_t-
workspaceSizeInBytessize_t *-
mudnnFusedOpsExecute
mudnnStatus_t mudnnFusedOpsExecute(mudnnHandle_t handle, const mudnnFusedOpsPlan_t plan, mudnnFusedOpsVariantParamPack_t varPack)

声明位置mudnn_cnn.h

状态:已废弃。

参数

参数类型说明
handlemudnnHandle_t-
planconst mudnnFusedOpsPlan_t-
varPackmudnnFusedOpsVariantParamPack_t-

mudnn_ops.h

mudnnCreateTensorDescriptor
mudnnStatus_t mudnnCreateTensorDescriptor(mudnnTensorDescriptor_t *tensorDesc)

声明位置mudnn_ops.h

创建空的张量描述符。

参数

参数类型说明
tensorDescmudnnTensorDescriptor_t *返回创建好的张量描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTensor4dDescriptor
mudnnStatus_t mudnnSetTensor4dDescriptor(mudnnTensorDescriptor_t tensorDesc, mudnnTensorFormat_t format, mudnnDataType_t dataType, int n, int c, int h, int w)

声明位置mudnn_ops.h

配置 4D 张量描述符(包含布局)。

参数

参数类型说明
tensorDescmudnnTensorDescriptor_t目标张量描述符。
formatmudnnTensorFormat_t张量布局(如 NCHW/NHWC)。
dataTypemudnnDataType_t数据类型。
nint批大小。
cint通道数。
hint高度。
wint宽度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTensor4dDescriptorEx
mudnnStatus_t mudnnSetTensor4dDescriptorEx(mudnnTensorDescriptor_t tensorDesc, mudnnDataType_t dataType, int n, int c, int h, int w, int nStride, int cStride, int hStride, int wStride)

声明位置mudnn_ops.h

配置 4D 张量描述符(显式 stride)。

参数

参数类型说明
tensorDescmudnnTensorDescriptor_t目标张量描述符。
dataTypemudnnDataType_t数据类型。
nint批大小。
cint通道数。
hint高度。
wint宽度。
nStrideintN 方向步长。
cStrideintC 方向步长。
hStrideintH 方向步长。
wStrideintW 方向步长。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetTensor4dDescriptor
mudnnStatus_t mudnnGetTensor4dDescriptor(const mudnnTensorDescriptor_t tensorDesc, mudnnDataType_t *dataType, int *n, int *c, int *h, int *w, int *nStride, int *cStride, int *hStride, int *wStride)

声明位置mudnn_ops.h

查询 4D 张量描述符信息。

参数

参数类型说明
tensorDescconst mudnnTensorDescriptor_t目标张量描述符。
dataTypemudnnDataType_t *返回数据类型。
nint *返回批大小。
cint *返回通道数。
hint *返回高度。
wint *返回宽度。
nStrideint *返回 N 步长。
cStrideint *返回 C 步长。
hStrideint *返回 H 步长。
wStrideint *返回 W 步长。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTensorNdDescriptor
mudnnStatus_t mudnnSetTensorNdDescriptor(mudnnTensorDescriptor_t tensorDesc, mudnnDataType_t dataType, int nbDims, const int dimA[], const int strideA[])

声明位置mudnn_ops.h

配置 ND 张量描述符(显式维度与步长)。

参数

参数类型说明
tensorDescmudnnTensorDescriptor_t目标张量描述符。
dataTypemudnnDataType_t数据类型。
nbDimsint维度数。
dimAconst int各维尺寸数组。
strideAconst int各维步长数组。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTensorNdDescriptorEx
mudnnStatus_t mudnnSetTensorNdDescriptorEx(mudnnTensorDescriptor_t tensorDesc, mudnnTensorFormat_t format, mudnnDataType_t dataType, int nbDims, const int dimA[])

声明位置mudnn_ops.h

配置 ND 张量描述符(基于格式推导步长)。

参数

参数类型说明
tensorDescmudnnTensorDescriptor_t目标张量描述符。
formatmudnnTensorFormat_t张量布局。
dataTypemudnnDataType_t数据类型。
nbDimsint维度数。
dimAconst int各维尺寸数组。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetTensorNdDescriptor
mudnnStatus_t mudnnGetTensorNdDescriptor(const mudnnTensorDescriptor_t tensorDesc, int nbDimsRequested, mudnnDataType_t *dataType, int *nbDims, int dimA[], int strideA[])

声明位置mudnn_ops.h

查询 ND 张量描述符信息。

参数

参数类型说明
tensorDescconst mudnnTensorDescriptor_t目标张量描述符。
nbDimsRequestedint希望返回的最大维度数。
dataTypemudnnDataType_t *返回数据类型。
nbDimsint *返回实际维度数。
dimAint返回尺寸数组。
strideAint返回步长数组。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetTensorSizeInBytes
mudnnStatus_t mudnnGetTensorSizeInBytes(const mudnnTensorDescriptor_t tensorDesc, size_t *size)

声明位置mudnn_ops.h

计算张量所需字节数。

参数

参数类型说明
tensorDescconst mudnnTensorDescriptor_t目标张量描述符。
sizesize_t *返回张量占用字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyTensorDescriptor
mudnnStatus_t mudnnDestroyTensorDescriptor(mudnnTensorDescriptor_t tensorDesc)

声明位置mudnn_ops.h

销毁张量描述符。

参数

参数类型说明
tensorDescmudnnTensorDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnInitTransformDest
mudnnStatus_t mudnnInitTransformDest(const mudnnTensorTransformDescriptor_t transformDesc, const mudnnTensorDescriptor_t srcDesc, mudnnTensorDescriptor_t destDesc, size_t *destSizeInBytes)

声明位置mudnn_ops.h

状态:已废弃。

创建变换输出描述符并返回大小(Deprecated)。

参数

参数类型说明
transformDescconst mudnnTensorTransformDescriptor_t张量变换描述符。
srcDescconst mudnnTensorDescriptor_t源张量描述符。
destDescmudnnTensorDescriptor_t目标张量描述符。
destSizeInBytessize_t *返回目标张量字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateTensorTransformDescriptor
mudnnStatus_t mudnnCreateTensorTransformDescriptor(mudnnTensorTransformDescriptor_t *transformDesc)

声明位置mudnn_ops.h

状态:已废弃。

创建张量变换描述符(Deprecated)。

参数

参数类型说明
transformDescmudnnTensorTransformDescriptor_t *返回变换描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTensorTransformDescriptor
mudnnStatus_t mudnnSetTensorTransformDescriptor(mudnnTensorTransformDescriptor_t transformDesc, const uint32_t nbDims, const mudnnTensorFormat_t destFormat, const int32_t padBeforeA[], const int32_t padAfterA[], const uint32_t foldA[], const mudnnFoldingDirection_t direction)

声明位置mudnn_ops.h

状态:已废弃。

配置张量变换描述符(Deprecated)。

当前实现限制:

仅支持基本的格式转换(NCHW <-> NHWC)

padding、fold等高级特性尚未完整实现

参数

参数类型说明
transformDescmudnnTensorTransformDescriptor_t变换描述符。
nbDimsconst uint32_t维度数量。
destFormatconst mudnnTensorFormat_t目标格式。
padBeforeAconst int32_t前向 padding 数组。
padAfterAconst int32_t后向 padding 数组。
foldAconst uint32_t折叠配置数组。
directionconst mudnnFoldingDirection_t折叠/展开方向。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetTensorTransformDescriptor
mudnnStatus_t mudnnGetTensorTransformDescriptor(mudnnTensorTransformDescriptor_t transformDesc, uint32_t nbDimsRequested, mudnnTensorFormat_t *destFormat, int32_t padBeforeA[], int32_t padAfterA[], uint32_t foldA[], mudnnFoldingDirection_t *direction)

声明位置mudnn_ops.h

状态:已废弃。

查询张量变换描述符内容(Deprecated)。

参数

参数类型说明
transformDescmudnnTensorTransformDescriptor_t变换描述符。
nbDimsRequesteduint32_t请求的最大维度数。
destFormatmudnnTensorFormat_t *返回目标格式。
padBeforeAint32_t返回前向 padding。
padAfterAint32_t返回后向 padding。
foldAuint32_t返回折叠配置。
directionmudnnFoldingDirection_t *返回折叠方向。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyTensorTransformDescriptor
mudnnStatus_t mudnnDestroyTensorTransformDescriptor(mudnnTensorTransformDescriptor_t transformDesc)

声明位置mudnn_ops.h

状态:已废弃。

销毁张量变换描述符(Deprecated)。

参数

参数类型说明
transformDescmudnnTensorTransformDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnTransformTensor
mudnnStatus_t mudnnTransformTensor(mudnnHandle_t handle, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_ops.h

状态:已废弃。

张量布局变换(output = alpha * x + beta * y,Deprecated)。

当前实现限制:

支持以下格式转换:

3D: NCW <-> NWC

4D: NCHW <-> NHWC

5D: NCDHW <-> NDHWC

beta 仅支持 0.0 或 1.0,其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

alpha 仅支持 1.0,其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *指向输出/累加张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnTransformTensorEx
mudnnStatus_t mudnnTransformTensorEx(mudnnHandle_t handle, const mudnnTensorTransformDescriptor_t transDesc, const void *alpha, const mudnnTensorDescriptor_t srcDesc, const void *srcData, const void *beta, const mudnnTensorDescriptor_t destDesc, void *destData)

声明位置mudnn_ops.h

状态:已废弃。

张量布局变换扩展版(支持 transform 描述符,Deprecated)。

当前实现限制:

transform 描述符的配置功能尚未完整实现

alpha 仅支持 1.0,其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

beta 仅支持 0.0,其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

建议使用 mudnnTransformTensor 进行基本的格式转换

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
transDescconst mudnnTensorTransformDescriptor_t张量变换描述符。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
srcDescconst mudnnTensorDescriptor_t源张量描述符。
srcDataconst void *指向源张量数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
destDescconst mudnnTensorDescriptor_t目标张量描述符。
destDatavoid *指向目标张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnAddTensor
mudnnStatus_t mudnnAddTensor(mudnnHandle_t handle, const void *alpha, const mudnnTensorDescriptor_t aDesc, const void *A, const void *beta, const mudnnTensorDescriptor_t cDesc, void *C)

声明位置mudnn_ops.h

状态:已废弃。

张量加法:C = alpha * A + beta * C(Deprecated)。

当前实现限制:

beta 仅支持 0.0 或 1.0,其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

alpha 支持任意值

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
aDescconst mudnnTensorDescriptor_t输入张量 A 描述符。
Aconst void *指向输入张量 A 数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
cDescconst mudnnTensorDescriptor_t输出张量 C 描述符。
Cvoid *指向输出/累加张量 C 数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateOpTensorDescriptor
mudnnStatus_t mudnnCreateOpTensorDescriptor(mudnnOpTensorDescriptor_t *opTensorDesc)

声明位置mudnn_ops.h

状态:已废弃。

创建 OpTensor 描述符(Deprecated)。

参数

参数类型说明
opTensorDescmudnnOpTensorDescriptor_t *返回 OpTensor 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetOpTensorDescriptor
mudnnStatus_t mudnnSetOpTensorDescriptor(mudnnOpTensorDescriptor_t opTensorDesc, mudnnOpTensorOp_t opTensorOp, mudnnDataType_t opTensorCompType, mudnnNanPropagation_t opTensorNanOpt)

声明位置mudnn_ops.h

状态:已废弃。

配置 OpTensor 描述符(Deprecated)。

参数

参数类型说明
opTensorDescmudnnOpTensorDescriptor_tOpTensor 描述符。
opTensorOpmudnnOpTensorOp_t操作类型(加/乘/最值等)。
opTensorCompTypemudnnDataType_t计算类型。
opTensorNanOptmudnnNanPropagation_tNaN 传播选项。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetOpTensorDescriptor
mudnnStatus_t mudnnGetOpTensorDescriptor(const mudnnOpTensorDescriptor_t opTensorDesc, mudnnOpTensorOp_t *opTensorOp, mudnnDataType_t *opTensorCompType, mudnnNanPropagation_t *opTensorNanOpt)

声明位置mudnn_ops.h

状态:已废弃。

查询 OpTensor 描述符(Deprecated)。

参数

参数类型说明
opTensorDescconst mudnnOpTensorDescriptor_tOpTensor 描述符。
opTensorOpmudnnOpTensorOp_t *返回操作类型。
opTensorCompTypemudnnDataType_t *返回计算类型。
opTensorNanOptmudnnNanPropagation_t *返回 NaN 传播选项。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyOpTensorDescriptor
mudnnStatus_t mudnnDestroyOpTensorDescriptor(mudnnOpTensorDescriptor_t opTensorDesc)

声明位置mudnn_ops.h

状态:已废弃。

销毁 OpTensor 描述符(Deprecated)。

参数

参数类型说明
opTensorDescmudnnOpTensorDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnOpTensor
mudnnStatus_t mudnnOpTensor(mudnnHandle_t handle, const mudnnOpTensorDescriptor_t opTensorDesc, const void *alpha1, const mudnnTensorDescriptor_t aDesc, const void *A, const void *alpha2, const mudnnTensorDescriptor_t bDesc, const void *B, const void *beta, const mudnnTensorDescriptor_t cDesc, void *C)

声明位置mudnn_ops.h

状态:已废弃。

张量算子计算:C = op(alpha1A, alpha2B) + beta*C(Deprecated)

对 SQRT/NOT 时 B 输入被忽略

当前实现限制:

alpha2 仅支持 1.0(或 NULL),其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

对于二元操作,beta 仅支持 0.0 或 1.0,其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

对于一元操作(SQRT),alpha1 仅支持 1.0,beta 仅支持 0.0

对于一元操作(NOT)尚未实现支持

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
opTensorDescconst mudnnOpTensorDescriptor_t运算描述符(加/乘/最值等)
alpha1const void *缩放系数 alpha1(主机端单元素指针)。
aDescconst mudnnTensorDescriptor_t输入张量 A 描述符。
Aconst void *输入张量 A。
alpha2const void *缩放系数 alpha2(主机端单元素指针)。
bDescconst mudnnTensorDescriptor_t输入张量 B 描述符。
Bconst void *输入张量 B(部分算子可忽略)。
betaconst void *缩放系数 beta(主机端单元素指针)。
cDescconst mudnnTensorDescriptor_t输出张量 C 描述符。
Cvoid *输出/累加张量 C。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateReduceTensorDescriptor
mudnnStatus_t mudnnCreateReduceTensorDescriptor(mudnnReduceTensorDescriptor_t *reduceTensorDesc)

声明位置mudnn_ops.h

状态:已废弃。

创建归约描述符(Deprecated)。

参数

参数类型说明
reduceTensorDescmudnnReduceTensorDescriptor_t *返回归约描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetReduceTensorDescriptor
mudnnStatus_t mudnnSetReduceTensorDescriptor(mudnnReduceTensorDescriptor_t reduceTensorDesc, mudnnReduceTensorOp_t reduceTensorOp, mudnnDataType_t reduceTensorCompType, mudnnNanPropagation_t reduceTensorNanOpt, mudnnReduceTensorIndices_t reduceTensorIndices, mudnnIndicesType_t reduceTensorIndicesType)

声明位置mudnn_ops.h

状态:已废弃。

配置归约描述符(Deprecated)。

当前实现限制:

索引输出功能(indices)配置被存储但尚未完整实现

AMAX 操作映射为 MAX,未包含 ABS 操作

参数

参数类型说明
reduceTensorDescmudnnReduceTensorDescriptor_t归约描述符。
reduceTensorOpmudnnReduceTensorOp_t归约操作类型。
reduceTensorCompTypemudnnDataType_t计算类型。
reduceTensorNanOptmudnnNanPropagation_tNaN 传播选项。
reduceTensorIndicesmudnnReduceTensorIndices_t索引输出类型。
reduceTensorIndicesTypemudnnIndicesType_t索引精度类型。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetReduceTensorDescriptor
mudnnStatus_t mudnnGetReduceTensorDescriptor(const mudnnReduceTensorDescriptor_t reduceTensorDesc, mudnnReduceTensorOp_t *reduceTensorOp, mudnnDataType_t *reduceTensorCompType, mudnnNanPropagation_t *reduceTensorNanOpt, mudnnReduceTensorIndices_t *reduceTensorIndices, mudnnIndicesType_t *reduceTensorIndicesType)

声明位置mudnn_ops.h

状态:已废弃。

查询归约描述符(Deprecated)。

参数

参数类型说明
reduceTensorDescconst mudnnReduceTensorDescriptor_t归约描述符。
reduceTensorOpmudnnReduceTensorOp_t *返回操作类型。
reduceTensorCompTypemudnnDataType_t *返回计算类型。
reduceTensorNanOptmudnnNanPropagation_t *返回 NaN 传播选项。
reduceTensorIndicesmudnnReduceTensorIndices_t *返回索引输出类型。
reduceTensorIndicesTypemudnnIndicesType_t *返回索引精度类型。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyReduceTensorDescriptor
mudnnStatus_t mudnnDestroyReduceTensorDescriptor(mudnnReduceTensorDescriptor_t reduceTensorDesc)

声明位置mudnn_ops.h

状态:已废弃。

销毁归约描述符(Deprecated)。

参数

参数类型说明
reduceTensorDescmudnnReduceTensorDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetReductionIndicesSize
mudnnStatus_t mudnnGetReductionIndicesSize(mudnnHandle_t handle, const mudnnReduceTensorDescriptor_t reduceTensorDesc, const mudnnTensorDescriptor_t aDesc, const mudnnTensorDescriptor_t cDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

状态:已废弃。

查询归约所需的索引缓冲区大小(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceTensorDescconst mudnnReduceTensorDescriptor_t归约描述符。
aDescconst mudnnTensorDescriptor_t输入张量描述符。
cDescconst mudnnTensorDescriptor_t输出张量描述符。
sizeInBytessize_t *返回索引缓冲区大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetReductionWorkspaceSize
mudnnStatus_t mudnnGetReductionWorkspaceSize(mudnnHandle_t handle, const mudnnReduceTensorDescriptor_t reduceTensorDesc, const mudnnTensorDescriptor_t aDesc, const mudnnTensorDescriptor_t cDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

状态:已废弃。

查询归约所需 workspace 大小(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceTensorDescconst mudnnReduceTensorDescriptor_t归约描述符。
aDescconst mudnnTensorDescriptor_t输入张量描述符。
cDescconst mudnnTensorDescriptor_t输出张量描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnReduceTensor
mudnnStatus_t mudnnReduceTensor(mudnnHandle_t handle, const mudnnReduceTensorDescriptor_t reduceTensorDesc, void *indices, size_t indicesSizeInBytes, void *workspace, size_t workspaceSizeInBytes, const void *alpha, const mudnnTensorDescriptor_t aDesc, const void *A, const void *beta, const mudnnTensorDescriptor_t cDesc, void *C)

声明位置mudnn_ops.h

状态:已废弃。

执行归约计算:C = reduce(alphaA) + betaC(Deprecated)。

当前实现限制:

alpha 仅支持 1.0,其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

beta 仅支持 0.0,其他值会返回 MUDNN_STATUS_NOT_SUPPORTED

索引输出(indices)功能尚未完整实现

维度通过输入/输出形状差异自动推断,可能不适用于所有场景

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceTensorDescconst mudnnReduceTensorDescriptor_t归约描述符。
indicesvoid *指向索引输出缓冲区的设备指针(可选)。
indicesSizeInBytessize_t索引缓冲区大小(字节)。
workspacevoid *指向工作区的设备指针。
workspaceSizeInBytessize_t工作区大小(字节)。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
aDescconst mudnnTensorDescriptor_t输入张量描述符。
Aconst void *指向输入张量数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
cDescconst mudnnTensorDescriptor_t输出张量描述符。
Cvoid *指向输出/累加张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTensor
mudnnStatus_t mudnnSetTensor(mudnnHandle_t handle, const mudnnTensorDescriptor_t yDesc, void *y, const void *valuePtr)

声明位置mudnn_ops.h

张量赋常量:y[i] = value[0]。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
yDescconst mudnnTensorDescriptor_t目标张量描述符。
yvoid *指向目标张量数据的设备指针。
valuePtrconst void *常量值指针(设备端)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaleTensor
mudnnStatus_t mudnnScaleTensor(mudnnHandle_t handle, const mudnnTensorDescriptor_t yDesc, void *y, const void *alpha)

声明位置mudnn_ops.h

状态:已废弃。

张量按标量缩放:y[i] = alpha * y[i](Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
yDescconst mudnnTensorDescriptor_t目标张量描述符。
yvoid *指向目标张量数据的设备指针。
alphaconst void *缩放系数 alpha(主机端单元素指针)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateFilterDescriptor
mudnnStatus_t mudnnCreateFilterDescriptor(mudnnFilterDescriptor_t *filterDesc)

声明位置mudnn_ops.h

状态:已废弃。

创建卷积滤波器描述符(Deprecated)。

参数

参数类型说明
filterDescmudnnFilterDescriptor_t *返回滤波器描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetFilter4dDescriptor
mudnnStatus_t mudnnSetFilter4dDescriptor(mudnnFilterDescriptor_t filterDesc, mudnnDataType_t dataType, mudnnTensorFormat_t format, int k, int c, int h, int w)

声明位置mudnn_ops.h

状态:已废弃。

配置 4D 滤波器描述符(Deprecated)。

参数

参数类型说明
filterDescmudnnFilterDescriptor_t滤波器描述符。
dataTypemudnnDataType_t数据类型。
formatmudnnTensorFormat_t布局格式。
kint输出通道数。
cint输入通道数。
hint滤波器高度。
wint滤波器宽度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetFilter4dDescriptor
mudnnStatus_t mudnnGetFilter4dDescriptor(const mudnnFilterDescriptor_t filterDesc, mudnnDataType_t *dataType, mudnnTensorFormat_t *format, int *k, int *c, int *h, int *w)

声明位置mudnn_ops.h

状态:已废弃。

查询 4D 滤波器描述符(Deprecated)。

参数

参数类型说明
filterDescconst mudnnFilterDescriptor_t滤波器描述符。
dataTypemudnnDataType_t *返回数据类型。
formatmudnnTensorFormat_t *返回布局格式。
kint *返回输出通道数。
cint *返回输入通道数。
hint *返回高度。
wint *返回宽度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetFilterNdDescriptor
mudnnStatus_t mudnnSetFilterNdDescriptor(mudnnFilterDescriptor_t filterDesc, mudnnDataType_t dataType, mudnnTensorFormat_t format, int nbDims, const int filterDimA[])

声明位置mudnn_ops.h

状态:已废弃。

配置 ND 滤波器描述符(Deprecated)。

参数

参数类型说明
filterDescmudnnFilterDescriptor_t滤波器描述符。
dataTypemudnnDataType_t数据类型。
formatmudnnTensorFormat_t布局格式。
nbDimsint维度数。
filterDimAconst int各维尺寸。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetFilterNdDescriptorWithScale
mudnnStatus_t mudnnSetFilterNdDescriptorWithScale(mudnnFilterDescriptor_t filterDesc, mudnnDataType_t dataType, mudnnTensorFormat_t format, int nbDims, const int filterDimA[], float scale)

声明位置mudnn_ops.h

状态:已废弃。

扩展接口:是。

配置 ND 滤波器(含 scale,量化用途,Deprecated)。

参数

参数类型说明
filterDescmudnnFilterDescriptor_t滤波器描述符。
dataTypemudnnDataType_t数据类型。
formatmudnnTensorFormat_t布局格式。
nbDimsint维度数。
filterDimAconst int各维尺寸。
scalefloat量化 scale。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetFilterNdDescriptor
mudnnStatus_t mudnnGetFilterNdDescriptor(const mudnnFilterDescriptor_t filterDesc, int nbDimsRequested, mudnnDataType_t *dataType, mudnnTensorFormat_t *format, int *nbDims, int filterDimA[])

声明位置mudnn_ops.h

状态:已废弃。

查询 ND 滤波器描述符(Deprecated)。

参数

参数类型说明
filterDescconst mudnnFilterDescriptor_t滤波器描述符。
nbDimsRequestedint希望返回的最大维度。
dataTypemudnnDataType_t *返回数据类型。
formatmudnnTensorFormat_t *返回布局格式。
nbDimsint *返回实际维度。
filterDimAint返回各维尺寸。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetFilterSizeInBytes
mudnnStatus_t mudnnGetFilterSizeInBytes(const mudnnFilterDescriptor_t filterDesc, size_t *size)

声明位置mudnn_ops.h

状态:已废弃。

计算滤波器占用字节数(Deprecated)。

参数

参数类型说明
filterDescconst mudnnFilterDescriptor_t滤波器描述符。
sizesize_t *返回字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnTransformFilter
mudnnStatus_t mudnnTransformFilter(mudnnHandle_t handle, const mudnnTensorTransformDescriptor_t transDesc, const void *alpha, const mudnnFilterDescriptor_t srcDesc, const void *srcData, const void *beta, const mudnnFilterDescriptor_t destDesc, void *destData)

声明位置mudnn_ops.h

状态:已废弃。

滤波器布局变换(Deprecated)

srcDesc/destDesc

源/目标滤波器描述符

alpha/beta

缩放系数

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
transDescconst mudnnTensorTransformDescriptor_t变换描述符
alphaconst void *缩放系数 alpha(主机端单元素指针)。
srcDescconst mudnnFilterDescriptor_t源滤波器描述符。
srcDataconst void *指向源滤波器数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
destDescconst mudnnFilterDescriptor_t目标滤波器描述符。
destDatavoid *指向目标滤波器数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyFilterDescriptor
mudnnStatus_t mudnnDestroyFilterDescriptor(mudnnFilterDescriptor_t filterDesc)

声明位置mudnn_ops.h

状态:已废弃。

销毁滤波器描述符(Deprecated)。

参数

参数类型说明
filterDescmudnnFilterDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSoftmaxForward
mudnnStatus_t mudnnSoftmaxForward(mudnnHandle_t handle, mudnnSoftmaxAlgorithm_t algo, mudnnSoftmaxMode_t mode, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_ops.h

Softmax 前向:output = alpha * softmax(x) + beta * y.

参数

  • handle (mudnnHandle_t)
  • algo (mudnnSoftmaxAlgorithm_t):算法(FAST/ACCURATE/LOG)
  • mode (mudnnSoftmaxMode_t):归约维度模式
  • alpha (const void *)
  • xDesc (const mudnnTensorDescriptor_t)
  • x (const void *)
  • beta (const void *)
  • yDesc (const mudnnTensorDescriptor_t)
  • y (void *)
mudnnCreatePoolingDescriptor
mudnnStatus_t mudnnCreatePoolingDescriptor(mudnnPoolingDescriptor_t *poolingDesc)

声明位置mudnn_ops.h

状态:已废弃。

创建池化描述符(Deprecated)。

参数

参数类型说明
poolingDescmudnnPoolingDescriptor_t *返回池化描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetPooling2dDescriptor
mudnnStatus_t mudnnSetPooling2dDescriptor(mudnnPoolingDescriptor_t poolingDesc, mudnnPoolingMode_t mode, mudnnNanPropagation_t maxpoolingNanOpt, int windowHeight, int windowWidth, int verticalPadding, int horizontalPadding, int verticalStride, int horizontalStride)

声明位置mudnn_ops.h

状态:已废弃。

配置 2D 池化描述符(Deprecated)。

参数

参数类型说明
poolingDescmudnnPoolingDescriptor_t池化描述符。
modemudnnPoolingMode_t池化模式。
maxpoolingNanOptmudnnNanPropagation_tNaN 传播选项。
windowHeightint窗口高。
windowWidthint窗口宽。
verticalPaddingint垂直 padding。
horizontalPaddingint水平 padding。
verticalStrideint垂直步长。
horizontalStrideint水平步长。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetPooling2dDescriptor
mudnnStatus_t mudnnGetPooling2dDescriptor(const mudnnPoolingDescriptor_t poolingDesc, mudnnPoolingMode_t *mode, mudnnNanPropagation_t *maxpoolingNanOpt, int *windowHeight, int *windowWidth, int *verticalPadding, int *horizontalPadding, int *verticalStride, int *horizontalStride)

声明位置mudnn_ops.h

状态:已废弃。

查询 2D 池化描述符(Deprecated)。

参数

参数类型说明
poolingDescconst mudnnPoolingDescriptor_t池化描述符。
modemudnnPoolingMode_t *返回模式。
maxpoolingNanOptmudnnNanPropagation_t *返回 NaN 选项。
windowHeightint *返回窗口高。
windowWidthint *返回窗口宽。
verticalPaddingint *返回垂直 padding。
horizontalPaddingint *返回水平 padding。
verticalStrideint *返回垂直步长。
horizontalStrideint *返回水平步长。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetPoolingNdDescriptor
mudnnStatus_t mudnnSetPoolingNdDescriptor(mudnnPoolingDescriptor_t poolingDesc, const mudnnPoolingMode_t mode, const mudnnNanPropagation_t maxpoolingNanOpt, int nbDims, const int windowDimA[], const int paddingA[], const int strideA[])

声明位置mudnn_ops.h

状态:已废弃。

配置 ND 池化描述符(Deprecated)。

参数

参数类型说明
poolingDescmudnnPoolingDescriptor_t池化描述符。
modeconst mudnnPoolingMode_t池化模式。
maxpoolingNanOptconst mudnnNanPropagation_tNaN 选项。
nbDimsint维度数。
windowDimAconst int窗口尺寸数组。
paddingAconst intpadding 数组。
strideAconst int步长数组。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetPoolingNdDescriptor
mudnnStatus_t mudnnGetPoolingNdDescriptor(const mudnnPoolingDescriptor_t poolingDesc, int nbDimsRequested, mudnnPoolingMode_t *mode, mudnnNanPropagation_t *maxpoolingNanOpt, int *nbDims, int windowDimA[], int paddingA[], int strideA[])

声明位置mudnn_ops.h

状态:已废弃。

查询 ND 池化描述符(Deprecated)。

参数

参数类型说明
poolingDescconst mudnnPoolingDescriptor_t池化描述符。
nbDimsRequestedint请求的最大维度数。
modemudnnPoolingMode_t *返回池化模式。
maxpoolingNanOptmudnnNanPropagation_t *返回 NaN 选项。
nbDimsint *返回实际维度数。
windowDimAint返回窗口尺寸。
paddingAint返回 padding。
strideAint返回步长。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetPoolingNdForwardOutputDim
mudnnStatus_t mudnnGetPoolingNdForwardOutputDim(const mudnnPoolingDescriptor_t poolingDesc, const mudnnTensorDescriptor_t inputTensorDesc, int nbDims, int outputTensorDimA[])

声明位置mudnn_ops.h

状态:已废弃。

参数

参数类型说明
poolingDescconst mudnnPoolingDescriptor_t-
inputTensorDescconst mudnnTensorDescriptor_t-
nbDimsint-
outputTensorDimAint-
mudnnGetPooling2dForwardOutputDim
mudnnStatus_t mudnnGetPooling2dForwardOutputDim(const mudnnPoolingDescriptor_t poolingDesc, const mudnnTensorDescriptor_t inputTensorDesc, int *n, int *c, int *h, int *w)

声明位置mudnn_ops.h

状态:已废弃。

参数

参数类型说明
poolingDescconst mudnnPoolingDescriptor_t-
inputTensorDescconst mudnnTensorDescriptor_t-
nint *-
cint *-
hint *-
wint *-
mudnnDestroyPoolingDescriptor
mudnnStatus_t mudnnDestroyPoolingDescriptor(mudnnPoolingDescriptor_t poolingDesc)

声明位置mudnn_ops.h

状态:已废弃。

销毁池化描述符(Deprecated)。

参数

参数类型说明
poolingDescmudnnPoolingDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetPoolingNdDescriptorEx
mudnnStatus_t mudnnSetPoolingNdDescriptorEx(mudnnPoolingDescriptor_t poolingDesc, mudnnPoolingMode_t mode, int divisor, int nbDims, const int windowDimA[], const int paddingA[], const int strideA[], const int dilation[])

声明位置mudnn_ops.h

扩展接口:是。

配置 ND 池化扩展(支持 dilation/divisor)

参数

参数类型说明
poolingDescmudnnPoolingDescriptor_t-
modemudnnPoolingMode_t-
divisorint-
nbDimsint-
windowDimAconst int-
paddingAconst int-
strideAconst int-
dilationconst int-
mudnnGetPoolingNdDescriptorEx
mudnnStatus_t mudnnGetPoolingNdDescriptorEx(mudnnPoolingDescriptor_t poolingDesc, mudnnPoolingMode_t *mode, int *divisor, int *nbDims, int **windowDimA, int **paddingA, int **strideA, int **dilation)

声明位置mudnn_ops.h

扩展接口:是。

查询 ND 池化扩展配置

参数

参数类型说明
poolingDescmudnnPoolingDescriptor_t-
modemudnnPoolingMode_t *-
divisorint *-
nbDimsint *-
windowDimAint **-
paddingAint **-
strideAint **-
dilationint **-
mudnnPoolingForwardEx
mudnnStatus_t mudnnPoolingForwardEx(mudnnHandle_t handle, const mudnnPoolingDescriptor_t poolingDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t indiicesDesc, void *indiices)

声明位置mudnn_ops.h

扩展接口:是。

池化前向(扩展版,含索引输出)

参数

参数类型说明
handlemudnnHandle_t-
poolingDescconst mudnnPoolingDescriptor_t-
outputDescconst mudnnTensorDescriptor_t-
outputvoid *-
inputDescconst mudnnTensorDescriptor_t-
inputconst void *-
indiicesDescconst mudnnTensorDescriptor_t-
indiicesvoid *-
mudnnPoolingBackwardEx
mudnnStatus_t mudnnPoolingBackwardEx(mudnnHandle_t handle, const mudnnPoolingDescriptor_t poolingDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t indiicesDesc, void *indiices)

声明位置mudnn_ops.h

扩展接口:是。

池化反向(扩展版,含索引输入)

参数

参数类型说明
handlemudnnHandle_t-
poolingDescconst mudnnPoolingDescriptor_t-
outputDescconst mudnnTensorDescriptor_t-
outputvoid *-
inputDescconst mudnnTensorDescriptor_t-
inputconst void *-
indiicesDescconst mudnnTensorDescriptor_t-
indiicesvoid *-
mudnnPoolingMaxPool2dGradGrad
mudnnStatus_t mudnnPoolingMaxPool2dGradGrad(mudnnHandle_t handle, const mudnnPoolingDescriptor_t poolingDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t indiicesDesc, const void *indiices)

声明位置mudnn_ops.h

扩展接口:是。

MaxPool2d 的二阶梯度接口

参数

参数类型说明
handlemudnnHandle_t-
poolingDescconst mudnnPoolingDescriptor_t-
outputDescconst mudnnTensorDescriptor_t-
outputvoid *-
inputDescconst mudnnTensorDescriptor_t-
inputconst void *-
indiicesDescconst mudnnTensorDescriptor_t-
indiicesconst void *-
mudnnPoolingForward
mudnnStatus_t mudnnPoolingForward(mudnnHandle_t handle, const mudnnPoolingDescriptor_t poolingDesc, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_ops.h

状态:已废弃。

池化前向:y = alpha * pool(x) + beta * y(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
poolingDescconst mudnnPoolingDescriptor_t池化描述符。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *指向输出/累加张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateActivationDescriptor
mudnnStatus_t mudnnCreateActivationDescriptor(mudnnActivationDescriptor_t *activationDesc)

声明位置mudnn_ops.h

状态:已废弃。

创建激活描述符(Deprecated)。

参数

参数类型说明
activationDescmudnnActivationDescriptor_t *返回激活描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetActivationDescriptor
mudnnStatus_t mudnnSetActivationDescriptor(mudnnActivationDescriptor_t activationDesc, mudnnActivationMode_t mode, mudnnNanPropagation_t reluNanOpt, double coef)

声明位置mudnn_ops.h

状态:已废弃。

配置激活描述符(Deprecated)。

参数

参数类型说明
activationDescmudnnActivationDescriptor_t激活描述符。
modemudnnActivationMode_t激活模式。
reluNanOptmudnnNanPropagation_tNaN 传播选项。
coefdouble激活系数(如 clipped RELU 上限、ELU alpha)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetActivationDescriptor
mudnnStatus_t mudnnGetActivationDescriptor(const mudnnActivationDescriptor_t activationDesc, mudnnActivationMode_t *mode, mudnnNanPropagation_t *reluNanOpt, double *coef)

声明位置mudnn_ops.h

状态:已废弃。

查询激活描述符(Deprecated)。

参数

参数类型说明
activationDescconst mudnnActivationDescriptor_t激活描述符。
modemudnnActivationMode_t *返回激活模式。
reluNanOptmudnnNanPropagation_t *返回 NaN 选项。
coefdouble *返回激活系数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetActivationDescriptorSwishBeta
mudnnStatus_t mudnnSetActivationDescriptorSwishBeta(mudnnActivationDescriptor_t activationDesc, double swish_beta)

声明位置mudnn_ops.h

状态:已废弃。

设置 Swish Beta(Deprecated)。

参数

参数类型说明
activationDescmudnnActivationDescriptor_t激活描述符。
swish_betadoubleSwish beta 参数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetActivationDescriptorSwishBeta
mudnnStatus_t mudnnGetActivationDescriptorSwishBeta(mudnnActivationDescriptor_t activationDesc, double *swish_beta)

声明位置mudnn_ops.h

状态:已废弃。

查询 Swish Beta(Deprecated)。

参数

参数类型说明
activationDescmudnnActivationDescriptor_t激活描述符。
swish_betadouble *返回 Swish beta。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyActivationDescriptor
mudnnStatus_t mudnnDestroyActivationDescriptor(mudnnActivationDescriptor_t activationDesc)

声明位置mudnn_ops.h

状态:已废弃。

销毁激活描述符(Deprecated)。

参数

参数类型说明
activationDescmudnnActivationDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnActivationForward
mudnnStatus_t mudnnActivationForward(mudnnHandle_t handle, mudnnActivationDescriptor_t activationDesc, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_ops.h

状态:已废弃。

激活前向:y = alpha * act(x) + beta * y(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
activationDescmudnnActivationDescriptor_t激活描述符。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *指向输出/累加张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateLRNDescriptor
mudnnStatus_t mudnnCreateLRNDescriptor(mudnnLRNDescriptor_t *normDesc)

声明位置mudnn_ops.h

创建 LRN 描述符

参数

参数类型说明
normDescmudnnLRNDescriptor_t *-
mudnnSetLRNDescriptor
mudnnStatus_t mudnnSetLRNDescriptor(mudnnLRNDescriptor_t normDesc, unsigned lrnN, double lrnAlpha, double lrnBeta, double lrnK)

声明位置mudnn_ops.h

配置 LRN 描述符

参数

参数类型说明
normDescmudnnLRNDescriptor_t-
lrnNunsigned-
lrnAlphadouble-
lrnBetadouble-
lrnKdouble-
mudnnGetLRNDescriptor
mudnnStatus_t mudnnGetLRNDescriptor(mudnnLRNDescriptor_t normDesc, unsigned *lrnN, double *lrnAlpha, double *lrnBeta, double *lrnK)

声明位置mudnn_ops.h

查询 LRN 描述符

参数

参数类型说明
normDescmudnnLRNDescriptor_t-
lrnNunsigned *-
lrnAlphadouble *-
lrnBetadouble *-
lrnKdouble *-
mudnnDestroyLRNDescriptor
mudnnStatus_t mudnnDestroyLRNDescriptor(mudnnLRNDescriptor_t lrnDesc)

声明位置mudnn_ops.h

销毁 LRN 描述符

参数

参数类型说明
lrnDescmudnnLRNDescriptor_t-
mudnnLRNCrossChannelForward
mudnnStatus_t mudnnLRNCrossChannelForward(mudnnHandle_t handle, mudnnLRNDescriptor_t normDesc, mudnnLRNMode_t lrnMode, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_ops.h

LRN 前向:跨通道normalization。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
normDescmudnnLRNDescriptor_tLRN 描述符。
lrnModemudnnLRNMode_tLRN 模式。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *指向输出/累加张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDivisiveNormalizationForward
mudnnStatus_t mudnnDivisiveNormalizationForward(mudnnHandle_t handle, mudnnLRNDescriptor_t normDesc, mudnnDivNormMode_t mode, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *means, void *temp, void *temp2, const void *beta, const mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_ops.h

LCN/除性normalization前向:y = alpha * norm(x) + beta * y。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
normDescmudnnLRNDescriptor_tLRN 描述符。
modemudnnDivNormMode_t除性归一化模式。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入张量描述符(means/temp/temp2 同形)。
xconst void *输入张量。
meansconst void *均值张量,NULL 则视为 0。
tempvoid *临时缓冲。
temp2void *临时缓冲。
betaconst void *缩放系数 beta(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *输出张量。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDeriveBNTensorDescriptor
mudnnStatus_t mudnnDeriveBNTensorDescriptor(mudnnTensorDescriptor_t derivedBnDesc, const mudnnTensorDescriptor_t xDesc, mudnnBatchNormMode_t mode)

声明位置mudnn_ops.h

状态:已废弃。

从输入描述符派生 BatchNorm 相关张量描述符(Deprecated)。

参数

参数类型说明
derivedBnDescmudnnTensorDescriptor_t输出的派生描述符。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
modemudnnBatchNormMode_tBatchNorm 模式(per-activation / spatial)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateBatchNormDescriptor
mudnnStatus_t mudnnCreateBatchNormDescriptor(mudnnBatchNormDescriptor_t *bnDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 BatchNorm 描述符(扩展)。

参数

参数类型说明
bnDescmudnnBatchNormDescriptor_t *返回 BatchNorm 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetBatchNormDescriptor
mudnnStatus_t mudnnSetBatchNormDescriptor(mudnnBatchNormDescriptor_t bnDesc, mudnnBatchNormMode_t mode, double epsilon, bool isTraining)

声明位置mudnn_ops.h

扩展接口:是。

配置 BatchNorm 描述符(模式 / epsilon / 是否训练)。

参数

参数类型说明
bnDescmudnnBatchNormDescriptor_tBatchNorm 描述符。
modemudnnBatchNormMode_tBatchNorm 模式。
epsilondouble数值稳定项。
isTrainingbool是否训练模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetBatchNormDescriptor
mudnnStatus_t mudnnGetBatchNormDescriptor(mudnnBatchNormDescriptor_t bnDesc, mudnnBatchNormMode_t *mode, double *epsilon, bool *isTraining)

声明位置mudnn_ops.h

扩展接口:是。

查询 BatchNorm 描述符配置。

参数

参数类型说明
bnDescmudnnBatchNormDescriptor_tBatchNorm 描述符。
modemudnnBatchNormMode_t *返回 BatchNorm 模式。
epsilondouble *返回 epsilon。
isTrainingbool *返回是否训练模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchNormForwardTraining
mudnnStatus_t mudnnBatchNormForwardTraining(const mudnnHandle_t handle, const mudnnBatchNormDescriptor_t bnDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t accMeanDesc, void *accMean, const mudnnTensorDescriptor_t accVarDesc, void *accVar, const mudnnTensorDescriptor_t freshMeanDesc, void *freshMean, const mudnnTensorDescriptor_t freshVarDesc, void *freshVar, const mudnnTensorDescriptor_t scaleDesc, const void *scale, const mudnnTensorDescriptor_t biasDesc, const void *bias, double momentum, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

BatchNorm 前向(训练)

accMean/accVar

累积均值方差输出

freshMean/freshVar

当前 batch 均值方差输出

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
bnDescconst mudnnBatchNormDescriptor_tBatchNorm 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
accMeanDescconst mudnnTensorDescriptor_t累积均值描述符。
accMeanvoid *指向累积均值的设备指针。
accVarDescconst mudnnTensorDescriptor_t累积方差描述符。
accVarvoid *指向累积方差的设备指针。
freshMeanDescconst mudnnTensorDescriptor_t当前 batch 均值描述符。
freshMeanvoid *指向当前 batch 均值的设备指针。
freshVarDescconst mudnnTensorDescriptor_t当前 batch 方差描述符。
freshVarvoid *指向当前 batch 方差的设备指针。
scaleDescconst mudnnTensorDescriptor_tScale 描述符。
scaleconst void *指向 Scale 数据的设备指针。
biasDescconst mudnnTensorDescriptor_tBias 描述符。
biasconst void *指向 Bias 数据的设备指针。
momentumdouble动量。
workSpacevoid *可选 workspace
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchNormForwardInference
mudnnStatus_t mudnnBatchNormForwardInference(const mudnnHandle_t handle, const mudnnBatchNormDescriptor_t bnDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t finalMeanDesc, void *finalMean, const mudnnTensorDescriptor_t finalVarDesc, void *finalVar, const mudnnTensorDescriptor_t scaleDesc, const void *scale, const mudnnTensorDescriptor_t biasDesc, const void *bias)

声明位置mudnn_ops.h

扩展接口:是。

BatchNorm 前向(推理)

finalMean/finalVar

传入的均值方差

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
bnDescconst mudnnBatchNormDescriptor_tBatchNorm 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
finalMeanDescconst mudnnTensorDescriptor_t均值描述符。
finalMeanvoid *指向均值数据的设备指针。
finalVarDescconst mudnnTensorDescriptor_t方差描述符。
finalVarvoid *指向方差数据的设备指针。
scaleDescconst mudnnTensorDescriptor_tScale 描述符。
scaleconst void *指向 Scale 数据的设备指针。
biasDescconst mudnnTensorDescriptor_tBias 描述符。
biasconst void *指向 Bias 数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchNormBackward
mudnnStatus_t mudnnBatchNormBackward(const mudnnHandle_t handle, const mudnnBatchNormDescriptor_t bnDesc, const mudnnTensorDescriptor_t dxDesc, void *dx, const mudnnTensorDescriptor_t dmDesc, void *dm, const mudnnTensorDescriptor_t dvDesc, void *dv, const mudnnTensorDescriptor_t dgDesc, void *dg, const mudnnTensorDescriptor_t dbDesc, void *db, const mudnnTensorDescriptor_t xDesc, void *x, const mudnnTensorDescriptor_t dyDesc, void *dy, const mudnnTensorDescriptor_t mDesc, void *m, const mudnnTensorDescriptor_t vDesc, void *v, const mudnnTensorDescriptor_t gDesc, void *g, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

BatchNorm 反向

dx/dm/dv/dg/db

输出梯度张量

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
bnDescconst mudnnBatchNormDescriptor_tBatchNorm 描述符。
dxDescconst mudnnTensorDescriptor_tdx 描述符。
dxvoid *指向输入梯度的设备指针。
dmDescconst mudnnTensorDescriptor_tdm 描述符。
dmvoid *指向均值梯度的设备指针。
dvDescconst mudnnTensorDescriptor_tdv 描述符。
dvvoid *指向方差梯度的设备指针。
dgDescconst mudnnTensorDescriptor_tdg 描述符。
dgvoid *指向 scale 梯度的设备指针。
dbDescconst mudnnTensorDescriptor_tdb 描述符。
dbvoid *指向 bias 梯度的设备指针。
xDescconst mudnnTensorDescriptor_t输入描述符。
xvoid *指向输入数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyvoid *指向输出梯度的设备指针。
mDescconst mudnnTensorDescriptor_t均值描述符。
mvoid *指向均值数据的设备指针。
vDescconst mudnnTensorDescriptor_t方差描述符。
vvoid *指向方差数据的设备指针。
gDescconst mudnnTensorDescriptor_tscale 描述符。
gvoid *指向 scale 数据的设备指针。
workSpacevoid *可选 workspace
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyBatchNormDescriptor
mudnnStatus_t mudnnDestroyBatchNormDescriptor(mudnnBatchNormDescriptor_t bnDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 BatchNorm 描述符(扩展)。

参数

参数类型说明
bnDescmudnnBatchNormDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetBatchNormForwardTrainingWorkspaceSize
mudnnStatus_t mudnnGetBatchNormForwardTrainingWorkspaceSize(const mudnnHandle_t handle, const mudnnBatchNormDescriptor_t bnDesc, const mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t accMeanDesc, const mudnnTensorDescriptor_t accVarDesc, const mudnnTensorDescriptor_t freshMeanDesc, const mudnnTensorDescriptor_t freshVarDesc, const mudnnTensorDescriptor_t scaleDesc, const mudnnTensorDescriptor_t biasDesc, size_t *sizeInByte)

声明位置mudnn_ops.h

扩展接口:是。

查询 BatchNorm 训练前向所需 workspace 大小。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
bnDescconst mudnnBatchNormDescriptor_tBatchNorm 描述符。
outputDescconst mudnnTensorDescriptor_t输出描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
accMeanDescconst mudnnTensorDescriptor_t累积均值描述符。
accVarDescconst mudnnTensorDescriptor_t累积方差描述符。
freshMeanDescconst mudnnTensorDescriptor_t当前均值描述符。
freshVarDescconst mudnnTensorDescriptor_t当前方差描述符。
scaleDescconst mudnnTensorDescriptor_tScale 描述符。
biasDescconst mudnnTensorDescriptor_tBias 描述符。
sizeInBytesize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetBatchNormBackwardWorkspaceSize
mudnnStatus_t mudnnGetBatchNormBackwardWorkspaceSize(const mudnnHandle_t handle, const mudnnBatchNormDescriptor_t bnDesc, const mudnnTensorDescriptor_t dxDesc, const mudnnTensorDescriptor_t dmDesc, const mudnnTensorDescriptor_t dvDesc, const mudnnTensorDescriptor_t dgDesc, const mudnnTensorDescriptor_t dbDesc, const mudnnTensorDescriptor_t xDesc, const mudnnTensorDescriptor_t dyDesc, const mudnnTensorDescriptor_t mDesc, const mudnnTensorDescriptor_t vDesc, const mudnnTensorDescriptor_t gDesc, size_t *sizeInByte)

声明位置mudnn_ops.h

扩展接口:是。

查询 BatchNorm 反向所需 workspace 大小。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
bnDescconst mudnnBatchNormDescriptor_tBatchNorm 描述符。
dxDescconst mudnnTensorDescriptor_tdx 描述符。
dmDescconst mudnnTensorDescriptor_tdm 描述符。
dvDescconst mudnnTensorDescriptor_tdv 描述符。
dgDescconst mudnnTensorDescriptor_tdg 描述符。
dbDescconst mudnnTensorDescriptor_tdb 描述符。
xDescconst mudnnTensorDescriptor_t输入描述符。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
mDescconst mudnnTensorDescriptor_t均值描述符。
vDescconst mudnnTensorDescriptor_t方差描述符。
gDescconst mudnnTensorDescriptor_tscale 描述符。
sizeInBytesize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchNormalizationForwardInference
mudnnStatus_t mudnnBatchNormalizationForwardInference(mudnnHandle_t handle, mudnnBatchNormMode_t mode, const void *alpha, const void *beta, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnTensorDescriptor_t yDesc, void *y, const mudnnTensorDescriptor_t bnScaleBiasMeanVarDesc, const void *bnScale, const void *bnBias, const void *estimatedMean, const void *estimatedVariance, double epsilon)

声明位置mudnn_ops.h

状态:已废弃。

BatchNorm 推理(旧接口,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnBatchNormMode_tBatchNorm 模式。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
betaconst void *缩放系数 beta(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入描述符。
xconst void *指向输入数据的设备指针。
yDescconst mudnnTensorDescriptor_t输出描述符。
yvoid *指向输出数据的设备指针。
bnScaleBiasMeanVarDescconst mudnnTensorDescriptor_tScale/Bias/Mean/Var 描述符。
bnScaleconst void *指向 Scale 数据的设备指针。
bnBiasconst void *指向 Bias 数据的设备指针。
estimatedMeanconst void *指向均值的设备指针。
estimatedVarianceconst void *指向方差的设备指针。
epsilondouble数值稳定项。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDeriveNormTensorDescriptor
mudnnStatus_t mudnnDeriveNormTensorDescriptor(mudnnTensorDescriptor_t derivedNormScaleBiasDesc, mudnnTensorDescriptor_t derivedNormMeanVarDesc, const mudnnTensorDescriptor_t xDesc, mudnnNormMode_t mode, int groupCnt)

声明位置mudnn_ops.h

状态:已废弃。

从输入描述符派生 Normalization 相关描述符(Deprecated)。

参数

参数类型说明
derivedNormScaleBiasDescmudnnTensorDescriptor_t返回 scale/bias 描述符。
derivedNormMeanVarDescmudnnTensorDescriptor_t返回 mean/var 描述符。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
modemudnnNormMode_tNormalization 模式(per-activation/per-channel)。
groupCntint预留参数(当前应为 1)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnNormalizationForwardInference
mudnnStatus_t mudnnNormalizationForwardInference(mudnnHandle_t handle, mudnnNormMode_t mode, mudnnNormOps_t normOps, mudnnNormAlgo_t algo, const void *alpha, const void *beta, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnTensorDescriptor_t normScaleBiasDesc, const void *normScale, const void *normBias, const mudnnTensorDescriptor_t normMeanVarDesc, const void *estimatedMean, const void *estimatedVariance, const mudnnTensorDescriptor_t zDesc, const void *z, mudnnActivationDescriptor_t activationDesc, const mudnnTensorDescriptor_t yDesc, void *y, double epsilon, int groupCnt)

声明位置mudnn_ops.h

状态:已废弃。

Normalization 推理(旧接口,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnNormMode_tNormalization 模式。
normOpsmudnnNormOps_t是否包含激活/残差。
algomudnnNormAlgo_t计算算法。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
betaconst void *缩放系数 beta(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入描述符。
xconst void *指向输入数据的设备指针。
normScaleBiasDescconst mudnnTensorDescriptor_tscale/bias 描述符。
normScaleconst void *指向 scale 数据的设备指针。
normBiasconst void *指向 bias 数据的设备指针。
normMeanVarDescconst mudnnTensorDescriptor_t均值/方差描述符。
estimatedMeanconst void *指向均值的设备指针。
estimatedVarianceconst void *指向方差的设备指针。
zDescconst mudnnTensorDescriptor_t残差描述符。
zconst void *指向残差数据的设备指针。
activationDescmudnnActivationDescriptor_t激活描述符。
yDescconst mudnnTensorDescriptor_t输出描述符。
yvoid *指向输出数据的设备指针。
epsilondouble数值稳定项。
groupCntint组数(占位,默认 1)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateSpatialTransformerDescriptor
mudnnStatus_t mudnnCreateSpatialTransformerDescriptor(mudnnSpatialTransformerDescriptor_t *stDesc)

声明位置mudnn_ops.h

创建空间变换描述符。

参数

参数类型说明
stDescmudnnSpatialTransformerDescriptor_t *返回空间变换描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetSpatialTransformerNdDescriptor
mudnnStatus_t mudnnSetSpatialTransformerNdDescriptor(mudnnSpatialTransformerDescriptor_t stDesc, mudnnSamplerType_t samplerType, mudnnDataType_t dataType, const int nbDims, const int dimA[])

声明位置mudnn_ops.h

配置空间变换描述符。

参数

参数类型说明
stDescmudnnSpatialTransformerDescriptor_t空间变换描述符。
samplerTypemudnnSamplerType_t采样类型(如双线性)。
dataTypemudnnDataType_t数据类型。
nbDimsconst int维度数。
dimAconst int各维尺寸。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroySpatialTransformerDescriptor
mudnnStatus_t mudnnDestroySpatialTransformerDescriptor(mudnnSpatialTransformerDescriptor_t stDesc)

声明位置mudnn_ops.h

销毁空间变换描述符。

参数

参数类型说明
stDescmudnnSpatialTransformerDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSpatialTfGridGeneratorForward
mudnnStatus_t mudnnSpatialTfGridGeneratorForward(mudnnHandle_t handle, const mudnnSpatialTransformerDescriptor_t stDesc, const void *theta, void *grid)

声明位置mudnn_ops.h

生成仿射网格(前向)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
stDescconst mudnnSpatialTransformerDescriptor_t空间变换描述符。
thetaconst void *变换矩阵。
gridvoid *输出网格。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSpatialTfSamplerForward
mudnnStatus_t mudnnSpatialTfSamplerForward(mudnnHandle_t handle, mudnnSpatialTransformerDescriptor_t stDesc, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *grid, const void *beta, mudnnTensorDescriptor_t yDesc, void *y)

声明位置mudnn_ops.h

空间变换采样(前向)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
stDescmudnnSpatialTransformerDescriptor_t空间变换描述符。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *输入张量。
gridconst void *采样网格。
betaconst void *缩放系数 beta(主机端单元素指针)。
yDescmudnnTensorDescriptor_t输出张量描述符。
yvoid *输出/累加张量。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateDropoutDescriptor
mudnnStatus_t mudnnCreateDropoutDescriptor(mudnnDropoutDescriptor_t *dropoutDesc)

声明位置mudnn_ops.h

创建 Dropout 描述符。

参数

参数类型说明
dropoutDescmudnnDropoutDescriptor_t *返回描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyDropoutDescriptor
mudnnStatus_t mudnnDestroyDropoutDescriptor(mudnnDropoutDescriptor_t dropoutDesc)

声明位置mudnn_ops.h

销毁 Dropout 描述符。

参数

参数类型说明
dropoutDescmudnnDropoutDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDropoutGetStatesSize
mudnnStatus_t mudnnDropoutGetStatesSize(mudnnHandle_t handle, size_t *sizeInBytes)

声明位置mudnn_ops.h

查询 Dropout 状态缓冲区大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sizeInBytessize_t *返回状态缓冲区大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDropoutGetReserveSpaceSize
mudnnStatus_t mudnnDropoutGetReserveSpaceSize(mudnnTensorDescriptor_t xdesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

查询 Dropout 预留空间大小。

参数

参数类型说明
xdescmudnnTensorDescriptor_t输入张量描述符。
sizeInBytessize_t *返回预留空间大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetDropoutDescriptor
mudnnStatus_t mudnnSetDropoutDescriptor(mudnnDropoutDescriptor_t dropoutDesc, mudnnHandle_t handle, float dropout, void *states, size_t stateSizeInBytes, uint64_t seed)

声明位置mudnn_ops.h

配置 Dropout 描述符(含随机状态)。

参数

参数类型说明
dropoutDescmudnnDropoutDescriptor_tDropout 描述符。
handlemudnnHandle_tmuDNN 句柄。
dropoutfloat丢弃概率。
statesvoid *随机状态缓冲区。
stateSizeInBytessize_t状态缓冲区大小(字节)。
seeduint64_t随机种子。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRestoreDropoutDescriptor
mudnnStatus_t mudnnRestoreDropoutDescriptor(mudnnDropoutDescriptor_t dropoutDesc, mudnnHandle_t handle, float dropout, void *states, size_t stateSizeInBytes, uint64_t seed)

声明位置mudnn_ops.h

恢复 Dropout 描述符到保存状态。

参数

参数类型说明
dropoutDescmudnnDropoutDescriptor_tDropout 描述符。
handlemudnnHandle_tmuDNN 句柄。
dropoutfloat丢弃概率。
statesvoid *随机状态缓冲区。
stateSizeInBytessize_t状态缓冲区大小(字节)。
seeduint64_t随机种子。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetDropoutDescriptor
mudnnStatus_t mudnnGetDropoutDescriptor(mudnnDropoutDescriptor_t dropoutDesc, mudnnHandle_t handle, float *dropout, void **states, uint64_t *seed)

声明位置mudnn_ops.h

查询 Dropout 描述符配置。

参数

参数类型说明
dropoutDescmudnnDropoutDescriptor_tDropout 描述符。
handlemudnnHandle_tmuDNN 句柄。
dropoutfloat *返回丢弃概率。
statesvoid **返回随机状态指针。
seeduint64_t *返回随机种子。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDropoutForward
mudnnStatus_t mudnnDropoutForward(mudnnHandle_t handle, const mudnnDropoutDescriptor_t dropoutDesc, const mudnnTensorDescriptor_t xdesc, const void *x, const mudnnTensorDescriptor_t ydesc, void *y, void *reserveSpace, size_t reserveSpaceSizeInBytes)

声明位置mudnn_ops.h

Dropout 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
dropoutDescconst mudnnDropoutDescriptor_tDropout 描述符。
xdescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *输入张量。
ydescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *输出张量。
reserveSpacevoid *预留空间(设备端)。
reserveSpaceSizeInBytessize_t预留空间大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDropoutBackward
mudnnStatus_t mudnnDropoutBackward(mudnnHandle_t handle, const mudnnDropoutDescriptor_t dropoutDesc, const mudnnTensorDescriptor_t dydesc, const void *dy, const mudnnTensorDescriptor_t dxdesc, void *dx, void *reserveSpace, size_t reserveSpaceSizeInBytes)

声明位置mudnn_ops.h

Dropout 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
dropoutDescconst mudnnDropoutDescriptor_tDropout 描述符。
dydescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *输出梯度。
dxdescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *输入梯度。
reserveSpacevoid *前向生成的预留空间(设备端)。
reserveSpaceSizeInBytessize_t预留空间大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnOpsVersionCheck
mudnnStatus_t mudnnOpsVersionCheck(void)

声明位置mudnn_ops.h

交叉子库版本检查。

MUDNN_STATUS_SUCCESS 表示依赖版本匹配, MUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH 表示版本不一致。

返回值

MUDNN_STATUS_SUCCESS 表示依赖版本匹配, MUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH 表示版本不一致。

mudnnSoftmaxBackward
mudnnStatus_t mudnnSoftmaxBackward(mudnnHandle_t handle, mudnnSoftmaxAlgorithm_t algo, mudnnSoftmaxMode_t mode, const void *alpha, const mudnnTensorDescriptor_t yDesc, const void *y, const mudnnTensorDescriptor_t dyDesc, const void *dy, const void *beta, const mudnnTensorDescriptor_t dxDesc, void *dx)

声明位置mudnn_ops.h

Softmax 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
algomudnnSoftmaxAlgorithm_t算法。
modemudnnSoftmaxMode_t归约模式。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t正向输出描述符。
yconst void *指向正向输出数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *指向输入梯度数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnPoolingBackward
mudnnStatus_t mudnnPoolingBackward(mudnnHandle_t handle, const mudnnPoolingDescriptor_t poolingDesc, const void *alpha, const mudnnTensorDescriptor_t yDesc, const void *y, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t dxDesc, void *dx)

声明位置mudnn_ops.h

状态:已废弃。

池化反向(旧接口,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
poolingDescconst mudnnPoolingDescriptor_t池化描述符。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t正向输出描述符。
yconst void *指向正向输出数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
xDescconst mudnnTensorDescriptor_t输入描述符。
xconst void *指向输入数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *指向输入梯度数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnActivationBackward
mudnnStatus_t mudnnActivationBackward(mudnnHandle_t handle, mudnnActivationDescriptor_t activationDesc, const void *alpha, const mudnnTensorDescriptor_t yDesc, const void *y, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t dxDesc, void *dx)

声明位置mudnn_ops.h

状态:已废弃。

激活反向(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
activationDescmudnnActivationDescriptor_t激活描述符。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t正向输出描述符。
yconst void *指向正向输出数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
xDescconst mudnnTensorDescriptor_t输入描述符。
xconst void *指向输入数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *指向输入梯度数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnLRNCrossChannelBackward
mudnnStatus_t mudnnLRNCrossChannelBackward(mudnnHandle_t handle, mudnnLRNDescriptor_t normDesc, mudnnLRNMode_t lrnMode, const void *alpha, const mudnnTensorDescriptor_t yDesc, const void *y, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t dxDesc, void *dx)

声明位置mudnn_ops.h

LRN 反向:跨通道normalization梯度。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
normDescmudnnLRNDescriptor_tLRN 描述符。
lrnModemudnnLRNMode_tLRN 模式。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
yDescconst mudnnTensorDescriptor_t正向输出描述符。
yconst void *指向正向输出数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *指向输入张量数据的设备指针。
betaconst void *缩放系数 beta(主机端单元素指针)。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *指向输入梯度数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDivisiveNormalizationBackward
mudnnStatus_t mudnnDivisiveNormalizationBackward(mudnnHandle_t handle, mudnnLRNDescriptor_t normDesc, mudnnDivNormMode_t mode, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *means, const void *dy, void *temp, void *temp2, const void *beta, const mudnnTensorDescriptor_t dXdMeansDesc, void *dx, void *dMeans)

声明位置mudnn_ops.h

LCN/除性normalization反向:输出 dx 与 dMeans。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
normDescmudnnLRNDescriptor_tLRN 描述符。
modemudnnDivNormMode_t除性归一化模式。
alphaconst void *缩放系数 alpha(主机端单元素指针)。
xDescconst mudnnTensorDescriptor_t输入描述符(x/means/dy/temp/temp2 共用)。
xconst void *输入张量。
meansconst void *均值张量,NULL 视为 0。
dyconst void *输出梯度。
tempvoid *临时缓冲。
temp2void *临时缓冲。
betaconst void *缩放系数 beta(主机端单元素指针)。
dXdMeansDescconst mudnnTensorDescriptor_tdx/dMeans 描述符。
dxvoid *输出 dx。
dMeansvoid *输出 dMeans,可为 NULL。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetBatchNormalizationForwardTrainingExWorkspaceSize
mudnnStatus_t mudnnGetBatchNormalizationForwardTrainingExWorkspaceSize(mudnnHandle_t handle, mudnnBatchNormMode_t mode, mudnnBatchNormOps_t bnOps, const mudnnTensorDescriptor_t xDesc, const mudnnTensorDescriptor_t zDesc, const mudnnTensorDescriptor_t yDesc, const mudnnTensorDescriptor_t bnScaleBiasMeanVarDesc, const mudnnActivationDescriptor_t activationDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

状态:已废弃。

查询 BatchNorm 扩展前向 workspace(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnBatchNormMode_tBatchNorm 模式。
bnOpsmudnnBatchNormOps_t是否包含激活/残差。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
zDescconst mudnnTensorDescriptor_t残差张量描述符。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
bnScaleBiasMeanVarDescconst mudnnTensorDescriptor_tscale/bias/mean/var 描述符。
activationDescconst mudnnActivationDescriptor_t激活描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetBatchNormalizationBackwardExWorkspaceSize
mudnnStatus_t mudnnGetBatchNormalizationBackwardExWorkspaceSize(mudnnHandle_t handle, mudnnBatchNormMode_t mode, mudnnBatchNormOps_t bnOps, const mudnnTensorDescriptor_t xDesc, const mudnnTensorDescriptor_t yDesc, const mudnnTensorDescriptor_t dyDesc, const mudnnTensorDescriptor_t dzDesc, const mudnnTensorDescriptor_t dxDesc, const mudnnTensorDescriptor_t dBnScaleBiasDesc, const mudnnActivationDescriptor_t activationDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

状态:已废弃。

查询 BatchNorm 扩展反向所需 workspace(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnBatchNormMode_tBatchNorm 模式。
bnOpsmudnnBatchNormOps_t是否包含激活/残差。
xDescconst mudnnTensorDescriptor_t输入描述符。
yDescconst mudnnTensorDescriptor_t正向输出描述符。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dzDescconst mudnnTensorDescriptor_t残差梯度描述符。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dBnScaleBiasDescconst mudnnTensorDescriptor_tscale/bias 梯度描述符。
activationDescconst mudnnActivationDescriptor_t激活描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetBatchNormalizationTrainingExReserveSpaceSize
mudnnStatus_t mudnnGetBatchNormalizationTrainingExReserveSpaceSize(mudnnHandle_t handle, mudnnBatchNormMode_t mode, mudnnBatchNormOps_t bnOps, const mudnnActivationDescriptor_t activationDesc, const mudnnTensorDescriptor_t xDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

状态:已废弃。

查询 BatchNorm 扩展训练的 reserve space 大小(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnBatchNormMode_tBatchNorm 模式。
bnOpsmudnnBatchNormOps_t是否包含激活/残差。
activationDescconst mudnnActivationDescriptor_t激活描述符。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
sizeInBytessize_t *返回 reserve space 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchNormalizationForwardTraining
mudnnStatus_t mudnnBatchNormalizationForwardTraining(mudnnHandle_t handle, mudnnBatchNormMode_t mode, const void *alpha, const void *beta, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnTensorDescriptor_t yDesc, void *y, const mudnnTensorDescriptor_t bnScaleBiasMeanVarDesc, const void *bnScale, const void *bnBias, double exponentialAverageFactor, void *resultRunningMean, void *resultRunningVariance, double epsilon, void *resultSaveMean, void *resultSaveInvVariance)

声明位置mudnn_ops.h

状态:已废弃。

BatchNorm 训练前向(旧接口,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnBatchNormMode_tBatchNorm 模式。
alphaconst void *结果混合系数。
betaconst void *目标混合系数。
xDescconst mudnnTensorDescriptor_t输入描述符。
xconst void *指向输入数据的设备指针。
yDescconst mudnnTensorDescriptor_t输出描述符。
yvoid *指向输出数据的设备指针。
bnScaleBiasMeanVarDescconst mudnnTensorDescriptor_t共享描述符(scale/bias/mean/var)。
bnScaleconst void *指向 scale 数据的设备指针。
bnBiasconst void *指向 bias 数据的设备指针。
exponentialAverageFactordouble动量/指数平均系数。
resultRunningMeanvoid *指向运行均值的设备指针。
resultRunningVariancevoid *指向运行方差的设备指针。
epsilondouble数值稳定项。
resultSaveMeanvoid *指向保存均值的设备指针。
resultSaveInvVariancevoid *指向保存逆方差的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchNormalizationForwardTrainingEx
mudnnStatus_t mudnnBatchNormalizationForwardTrainingEx(mudnnHandle_t handle, mudnnBatchNormMode_t mode, mudnnBatchNormOps_t bnOps, const void *alpha, const void *beta, const mudnnTensorDescriptor_t xDesc, const void *xData, const mudnnTensorDescriptor_t zDesc, const void *zData, const mudnnTensorDescriptor_t yDesc, void *yData, const mudnnTensorDescriptor_t bnScaleBiasMeanVarDesc, const void *bnScale, const void *bnBias, double exponentialAverageFactor, void *resultRunningMean, void *resultRunningVariance, double epsilon, void *resultSaveMean, void *resultSaveInvVariance, mudnnActivationDescriptor_t activationDesc, void *workspace, size_t workSpaceSizeInBytes, void *reserveSpace, size_t reserveSpaceSizeInBytes)

声明位置mudnn_ops.h

状态:已废弃。

BatchNorm + 激活 + Add 训练前向(旧接口,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnBatchNormMode_tBatchNorm 模式。
bnOpsmudnnBatchNormOps_tBatchNorm 组合操作。
alphaconst void *结果混合系数。
betaconst void *目标混合系数。
xDescconst mudnnTensorDescriptor_t输入描述符。
xDataconst void *指向输入数据的设备指针。
zDescconst mudnnTensorDescriptor_t残差描述符。
zDataconst void *指向残差数据的设备指针。
yDescconst mudnnTensorDescriptor_t输出描述符。
yDatavoid *指向输出数据的设备指针。
bnScaleBiasMeanVarDescconst mudnnTensorDescriptor_t共享描述符。
bnScaleconst void *指向 scale 数据的设备指针。
bnBiasconst void *指向 bias 数据的设备指针。
exponentialAverageFactordouble动量系数。
resultRunningMeanvoid *指向运行均值的设备指针。
resultRunningVariancevoid *指向运行方差的设备指针。
epsilondouble数值稳定项。
resultSaveMeanvoid *指向保存均值的设备指针。
resultSaveInvVariancevoid *指向保存逆方差的设备指针。
activationDescmudnnActivationDescriptor_t激活描述符。
workspacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
reserveSpacevoid *指向预留空间的设备指针。
reserveSpaceSizeInBytessize_t预留空间大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchNormalizationBackward
mudnnStatus_t mudnnBatchNormalizationBackward(mudnnHandle_t handle, mudnnBatchNormMode_t mode, const void *alphaDataDiff, const void *betaDataDiff, const void *alphaParamDiff, const void *betaParamDiff, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnTensorDescriptor_t dxDesc, void *dx, const mudnnTensorDescriptor_t dBnScaleBiasDesc, const void *bnScale, void *dBnScaleResult, void *dBnBiasResult, double epsilon, const void *savedMean, const void *savedInvVariance)

声明位置mudnn_ops.h

状态:已废弃。

BatchNorm 反向(旧接口,返回 x/scale/bias 梯度,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnBatchNormMode_tBatchNorm 模式。
alphaDataDiffconst void *数据梯度混合系数。
betaDataDiffconst void *数据梯度偏移系数。
alphaParamDiffconst void *参数梯度混合系数。
betaParamDiffconst void *参数梯度偏移系数。
xDescconst mudnnTensorDescriptor_t输入/输出描述符(x/dx/dy)。
xconst void *指向输入数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度的设备指针。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *指向输入梯度的设备指针。
dBnScaleBiasDescconst mudnnTensorDescriptor_tscale/bias 梯度描述符。
bnScaleconst void *指向 scale 数据的设备指针。
dBnScaleResultvoid *指向 scale 梯度输出的设备指针。
dBnBiasResultvoid *指向 bias 梯度输出的设备指针。
epsilondouble数值稳定项。
savedMeanconst void *指向前向保存均值的设备指针。
savedInvVarianceconst void *指向前向保存逆方差的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchNormalizationBackwardEx
mudnnStatus_t mudnnBatchNormalizationBackwardEx(mudnnHandle_t handle, mudnnBatchNormMode_t mode, mudnnBatchNormOps_t bnOps, const void *alphaDataDiff, const void *betaDataDiff, const void *alphaParamDiff, const void *betaParamDiff, const mudnnTensorDescriptor_t xDesc, const void *xData, const mudnnTensorDescriptor_t yDesc, const void *yData, const mudnnTensorDescriptor_t dyDesc, const void *dyData, const mudnnTensorDescriptor_t dzDesc, void *dzData, const mudnnTensorDescriptor_t dxDesc, void *dxData, const mudnnTensorDescriptor_t dBnScaleBiasDesc, const void *bnScaleData, const void *bnBiasData, void *dBnScaleData, void *dBnBiasData, double epsilon, const void *savedMean, const void *savedInvVariance, mudnnActivationDescriptor_t activationDesc, void *workSpace, size_t workSpaceSizeInBytes, void *reserveSpace, size_t reserveSpaceSizeInBytes)

声明位置mudnn_ops.h

状态:已废弃。

BatchNorm 反向扩展版(旧接口,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnBatchNormMode_tBatchNorm 模式。
bnOpsmudnnBatchNormOps_tBatchNorm 组合操作。
alphaDataDiffconst void *数据梯度混合系数。
betaDataDiffconst void *数据梯度偏移系数。
alphaParamDiffconst void *参数梯度混合系数。
betaParamDiffconst void *参数梯度偏移系数。
xDescconst mudnnTensorDescriptor_t输入描述符。
xDataconst void *指向输入数据的设备指针。
yDescconst mudnnTensorDescriptor_t正向输出描述符。
yDataconst void *指向正向输出数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyDataconst void *指向输出梯度数据的设备指针。
dzDescconst mudnnTensorDescriptor_t残差梯度描述符。
dzDatavoid *指向残差梯度数据的设备指针。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxDatavoid *指向输入梯度数据的设备指针。
dBnScaleBiasDescconst mudnnTensorDescriptor_tscale/bias 梯度描述符。
bnScaleDataconst void *指向 scale 数据的设备指针。
bnBiasDataconst void *指向 bias 数据的设备指针。
dBnScaleDatavoid *指向 scale 梯度输出的设备指针。
dBnBiasDatavoid *指向 bias 梯度输出的设备指针。
epsilondouble数值稳定项。
savedMeanconst void *指向前向保存均值的设备指针。
savedInvVarianceconst void *指向前向保存逆方差的设备指针。
activationDescmudnnActivationDescriptor_t激活描述符。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
reserveSpacevoid *指向预留空间的设备指针。
reserveSpaceSizeInBytessize_t预留空间大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetNormalizationForwardTrainingWorkspaceSize
mudnnStatus_t mudnnGetNormalizationForwardTrainingWorkspaceSize(mudnnHandle_t handle, mudnnNormMode_t mode, mudnnNormOps_t normOps, mudnnNormAlgo_t algo, const mudnnTensorDescriptor_t xDesc, const mudnnTensorDescriptor_t zDesc, const mudnnTensorDescriptor_t yDesc, const mudnnTensorDescriptor_t normScaleBiasDesc, const mudnnActivationDescriptor_t activationDesc, const mudnnTensorDescriptor_t normMeanVarDesc, size_t *sizeInBytes, int groupCnt)

声明位置mudnn_ops.h

状态:已废弃。

查询 Normalization 训练前向 workspace(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnNormMode_tNormalization 模式。
normOpsmudnnNormOps_t组合操作。
algomudnnNormAlgo_t算法。
xDescconst mudnnTensorDescriptor_t输入描述符。
zDescconst mudnnTensorDescriptor_t残差描述符。
yDescconst mudnnTensorDescriptor_t输出描述符。
normScaleBiasDescconst mudnnTensorDescriptor_tscale/bias 描述符。
activationDescconst mudnnActivationDescriptor_t激活描述符。
normMeanVarDescconst mudnnTensorDescriptor_t均值/方差描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。
groupCntint组数(占位,默认 1)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetNormalizationBackwardWorkspaceSize
mudnnStatus_t mudnnGetNormalizationBackwardWorkspaceSize(mudnnHandle_t handle, mudnnNormMode_t mode, mudnnNormOps_t normOps, mudnnNormAlgo_t algo, const mudnnTensorDescriptor_t xDesc, const mudnnTensorDescriptor_t yDesc, const mudnnTensorDescriptor_t dyDesc, const mudnnTensorDescriptor_t dzDesc, const mudnnTensorDescriptor_t dxDesc, const mudnnTensorDescriptor_t dNormScaleBiasDesc, const mudnnActivationDescriptor_t activationDesc, const mudnnTensorDescriptor_t normMeanVarDesc, size_t *sizeInBytes, int groupCnt)

声明位置mudnn_ops.h

状态:已废弃。

查询 Normalization 反向 workspace(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnNormMode_tNormalization 模式。
normOpsmudnnNormOps_t组合操作。
algomudnnNormAlgo_t算法。
xDescconst mudnnTensorDescriptor_t输入描述符。
yDescconst mudnnTensorDescriptor_t正向输出描述符。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dzDescconst mudnnTensorDescriptor_t残差梯度描述符。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dNormScaleBiasDescconst mudnnTensorDescriptor_tscale/bias 梯度描述符。
activationDescconst mudnnActivationDescriptor_t激活描述符。
normMeanVarDescconst mudnnTensorDescriptor_t均值/方差描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。
groupCntint组数(占位,默认 1)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetNormalizationTrainingReserveSpaceSize
mudnnStatus_t mudnnGetNormalizationTrainingReserveSpaceSize(mudnnHandle_t handle, mudnnNormMode_t mode, mudnnNormOps_t normOps, mudnnNormAlgo_t algo, const mudnnActivationDescriptor_t activationDesc, const mudnnTensorDescriptor_t xDesc, size_t *sizeInBytes, int groupCnt)

声明位置mudnn_ops.h

状态:已废弃。

查询 Normalization 训练 reserve space(Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnNormMode_tNormalization 模式。
normOpsmudnnNormOps_t组合操作。
algomudnnNormAlgo_t算法。
activationDescconst mudnnActivationDescriptor_t激活描述符。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
sizeInBytessize_t *返回 reserve space 大小(字节)。
groupCntint组数(占位,默认 1)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnNormalizationForwardTraining
mudnnStatus_t mudnnNormalizationForwardTraining(mudnnHandle_t handle, mudnnNormMode_t mode, mudnnNormOps_t normOps, mudnnNormAlgo_t algo, const void *alpha, const void *beta, const mudnnTensorDescriptor_t xDesc, const void *xData, const mudnnTensorDescriptor_t normScaleBiasDesc, const void *normScale, const void *normBias, double exponentialAverageFactor, const mudnnTensorDescriptor_t normMeanVarDesc, void *resultRunningMean, void *resultRunningVariance, double epsilon, void *resultSaveMean, void *resultSaveInvVariance, mudnnActivationDescriptor_t activationDesc, const mudnnTensorDescriptor_t zDesc, const void *zData, const mudnnTensorDescriptor_t yDesc, void *yData, void *workspace, size_t workSpaceSizeInBytes, void *reserveSpace, size_t reserveSpaceSizeInBytes, int groupCnt)

声明位置mudnn_ops.h

状态:已废弃。

Normalization 训练前向(旧接口,含可选激活,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnNormMode_tNormalization 模式。
normOpsmudnnNormOps_t组合操作。
algomudnnNormAlgo_t算法。
alphaconst void *结果混合系数(设备端)。
betaconst void *目标混合系数(设备端)。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xDataconst void *指向输入张量数据的设备指针。
normScaleBiasDescconst mudnnTensorDescriptor_tscale/bias 描述符。
normScaleconst void *指向 scale 数据的设备指针。
normBiasconst void *指向 bias 数据的设备指针。
exponentialAverageFactordouble指数平均系数。
normMeanVarDescconst mudnnTensorDescriptor_t均值/方差描述符。
resultRunningMeanvoid *指向运行均值的设备指针。
resultRunningVariancevoid *指向运行方差的设备指针。
epsilondouble数值稳定项。
resultSaveMeanvoid *指向保存均值的设备指针。
resultSaveInvVariancevoid *指向保存逆方差的设备指针。
activationDescmudnnActivationDescriptor_t激活描述符。
zDescconst mudnnTensorDescriptor_t残差张量描述符。
zDataconst void *指向残差数据的设备指针。
yDescconst mudnnTensorDescriptor_t输出张量描述符。
yDatavoid *指向输出张量数据的设备指针。
workspacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
reserveSpacevoid *指向预留空间的设备指针。
reserveSpaceSizeInBytessize_t预留空间大小(字节)。
groupCntint组数(占位,默认 1)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnNormalizationBackward
mudnnStatus_t mudnnNormalizationBackward(mudnnHandle_t handle, mudnnNormMode_t mode, mudnnNormOps_t normOps, mudnnNormAlgo_t algo, const void *alphaDataDiff, const void *betaDataDiff, const void *alphaParamDiff, const void *betaParamDiff, const mudnnTensorDescriptor_t xDesc, const void *xData, const mudnnTensorDescriptor_t yDesc, const void *yData, const mudnnTensorDescriptor_t dyDesc, const void *dyData, const mudnnTensorDescriptor_t dzDesc, void *dzData, const mudnnTensorDescriptor_t dxDesc, void *dxData, const mudnnTensorDescriptor_t dNormScaleBiasDesc, const void *normScaleData, const void *normBiasData, void *dNormScaleData, void *dNormBiasData, double epsilon, const mudnnTensorDescriptor_t normMeanVarDesc, const void *savedMean, const void *savedInvVariance, mudnnActivationDescriptor_t activationDesc, void *workSpace, size_t workSpaceSizeInBytes, void *reserveSpace, size_t reserveSpaceSizeInBytes, int groupCnt)

声明位置mudnn_ops.h

状态:已废弃。

Normalization 反向(旧接口,Deprecated)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
modemudnnNormMode_tNormalization 模式。
normOpsmudnnNormOps_t组合操作。
algomudnnNormAlgo_t算法。
alphaDataDiffconst void *数据梯度混合系数。
betaDataDiffconst void *数据梯度偏移系数。
alphaParamDiffconst void *参数梯度混合系数。
betaParamDiffconst void *参数梯度偏移系数。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xDataconst void *指向输入数据的设备指针。
yDescconst mudnnTensorDescriptor_t正向输出描述符。
yDataconst void *指向正向输出数据的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyDataconst void *指向输出梯度数据的设备指针。
dzDescconst mudnnTensorDescriptor_t残差梯度描述符。
dzDatavoid *指向残差梯度数据的设备指针。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxDatavoid *指向输入梯度数据的设备指针。
dNormScaleBiasDescconst mudnnTensorDescriptor_tscale/bias 梯度描述符。
normScaleDataconst void *指向 scale 数据的设备指针。
normBiasDataconst void *指向 bias 数据的设备指针。
dNormScaleDatavoid *指向 scale 梯度输出的设备指针。
dNormBiasDatavoid *指向 bias 梯度输出的设备指针。
epsilondouble数值稳定项。
normMeanVarDescconst mudnnTensorDescriptor_t均值/方差描述符。
savedMeanconst void *前向保存均值。
savedInvVarianceconst void *前向保存逆方差。
activationDescmudnnActivationDescriptor_t激活描述符。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
reserveSpacevoid *指向预留空间的设备指针。
reserveSpaceSizeInBytessize_t预留空间大小(字节)。
groupCntint组数(占位,默认 1)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSpatialTfGridGeneratorBackward
mudnnStatus_t mudnnSpatialTfGridGeneratorBackward(mudnnHandle_t handle, const mudnnSpatialTransformerDescriptor_t stDesc, const void *dgrid, void *dtheta)

声明位置mudnn_ops.h

仿射网格生成反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
stDescconst mudnnSpatialTransformerDescriptor_t空间变换描述符。
dgridconst void *网格梯度。
dthetavoid *变换矩阵梯度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSpatialTfSamplerBackward
mudnnStatus_t mudnnSpatialTfSamplerBackward(mudnnHandle_t handle, mudnnSpatialTransformerDescriptor_t stDesc, const void *alpha, const mudnnTensorDescriptor_t xDesc, const void *x, const void *beta, const mudnnTensorDescriptor_t dxDesc, void *dx, const void *alphaDgrid, const mudnnTensorDescriptor_t dyDesc, const void *dy, const void *grid, const void *betaDgrid, void *dgrid)

声明位置mudnn_ops.h

空间变换采样反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
stDescmudnnSpatialTransformerDescriptor_t空间变换描述符。
alphaconst void *缩放系数 alpha(设备端)用于 dx。
xDescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *输入张量。
betaconst void *缩放系数 beta(设备端)用于 dx。
dxDescconst mudnnTensorDescriptor_t输入梯度描述符。
dxvoid *输入梯度。
alphaDgridconst void *缩放系数 alpha(设备端)用于 dgrid。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *输出梯度。
gridconst void *采样网格。
betaDgridconst void *缩放系数 beta(设备端)用于 dgrid。
dgridvoid *网格梯度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTensorNdDescriptorWithScale
mudnnStatus_t mudnnSetTensorNdDescriptorWithScale(mudnnTensorDescriptor_t tensorDesc, mudnnTensorFormat_t format, mudnnDataType_t dataType, int nbDims, const int64_t dimA[], const int64_t strideA[], float scale)

声明位置mudnn_ops.h

扩展接口:是。

配置带 scale 的 ND 张量描述符(扩展)

参数

参数类型说明
tensorDescmudnnTensorDescriptor_t-
formatmudnnTensorFormat_t-
dataTypemudnnDataType_t-
nbDimsint-
dimAconst int64_t-
strideAconst int64_t-
scalefloat-
mudnnGetTensorNdDescriptorWithScale
mudnnStatus_t mudnnGetTensorNdDescriptorWithScale(const mudnnTensorDescriptor_t tensorDesc, int nbDimsRequested, mudnnDataType_t *dataType, int *nbDims, int64_t dimA[], int64_t strideA[], float *scale)

声明位置mudnn_ops.h

扩展接口:是。

获取带 scale 的 ND 张量描述符(扩展)

参数

参数类型说明
tensorDescconst mudnnTensorDescriptor_t-
nbDimsRequestedint-
dataTypemudnnDataType_t *-
nbDimsint *-
dimAint64_t-
strideAint64_t-
scalefloat *-
mudnnCreateUnaryDescriptor
mudnnStatus_t mudnnCreateUnaryDescriptor(mudnnUnaryDescriptor_t *unaryDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建一元算子描述符。

参数

参数类型说明
unaryDescmudnnUnaryDescriptor_t *返回一元算子描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetUnaryDescriptor
mudnnStatus_t mudnnSetUnaryDescriptor(mudnnUnaryDescriptor_t unaryDesc, mudnnUnaryMode_t mode, mudnnParamDataType_t alphaType, void *alpha, mudnnParamDataType_t betaType, void *beta)

声明位置mudnn_ops.h

扩展接口:是。

配置一元算子描述符。

参数

参数类型说明
unaryDescmudnnUnaryDescriptor_t一元算子描述符。
modemudnnUnaryMode_t一元算子模式。
alphaTypemudnnParamDataType_talpha 参数类型。
alphavoid *alpha 参数指针。
betaTypemudnnParamDataType_tbeta 参数类型。
betavoid *beta 参数指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnUnary
mudnnStatus_t mudnnUnary(mudnnHandle_t handle, const mudnnUnaryDescriptor_t unaryDesc, mudnnTensorDescriptor_t outputDesc, void *outputData, const mudnnTensorDescriptor_t inputDesc, const void *inputData)

声明位置mudnn_ops.h

扩展接口:是。

执行一元算子。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
unaryDescconst mudnnUnaryDescriptor_t一元算子描述符。
outputDescmudnnTensorDescriptor_t输出张量描述符。
outputDatavoid *指向输出数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputDataconst void *指向输入数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyUnaryDescriptor
mudnnStatus_t mudnnDestroyUnaryDescriptor(mudnnUnaryDescriptor_t unaryDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁一元算子描述符。

参数

参数类型说明
unaryDescmudnnUnaryDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateBinaryDescriptor
mudnnStatus_t mudnnCreateBinaryDescriptor(mudnnBinaryDescriptor_t *binaryDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建二元算子描述符。

参数

参数类型说明
binaryDescmudnnBinaryDescriptor_t *返回二元算子描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetBinaryDescriptor
mudnnStatus_t mudnnSetBinaryDescriptor(mudnnBinaryDescriptor_t binaryDesc, mudnnBinaryMode_t mode, mudnnParamDataType_t alphaType, void *alpha, mudnnParamDataType_t betaType, void *beta)

声明位置mudnn_ops.h

扩展接口:是。

配置二元算子描述符。

参数

参数类型说明
binaryDescmudnnBinaryDescriptor_t二元算子描述符。
modemudnnBinaryMode_t二元算子模式。
alphaTypemudnnParamDataType_talpha 参数类型。
alphavoid *alpha 参数指针。
betaTypemudnnParamDataType_tbeta 参数类型。
betavoid *beta 参数指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBinary
mudnnStatus_t mudnnBinary(mudnnHandle_t handle, const mudnnBinaryDescriptor_t binaryDesc, mudnnTensorDescriptor_t outputDesc, void *outputData, const mudnnTensorDescriptor_t leftDesc, const void *leftData, const mudnnTensorDescriptor_t rightDesc, const void *rightData)

声明位置mudnn_ops.h

扩展接口:是。

执行二元算子。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
binaryDescconst mudnnBinaryDescriptor_t二元算子描述符。
outputDescmudnnTensorDescriptor_t输出张量描述符。
outputDatavoid *指向输出数据的设备指针。
leftDescconst mudnnTensorDescriptor_t左输入描述符。
leftDataconst void *指向左输入数据的设备指针。
rightDescconst mudnnTensorDescriptor_t右输入描述符。
rightDataconst void *指向右输入数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyBinaryDescriptor
mudnnStatus_t mudnnDestroyBinaryDescriptor(mudnnBinaryDescriptor_t binaryDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁二元算子描述符。

参数

参数类型说明
binaryDescmudnnBinaryDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateTernaryDescriptor
mudnnStatus_t mudnnCreateTernaryDescriptor(mudnnTernaryDescriptor_t *ternaryDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建三元算子描述符。

参数

参数类型说明
ternaryDescmudnnTernaryDescriptor_t *返回三元算子描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTernaryDescriptor
mudnnStatus_t mudnnSetTernaryDescriptor(mudnnTernaryDescriptor_t ternaryDesc, mudnnTernaryMode_t mode, mudnnParamDataType_t alphaType, void *alpha, mudnnParamDataType_t betaType, void *beta, mudnnParamDataType_t gammaType, void *gamma)

声明位置mudnn_ops.h

扩展接口:是。

配置三元算子描述符。

参数

参数类型说明
ternaryDescmudnnTernaryDescriptor_t三元算子描述符。
modemudnnTernaryMode_t三元算子模式。
alphaTypemudnnParamDataType_talpha 参数类型。
alphavoid *alpha 参数指针。
betaTypemudnnParamDataType_tbeta 参数类型。
betavoid *beta 参数指针。
gammaTypemudnnParamDataType_tgamma 参数类型。
gammavoid *gamma 参数指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnTernary
mudnnStatus_t mudnnTernary(mudnnHandle_t handle, const mudnnTernaryDescriptor_t ternaryDesc, mudnnTensorDescriptor_t outputDesc, void *outputData, const mudnnTensorDescriptor_t inputDesc0, const void *inputData0, const mudnnTensorDescriptor_t inputDesc1, const void *inputData1, const mudnnTensorDescriptor_t inputDesc2, const void *inputData2)

声明位置mudnn_ops.h

扩展接口:是。

执行三元算子。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
ternaryDescconst mudnnTernaryDescriptor_t三元算子描述符。
outputDescmudnnTensorDescriptor_t输出张量描述符。
outputDatavoid *指向输出数据的设备指针。
inputDesc0const mudnnTensorDescriptor_t第 0 输入描述符。
inputData0const void *指向第 0 输入数据的设备指针。
inputDesc1const mudnnTensorDescriptor_t第 1 输入描述符。
inputData1const void *指向第 1 输入数据的设备指针。
inputDesc2const mudnnTensorDescriptor_t第 2 输入描述符。
inputData2const void *指向第 2 输入数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyTernaryDescriptor
mudnnStatus_t mudnnDestroyTernaryDescriptor(mudnnTernaryDescriptor_t ternaryDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁三元算子描述符。

参数

参数类型说明
ternaryDescmudnnTernaryDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateFillDescriptor
mudnnStatus_t mudnnCreateFillDescriptor(mudnnFillDescriptor_t *fillDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建填充描述符。

参数

参数类型说明
fillDescmudnnFillDescriptor_t *返回填充描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetFillDescriptor
mudnnStatus_t mudnnSetFillDescriptor(mudnnFillDescriptor_t fillDesc, mudnnParamDataType_t type, void *value)

声明位置mudnn_ops.h

扩展接口:是。

配置padding 值及类型。

参数

参数类型说明
fillDescmudnnFillDescriptor_t填充描述符。
typemudnnParamDataType_tpadding 值类型。
valuevoid *padding 值指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnFill
mudnnStatus_t mudnnFill(mudnnHandle_t handle, const mudnnFillDescriptor_t fillDesc, const mudnnTensorDescriptor_t maskDesc, const void *maskAddress, mudnnTensorDescriptor_t outputDesc, void *outputAddress)

声明位置mudnn_ops.h

扩展接口:是。

执行填充(支持掩码)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
fillDescconst mudnnFillDescriptor_t填充描述符。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskAddressconst void *指向掩码数据的设备指针。
outputDescmudnnTensorDescriptor_t输出张量描述符。
outputAddressvoid *指向输出张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyFillDescriptor
mudnnStatus_t mudnnDestroyFillDescriptor(mudnnFillDescriptor_t fillDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁填充描述符。

参数

参数类型说明
fillDescmudnnFillDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateReduceDescriptor
mudnnStatus_t mudnnCreateReduceDescriptor(mudnnReduceDescriptor_t *reduceDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建归约描述符(扩展)。

参数

参数类型说明
reduceDescmudnnReduceDescriptor_t *返回归约描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetReduceDescriptor
mudnnStatus_t mudnnSetReduceDescriptor(mudnnReduceDescriptor_t reduceDesc, mudnnReduceMode_t mode, int ndim, const int *dim, float ord, int correction)

声明位置mudnn_ops.h

扩展接口:是。

配置归约描述符(扩展)。

参数

参数类型说明
reduceDescmudnnReduceDescriptor_t归约描述符。
modemudnnReduceMode_t归约模式。
ndimint轴数。
dimconst int *归约轴数组。
ordfloat范数阶(用于部分归约)。
correctionint修正项(如无偏估计)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetReduceWorkspaceSize
mudnnStatus_t mudnnGetReduceWorkspaceSize(mudnnHandle_t handle, const mudnnReduceDescriptor_t reduceDesc, size_t *sizeInBytes, mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t inputDesc)

声明位置mudnn_ops.h

扩展接口:是。

查询归约 workspace 大小(扩展)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceDescconst mudnnReduceDescriptor_t归约描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。
outputDescmudnnTensorDescriptor_t输出张量描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnReduce
mudnnStatus_t mudnnReduce(mudnnHandle_t handle, const mudnnReduceDescriptor_t reduceDesc, const mudnnTensorDescriptor_t inputDesc, const void *inputData, void *workSpace, size_t workSpaceSizeInBytes, mudnnTensorDescriptor_t outputDesc, void *outputData)

声明位置mudnn_ops.h

扩展接口:是。

执行归约(扩展)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceDescconst mudnnReduceDescriptor_t归约描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputDataconst void *指向输入数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
outputDescmudnnTensorDescriptor_t输出张量描述符。
outputDatavoid *指向输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetReduceMeanAndVarWorkspaceSize
mudnnStatus_t mudnnGetReduceMeanAndVarWorkspaceSize(mudnnHandle_t handle, const mudnnReduceDescriptor_t reduceDesc, size_t &sizeInBytes, mudnnTensorDescriptor_t outputVarDesc, mudnnTensorDescriptor_t outputMeanDesc, const mudnnTensorDescriptor_t inputDesc)

声明位置mudnn_ops.h

扩展接口:是。

查询均值/方差归约 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceDescconst mudnnReduceDescriptor_t归约描述符。
sizeInBytessize_t &返回 workspace 大小(字节)。
outputVarDescmudnnTensorDescriptor_t方差输出描述符。
outputMeanDescmudnnTensorDescriptor_t均值输出描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnReduceMeanAndVar
mudnnStatus_t mudnnReduceMeanAndVar(mudnnHandle_t handle, const mudnnReduceDescriptor_t reduceDesc, const mudnnTensorDescriptor_t inputDesc, const void *inputData, void *workSpace, size_t workSpaceSizeInBytes, mudnnTensorDescriptor_t outputVarDesc, void *outputVarData, mudnnTensorDescriptor_t outputMeanDesc, void *outputMeanData)

声明位置mudnn_ops.h

扩展接口:是。

计算均值与方差(扩展)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceDescconst mudnnReduceDescriptor_t归约描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputDataconst void *指向输入数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
outputVarDescmudnnTensorDescriptor_t方差输出描述符。
outputVarDatavoid *指向方差输出数据的设备指针。
outputMeanDescmudnnTensorDescriptor_t均值输出描述符。
outputMeanDatavoid *指向均值输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetReduceIndicesWorkspaceSize
mudnnStatus_t mudnnGetReduceIndicesWorkspaceSize(mudnnHandle_t handle, const mudnnReduceDescriptor_t reduceDesc, size_t &sizeInBytes, mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t inputDesc)

声明位置mudnn_ops.h

扩展接口:是。

查询仅索引归约 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceDescconst mudnnReduceDescriptor_t归约描述符。
sizeInBytessize_t &返回 workspace 大小(字节)。
outputDescmudnnTensorDescriptor_t输出张量描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnReduceOnlyIndices
mudnnStatus_t mudnnReduceOnlyIndices(mudnnHandle_t handle, const mudnnReduceDescriptor_t reduceDesc, const mudnnTensorDescriptor_t inputDesc, const void *inputData, void *workSpace, size_t workSpaceSizeInBytes, mudnnTensorDescriptor_t outputDesc, void *outputData)

声明位置mudnn_ops.h

扩展接口:是。

执行仅索引归约。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceDescconst mudnnReduceDescriptor_t归约描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputDataconst void *指向输入数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
outputDescmudnnTensorDescriptor_t输出描述符。
outputDatavoid *指向输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetReduceWithIndicesWorkspaceSize
mudnnStatus_t mudnnGetReduceWithIndicesWorkspaceSize(mudnnHandle_t handle, const mudnnReduceDescriptor_t reduceDesc, size_t &sizeInBytes, mudnnTensorDescriptor_t outputDesc, mudnnTensorDescriptor_t outputIndicesDesc, const mudnnTensorDescriptor_t inputDesc)

声明位置mudnn_ops.h

扩展接口:是。

查询带索引归约 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceDescconst mudnnReduceDescriptor_t归约描述符。
sizeInBytessize_t &返回 workspace 大小(字节)。
outputDescmudnnTensorDescriptor_t输出描述符。
outputIndicesDescmudnnTensorDescriptor_t索引输出描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnReduceWithIndices
mudnnStatus_t mudnnReduceWithIndices(mudnnHandle_t handle, const mudnnReduceDescriptor_t reduceDesc, const mudnnTensorDescriptor_t inputDesc, const void *inputData, void *workSpace, size_t workSpaceSizeInBytes, mudnnTensorDescriptor_t outputDesc, void *outputData, mudnnTensorDescriptor_t outputIndicesDesc, void *outputIndices)

声明位置mudnn_ops.h

扩展接口:是。

执行带索引归约。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
reduceDescconst mudnnReduceDescriptor_t归约描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputDataconst void *指向输入数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
outputDescmudnnTensorDescriptor_t输出描述符。
outputDatavoid *指向输出数据的设备指针。
outputIndicesDescmudnnTensorDescriptor_t索引输出描述符。
outputIndicesvoid *指向索引输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyReduceDescriptor
mudnnStatus_t mudnnDestroyReduceDescriptor(mudnnReduceDescriptor_t reduceDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁归约描述符(扩展)。

参数

参数类型说明
reduceDescmudnnReduceDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreatePermuteDescriptor
mudnnStatus_t mudnnCreatePermuteDescriptor(mudnnPermuteDescriptor_t *permuteDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建排列描述符。

参数

参数类型说明
permuteDescmudnnPermuteDescriptor_t *返回排列描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyPermuteDescriptor
mudnnStatus_t mudnnDestroyPermuteDescriptor(mudnnPermuteDescriptor_t permuteDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁排列描述符。

参数

参数类型说明
permuteDescmudnnPermuteDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetPermuteSrcOffset
mudnnStatus_t mudnnSetPermuteSrcOffset(mudnnPermuteDescriptor_t permuteDesc, int64_t src_offset)

声明位置mudnn_ops.h

扩展接口:是。

设置排列源偏移。

参数

参数类型说明
permuteDescmudnnPermuteDescriptor_t排列描述符。
src_offsetint64_t源偏移(元素为单位)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetPermuteDstOffset
mudnnStatus_t mudnnSetPermuteDstOffset(mudnnPermuteDescriptor_t permuteDesc, int64_t dst_offset)

声明位置mudnn_ops.h

扩展接口:是。

设置排列目标偏移。

参数

参数类型说明
permuteDescmudnnPermuteDescriptor_t排列描述符。
dst_offsetint64_t目标偏移(元素为单位)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnPermuteConfigDimStride
mudnnStatus_t mudnnPermuteConfigDimStride(mudnnPermuteDescriptor_t permuteDesc, mudnnTensorDescriptor_t outDesc, const mudnnTensorDescriptor_t inDesc, int len, const int64_t *permute_dims)

声明位置mudnn_ops.h

扩展接口:是。

配置排列维度/步长。

参数

参数类型说明
permuteDescmudnnPermuteDescriptor_t排列描述符。
outDescmudnnTensorDescriptor_t输出张量描述符。
inDescconst mudnnTensorDescriptor_t输入张量描述符。
lenint维度个数。
permute_dimsconst int64_t *维度重排数组。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnPermuteConfigDimStrideForSlice
mudnnStatus_t mudnnPermuteConfigDimStrideForSlice(mudnnPermuteDescriptor_t permuteDesc, mudnnTensorDescriptor_t outDesc, const mudnnTensorDescriptor_t inDesc, const int64_t *start)

声明位置mudnn_ops.h

扩展接口:是。

配置切片排列。

参数

参数类型说明
permuteDescmudnnPermuteDescriptor_t排列描述符。
outDescmudnnTensorDescriptor_t输出张量描述符。
inDescconst mudnnTensorDescriptor_t输入张量描述符。
startconst int64_t *切片起始位置。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnPermuteConfigDimStrideForSliceEx
mudnnStatus_t mudnnPermuteConfigDimStrideForSliceEx(mudnnPermuteDescriptor_t permuteDesc, mudnnTensorDescriptor_t outDesc, const mudnnTensorDescriptor_t inDesc, const int64_t *start, const int64_t *stride)

声明位置mudnn_ops.h

扩展接口:是。

配置切片排列(含 stride)。

参数

参数类型说明
permuteDescmudnnPermuteDescriptor_t排列描述符。
outDescmudnnTensorDescriptor_t输出张量描述符。
inDescconst mudnnTensorDescriptor_t输入张量描述符。
startconst int64_t *切片起始位置。
strideconst int64_t *切片步长。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnPermute
mudnnStatus_t mudnnPermute(mudnnHandle_t handle, const mudnnPermuteDescriptor_t permuteDesc, const mudnnTensorDescriptor_t outDesc, void *out, const mudnnTensorDescriptor_t inDesc, const void *in)

声明位置mudnn_ops.h

扩展接口:是。

执行排列。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
permuteDescconst mudnnPermuteDescriptor_t排列描述符。
outDescconst mudnnTensorDescriptor_t输出张量描述符。
outvoid *指向输出数据的设备指针。
inDescconst mudnnTensorDescriptor_t输入张量描述符。
inconst void *指向输入数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateConcatDescriptor
mudnnStatus_t mudnnCreateConcatDescriptor(mudnnConcatDescriptor_t *concatDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建拼接描述符。

参数

参数类型说明
concatDescmudnnConcatDescriptor_t *返回拼接描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetConcatDescriptor
mudnnStatus_t mudnnSetConcatDescriptor(mudnnConcatDescriptor_t concatDesc, int axis)

声明位置mudnn_ops.h

扩展接口:是。

设置拼接轴。

参数

参数类型说明
concatDescmudnnConcatDescriptor_t拼接描述符。
axisint拼接轴。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetConcatDescriptor
mudnnStatus_t mudnnGetConcatDescriptor(const mudnnConcatDescriptor_t concatDesc, int *axis)

声明位置mudnn_ops.h

扩展接口:是。

查询拼接轴。

参数

参数类型说明
concatDescconst mudnnConcatDescriptor_t拼接描述符。
axisint *返回拼接轴。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnConcat
mudnnStatus_t mudnnConcat(mudnnHandle_t handle, const mudnnConcatDescriptor_t concatDesc, const mudnnTensorDescriptor_t *inputDescs, const void **inputs, int numInputs, const mudnnTensorDescriptor_t outputDesc, void *output)

声明位置mudnn_ops.h

扩展接口:是。

执行张量拼接。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
concatDescconst mudnnConcatDescriptor_t拼接描述符。
inputDescsconst mudnnTensorDescriptor_t *输入张量描述符数组。
inputsconst void **指向输入张量数据的设备指针数组。
numInputsint输入数量。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyConcatDescriptor
mudnnStatus_t mudnnDestroyConcatDescriptor(mudnnConcatDescriptor_t concatDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁拼接描述符。

参数

参数类型说明
concatDescmudnnConcatDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateNonzeroDescriptor
mudnnStatus_t mudnnCreateNonzeroDescriptor(mudnnNonzeroDescriptor_t *nonZeroDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 Nonzero 描述符。

参数

参数类型说明
nonZeroDescmudnnNonzeroDescriptor_t *返回 Nonzero 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyDescriptor
mudnnStatus_t mudnnDestroyDescriptor(mudnnNonzeroDescriptor_t nonZeroDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 Nonzero 描述符。

参数

参数类型说明
nonZeroDescmudnnNonzeroDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetNonzeroWorkspaceSize
mudnnStatus_t mudnnGetNonzeroWorkspaceSize(mudnnHandle_t handle, const mudnnNonzeroDescriptor_t nonZeroDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t outputDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 Nonzero 工作区大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
nonZeroDescconst mudnnNonzeroDescriptor_tNonzero 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnNonzero
mudnnStatus_t mudnnNonzero(mudnnHandle_t handle, mudnnNonzeroDescriptor_t nonZeroDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t outputDesc, void *output)

声明位置mudnn_ops.h

扩展接口:是。

执行 Nonzero。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
nonZeroDescmudnnNonzeroDescriptor_tNonzero 描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputconst void *指向输入数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
outputDescconst mudnnTensorDescriptor_t输出描述符。
outputvoid *指向输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateLayerNormDescriptor
mudnnStatus_t mudnnCreateLayerNormDescriptor(mudnnLayerNormDescriptor_t *layerNormDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 LayerNorm 描述符。

参数

参数类型说明
layerNormDescmudnnLayerNormDescriptor_t *返回 LayerNorm 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetLayerNormDescriptor
mudnnStatus_t mudnnSetLayerNormDescriptor(mudnnLayerNormDescriptor_t layerNormDesc, double epsilon, mudnnLayerNormMode_t mode, int *axes, int numAxes)

声明位置mudnn_ops.h

扩展接口:是。

配置 LayerNorm 描述符(epsilon/模式/轴)。

参数

参数类型说明
layerNormDescmudnnLayerNormDescriptor_t描述符。
epsilondouble数值稳定项。
modemudnnLayerNormMode_tLayerNorm 模式。
axesint *归一化轴数组。
numAxesint轴数量。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetLayerNormDescriptor
mudnnStatus_t mudnnGetLayerNormDescriptor(const mudnnLayerNormDescriptor_t layerNormDesc, double *epsilon, mudnnLayerNormMode_t *mode, int **axes, int *numAxes)

声明位置mudnn_ops.h

扩展接口:是。

查询 LayerNorm 描述符。

参数

参数类型说明
layerNormDescconst mudnnLayerNormDescriptor_t描述符。
epsilondouble *返回 epsilon。
modemudnnLayerNormMode_t *返回模式。
axesint **返回轴数组指针。
numAxesint *返回轴数量。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetLayerNormForwardWorkspaceSize
mudnnStatus_t mudnnGetLayerNormForwardWorkspaceSize(const mudnnHandle_t handle, const mudnnLayerNormDescriptor_t layerNormDesc, const mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t meanDesc, const mudnnTensorDescriptor_t varianceDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t gammaDesc, const mudnnTensorDescriptor_t betaDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 LayerNorm 前向 workspace 大小。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
layerNormDescconst mudnnLayerNormDescriptor_tLayerNorm 描述符。
outputDescconst mudnnTensorDescriptor_t输出描述符。
meanDescconst mudnnTensorDescriptor_t均值描述符。
varianceDescconst mudnnTensorDescriptor_t方差描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
gammaDescconst mudnnTensorDescriptor_tgamma 描述符。
betaDescconst mudnnTensorDescriptor_tbeta 描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnLayerNormForward
mudnnStatus_t mudnnLayerNormForward(mudnnHandle_t handle, const mudnnLayerNormDescriptor_t layerNormDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t meanDesc, const void *mean, const mudnnTensorDescriptor_t varianceDesc, const void *variance, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t gammaDesc, const void *gamma, const mudnnTensorDescriptor_t betaDesc, const void *beta, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

LayerNorm 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
layerNormDescconst mudnnLayerNormDescriptor_t描述符。
outputDescconst mudnnTensorDescriptor_t输出描述符。
outputvoid *指向输出数据的设备指针。
meanDescconst mudnnTensorDescriptor_t均值描述符。
meanconst void *指向均值数据的设备指针。
varianceDescconst mudnnTensorDescriptor_t方差描述符。
varianceconst void *指向方差数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputconst void *指向输入数据的设备指针。
gammaDescconst mudnnTensorDescriptor_tgamma 描述符。
gammaconst void *指向 gamma 数据的设备指针。
betaDescconst mudnnTensorDescriptor_tbeta 描述符。
betaconst void *指向 beta 数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetLayerNormBackwardWorkspaceSize
mudnnStatus_t mudnnGetLayerNormBackwardWorkspaceSize(mudnnHandle_t handle, const mudnnLayerNormDescriptor_t layerNormDesc, const mudnnTensorDescriptor_t dxDesc, const void *dx, const mudnnTensorDescriptor_t dgammaDesc, const void *dgamma, const mudnnTensorDescriptor_t dbetaDesc, const void *dbeta, const mudnnTensorDescriptor_t dyDesc, const mudnnTensorDescriptor_t xDesc, const mudnnTensorDescriptor_t meanDesc, const mudnnTensorDescriptor_t varianceDesc, const mudnnTensorDescriptor_t gammaDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 LayerNorm 反向 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
layerNormDescconst mudnnLayerNormDescriptor_t描述符。
dxDescconst mudnnTensorDescriptor_tdx 描述符。
dxconst void *指向 dx 数据的设备指针(可选)。
dgammaDescconst mudnnTensorDescriptor_tdgamma 描述符。
dgammaconst void *指向 dgamma 数据的设备指针(可选)。
dbetaDescconst mudnnTensorDescriptor_tdbeta 描述符。
dbetaconst void *指向 dbeta 数据的设备指针(可选)。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
xDescconst mudnnTensorDescriptor_t输入描述符。
meanDescconst mudnnTensorDescriptor_t均值描述符。
varianceDescconst mudnnTensorDescriptor_t方差描述符。
gammaDescconst mudnnTensorDescriptor_tgamma 描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnLayerNormBackward
mudnnStatus_t mudnnLayerNormBackward(mudnnHandle_t handle, const mudnnLayerNormDescriptor_t layerNormDesc, const mudnnTensorDescriptor_t dxDesc, void *dx, const mudnnTensorDescriptor_t dgammaDesc, void *dgamma, const mudnnTensorDescriptor_t dbetaDesc, void *dbeta, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnTensorDescriptor_t xDesc, const void *x, const mudnnTensorDescriptor_t meanDesc, const void *mean, const mudnnTensorDescriptor_t varianceDesc, const void *variance, const mudnnTensorDescriptor_t gammaDesc, const void *gamma, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

LayerNorm 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
layerNormDescconst mudnnLayerNormDescriptor_t描述符。
dxDescconst mudnnTensorDescriptor_tdx 描述符。
dxvoid *dx 输出。
dgammaDescconst mudnnTensorDescriptor_tdgamma 描述符。
dgammavoid *dgamma 输出。
dbetaDescconst mudnnTensorDescriptor_tdbeta 描述符。
dbetavoid *dbeta 输出。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度数据的设备指针。
xDescconst mudnnTensorDescriptor_t输入描述符。
xconst void *指向输入数据的设备指针。
meanDescconst mudnnTensorDescriptor_t均值描述符。
meanconst void *指向均值数据的设备指针。
varianceDescconst mudnnTensorDescriptor_t方差描述符。
varianceconst void *指向方差数据的设备指针。
gammaDescconst mudnnTensorDescriptor_tgamma 描述符。
gammaconst void *指向 gamma 数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyLayerNormDescriptor
mudnnStatus_t mudnnDestroyLayerNormDescriptor(mudnnLayerNormDescriptor_t layerNormDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 LayerNorm 描述符。

参数

参数类型说明
layerNormDescmudnnLayerNormDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetDropoutDescriptorEx
mudnnStatus_t mudnnSetDropoutDescriptorEx(mudnnDropoutDescriptor_t dropoutDesc, double dropout, double scale, mudnnParamDataType_t seedType, void *seed, mudnnParamDataType_t offsetType, void *offset, uint64_t sub_offset)

声明位置mudnn_ops.h

扩展接口:是。

配置 Dropout 描述符(扩展,含 scale/seed/offset)。

参数

参数类型说明
dropoutDescmudnnDropoutDescriptor_tDropout 描述符。
dropoutdoubleDropout 比例。
scaledouble缩放系数。
seedTypemudnnParamDataType_t种子类型。
seedvoid *种子指针。
offsetTypemudnnParamDataType_t偏移类型。
offsetvoid *偏移指针。
sub_offsetuint64_t额外子偏移。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDropoutForwardEx
mudnnStatus_t mudnnDropoutForwardEx(mudnnHandle_t handle, const mudnnDropoutDescriptor_t dropoutDesc, const mudnnTensorDescriptor_t xdesc, const void *x, const mudnnTensorDescriptor_t ydesc, void *y, const mudnnTensorDescriptor_t maskDesc, void *mask)

声明位置mudnn_ops.h

扩展接口:是。

Dropout 扩展前向(生成 mask)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
dropoutDescconst mudnnDropoutDescriptor_tDropout 描述符。
xdescconst mudnnTensorDescriptor_t输入张量描述符。
xconst void *输入张量。
ydescconst mudnnTensorDescriptor_t输出张量描述符。
yvoid *输出张量。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskvoid *掩码输出。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDropoutBackwardEx
mudnnStatus_t mudnnDropoutBackwardEx(mudnnHandle_t handle, const mudnnDropoutDescriptor_t dropoutDesc, const mudnnTensorDescriptor_t yDesc, void *y, const mudnnTensorDescriptor_t gradDesc, const void *grad, const mudnnTensorDescriptor_t maskDesc, const void *mask)

声明位置mudnn_ops.h

扩展接口:是。

Dropout 扩展反向(使用 mask)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
dropoutDescconst mudnnDropoutDescriptor_tDropout 描述符。
yDescconst mudnnTensorDescriptor_t反向输出描述符。
yvoid *指向反向输出数据(dx)的设备指针。
gradDescconst mudnnTensorDescriptor_t梯度描述符。
gradconst void *指向梯度输入数据(dy)的设备指针。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskconst void *指向掩码数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateInterpolateDescriptor
mudnnStatus_t mudnnCreateInterpolateDescriptor(mudnnInterpolateDescriptor_t *interpolateDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建插值描述符。

参数

参数类型说明
interpolateDescmudnnInterpolateDescriptor_t *返回插值描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetInterpolateDescriptor
mudnnStatus_t mudnnSetInterpolateDescriptor(mudnnInterpolateDescriptor_t interpolateDesc, mudnnInterpolateMode_t mode, int nscales, float *scales, bool alignCorners, bool antialias)

声明位置mudnn_ops.h

扩展接口:是。

配置插值描述符(模式、scales、alignCorners、抗锯齿)。

参数

参数类型说明
interpolateDescmudnnInterpolateDescriptor_t插值描述符。
modemudnnInterpolateMode_t插值模式。
nscalesintscale 数量。
scalesfloat *scale 数组。
alignCornersbool是否对齐角点。
antialiasbool是否抗锯齿。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetInterpolateDescriptor
mudnnStatus_t mudnnGetInterpolateDescriptor(const mudnnInterpolateDescriptor_t interpolateDesc, mudnnInterpolateMode_t *mode, int *nscales, float **scales, bool *alignCorners, bool *antialias)

声明位置mudnn_ops.h

扩展接口:是。

查询插值描述符。

参数

参数类型说明
interpolateDescconst mudnnInterpolateDescriptor_t插值描述符。
modemudnnInterpolateMode_t *返回插值模式。
nscalesint *返回 scale 数量。
scalesfloat **返回 scale 数组指针。
alignCornersbool *返回是否对齐角点。
antialiasbool *返回是否抗锯齿。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnInterpolateForward
mudnnStatus_t mudnnInterpolateForward(mudnnHandle_t handle, const mudnnInterpolateDescriptor_t interpolateDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input)

声明位置mudnn_ops.h

扩展接口:是。

插值前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
interpolateDescconst mudnnInterpolateDescriptor_t插值描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *输出张量。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *输入张量。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnInterpolateBackward
mudnnStatus_t mudnnInterpolateBackward(mudnnHandle_t handle, const mudnnInterpolateDescriptor_t interpolateDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input)

声明位置mudnn_ops.h

扩展接口:是。

插值反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
interpolateDescconst mudnnInterpolateDescriptor_t插值描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *输出张量(梯度累加)。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *输入张量。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyInterpolateDescriptor
mudnnStatus_t mudnnDestroyInterpolateDescriptor(mudnnInterpolateDescriptor_t interpolateDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁插值描述符。

参数

参数类型说明
interpolateDescmudnnInterpolateDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateSortDescriptor
mudnnStatus_t mudnnCreateSortDescriptor(mudnnSortDescriptor_t *sortDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建排序描述符。

参数

参数类型说明
sortDescmudnnSortDescriptor_t *返回排序描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetSortDescriptor
mudnnStatus_t mudnnSetSortDescriptor(mudnnSortDescriptor_t sortDesc, int dim, bool stable, bool descending)

声明位置mudnn_ops.h

扩展接口:是。

配置排序描述符(维度/稳定性/升降序)。

参数

参数类型说明
sortDescmudnnSortDescriptor_t排序描述符。
dimint排序维度。
stablebool是否稳定排序。
descendingbool是否降序。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetSortDescriptor
mudnnStatus_t mudnnGetSortDescriptor(const mudnnSortDescriptor_t sortDesc, int *dim, bool *stable, bool *descending)

声明位置mudnn_ops.h

扩展接口:是。

查询排序描述符。

参数

参数类型说明
sortDescconst mudnnSortDescriptor_t排序描述符。
dimint *返回排序维度。
stablebool *返回是否稳定排序。
descendingbool *返回是否降序。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetSortWorkspaceSize
mudnnStatus_t mudnnGetSortWorkspaceSize(mudnnHandle_t handle, const mudnnSortDescriptor_t sortDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t indicesDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询排序 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sortDescconst mudnnSortDescriptor_t排序描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
outputDescconst mudnnTensorDescriptor_t输出描述符。
indicesDescconst mudnnTensorDescriptor_t索引描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSort
mudnnStatus_t mudnnSort(mudnnHandle_t handle, const mudnnSortDescriptor_t sortDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t indicesDesc, void *indices)

声明位置mudnn_ops.h

扩展接口:是。

执行排序(输出值与索引)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sortDescconst mudnnSortDescriptor_t排序描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputconst void *指向输入数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
outputDescconst mudnnTensorDescriptor_t输出描述符。
outputvoid *指向输出数据的设备指针。
indicesDescconst mudnnTensorDescriptor_t索引描述符。
indicesvoid *指向输出索引的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroySortDescriptor
mudnnStatus_t mudnnDestroySortDescriptor(mudnnSortDescriptor_t sortDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁排序描述符。

参数

参数类型说明
sortDescmudnnSortDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateSortByKeyDescriptor
mudnnStatus_t mudnnCreateSortByKeyDescriptor(mudnnSortByKeyDescriptor_t *sortByKeyDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建键值排序描述符。

参数

参数类型说明
sortByKeyDescmudnnSortByKeyDescriptor_t *返回键值排序描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetSortByKeyDescriptor
mudnnStatus_t mudnnSetSortByKeyDescriptor(mudnnSortByKeyDescriptor_t sortByKeyDesc, int dim, bool stable, bool descending)

声明位置mudnn_ops.h

扩展接口:是。

配置键值排序描述符。

参数

参数类型说明
sortByKeyDescmudnnSortByKeyDescriptor_t描述符。
dimint排序维度。
stablebool是否稳定排序。
descendingbool是否降序。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetSortByKeyDescriptor
mudnnStatus_t mudnnGetSortByKeyDescriptor(const mudnnSortByKeyDescriptor_t sortByKeyDesc, int *dim, bool *stable, bool *descending)

声明位置mudnn_ops.h

扩展接口:是。

查询键值排序描述符。

参数

参数类型说明
sortByKeyDescconst mudnnSortByKeyDescriptor_t描述符。
dimint *返回维度。
stablebool *返回稳定性。
descendingbool *返回是否降序。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetSortByKeyWorkspaceSize
mudnnStatus_t mudnnGetSortByKeyWorkspaceSize(mudnnHandle_t handle, const mudnnSortByKeyDescriptor_t sortByKeyDesc, const mudnnTensorDescriptor_t keyOutDesc, const mudnnTensorDescriptor_t valueOutDesc, const mudnnTensorDescriptor_t keyInDesc, const mudnnTensorDescriptor_t valueInDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询键值排序 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sortByKeyDescconst mudnnSortByKeyDescriptor_t描述符。
keyOutDescconst mudnnTensorDescriptor_tkey 输出描述符。
valueOutDescconst mudnnTensorDescriptor_tvalue 输出描述符。
keyInDescconst mudnnTensorDescriptor_tkey 输入描述符。
valueInDescconst mudnnTensorDescriptor_tvalue 输入描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSortByKey
mudnnStatus_t mudnnSortByKey(mudnnHandle_t handle, const mudnnSortByKeyDescriptor_t sortByKeyDesc, const mudnnTensorDescriptor_t keyInDesc, void *keyIn, const mudnnTensorDescriptor_t valueInDesc, void *valueIn, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t keyOutDesc, void *keyOut, const mudnnTensorDescriptor_t valueOutDesc, void *valueOut)

声明位置mudnn_ops.h

扩展接口:是。

执行键值排序。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sortByKeyDescconst mudnnSortByKeyDescriptor_t描述符。
keyInDescconst mudnnTensorDescriptor_tkey 输入描述符。
keyInvoid *指向 key 输入/输出数据的设备指针。
valueInDescconst mudnnTensorDescriptor_tvalue 输入描述符。
valueInvoid *指向 value 输入/输出数据的设备指针。
workSpacevoid *指向工作区的设备指针。
workSpaceSizeInBytessize_t工作区大小(字节)。
keyOutDescconst mudnnTensorDescriptor_tkey 输出描述符。
keyOutvoid *指向 key 输出数据的设备指针。
valueOutDescconst mudnnTensorDescriptor_tvalue 输出描述符。
valueOutvoid *指向 value 输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroySortByKeyDescriptor
mudnnStatus_t mudnnDestroySortByKeyDescriptor(mudnnSortByKeyDescriptor_t sortByKeyDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁键值排序描述符。

参数

参数类型说明
sortByKeyDescmudnnSortByKeyDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateScatterDescriptor
mudnnStatus_t mudnnCreateScatterDescriptor(mudnnScatterDescriptor_t *scatterDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 scatter 描述符。

参数

参数类型说明
scatterDescmudnnScatterDescriptor_t *返回 scatter 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetScatterDescriptor
mudnnStatus_t mudnnSetScatterDescriptor(mudnnScatterDescriptor_t scatterDesc, mudnnScatterMode_t mode)

声明位置mudnn_ops.h

扩展接口:是。

配置 scatter 模式。

参数

参数类型说明
scatterDescmudnnScatterDescriptor_t描述符。
modemudnnScatterMode_tscatter 模式(更新/加/减/乘)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetScatterDescriptor
mudnnStatus_t mudnnGetScatterDescriptor(const mudnnScatterDescriptor_t scatterDesc, mudnnScatterMode_t *mode)

声明位置mudnn_ops.h

扩展接口:是。

查询 scatter 描述符。

参数

参数类型说明
scatterDescconst mudnnScatterDescriptor_t描述符。
modemudnnScatterMode_t *返回 scatter 模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScatterInplace
mudnnStatus_t mudnnScatterInplace(mudnnHandle_t handle, const mudnnScatterDescriptor_t scatterDesc, const mudnnTensorDescriptor_t selfDesc, void *self, const mudnnTensorDescriptor_t idxDesc, const void *idx, const mudnnTensorDescriptor_t updateDesc, const void *update, int dim)

声明位置mudnn_ops.h

扩展接口:是。

原地 scatter 更新。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
scatterDescconst mudnnScatterDescriptor_t描述符。
selfDescconst mudnnTensorDescriptor_t目标张量描述符。
selfvoid *指向目标张量数据的设备指针。
idxDescconst mudnnTensorDescriptor_t索引描述符。
idxconst void *指向索引数据的设备指针。
updateDescconst mudnnTensorDescriptor_t更新张量描述符。
updateconst void *指向更新张量数据的设备指针。
dimintscatter 维度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScatterNonInplace
mudnnStatus_t mudnnScatterNonInplace(mudnnHandle_t handle, const mudnnScatterDescriptor_t scatterDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t selfDesc, const void *self, const mudnnTensorDescriptor_t idxDesc, const void *idx, const mudnnTensorDescriptor_t updateDesc, const void *update, int dim)

声明位置mudnn_ops.h

扩展接口:是。

非原地 scatter 更新。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
scatterDescconst mudnnScatterDescriptor_t描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出张量数据的设备指针。
selfDescconst mudnnTensorDescriptor_t输入张量描述符。
selfconst void *指向输入张量数据的设备指针。
idxDescconst mudnnTensorDescriptor_t索引描述符。
idxconst void *指向索引数据的设备指针。
updateDescconst mudnnTensorDescriptor_t更新张量描述符。
updateconst void *指向更新张量数据的设备指针。
dimintscatter 维度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyScatterDescriptor
mudnnStatus_t mudnnDestroyScatterDescriptor(mudnnScatterDescriptor_t scatterDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 scatter 描述符。

参数

参数类型说明
scatterDescmudnnScatterDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateScatterNDDescriptor
mudnnStatus_t mudnnCreateScatterNDDescriptor(mudnnScatterNDDescriptor_t *scatterNDDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 scatterND 描述符。

参数

参数类型说明
scatterNDDescmudnnScatterNDDescriptor_t *返回 scatterND 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetScatterNDDescriptor
mudnnStatus_t mudnnSetScatterNDDescriptor(mudnnScatterNDDescriptor_t scatterNDDesc, mudnnScatterMode_t mode)

声明位置mudnn_ops.h

扩展接口:是。

配置 scatterND 描述符。

参数

参数类型说明
scatterNDDescmudnnScatterNDDescriptor_t描述符。
modemudnnScatterMode_tscatter 模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetScatterNDDescriptor
mudnnStatus_t mudnnGetScatterNDDescriptor(const mudnnScatterNDDescriptor_t scatterNDDesc, mudnnScatterMode_t *mode)

声明位置mudnn_ops.h

扩展接口:是。

查询 scatterND 描述符。

参数

参数类型说明
scatterNDDescconst mudnnScatterNDDescriptor_t描述符。
modemudnnScatterMode_t *返回 scatter 模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScatterND
mudnnStatus_t mudnnScatterND(mudnnHandle_t handle, const mudnnScatterNDDescriptor_t scatterNDDesc, const mudnnTensorDescriptor_t selfDesc, void *self, const mudnnTensorDescriptor_t idxDesc, const void *idx, const mudnnTensorDescriptor_t updateDesc, const void *update)

声明位置mudnn_ops.h

扩展接口:是。

执行 scatterND。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
scatterNDDescconst mudnnScatterNDDescriptor_t描述符。
selfDescconst mudnnTensorDescriptor_t目标张量描述符。
selfvoid *指向目标张量数据的设备指针。
idxDescconst mudnnTensorDescriptor_t索引张量描述符。
idxconst void *指向索引数据的设备指针。
updateDescconst mudnnTensorDescriptor_t更新张量描述符。
updateconst void *指向更新张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyScatterNDDescriptor
mudnnStatus_t mudnnDestroyScatterNDDescriptor(mudnnScatterNDDescriptor_t scatterNDDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 scatterND 描述符。

参数

参数类型说明
scatterNDDescmudnnScatterNDDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateSoftmaxDescriptor
mudnnStatus_t mudnnCreateSoftmaxDescriptor(mudnnSoftmaxDescriptor_t *softmaxDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 Softmax 描述符(扩展)。

参数

参数类型说明
softmaxDescmudnnSoftmaxDescriptor_t *返回创建好的 Softmax 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetSoftmaxDescriptor
mudnnStatus_t mudnnSetSoftmaxDescriptor(mudnnSoftmaxDescriptor_t softmaxDesc, int dim, mudnnSoftmaxAlgorithm_t algo, mudnnSoftmaxMode_t mode)

声明位置mudnn_ops.h

扩展接口:是。

配置 Softmax 描述符。

参数

参数类型说明
softmaxDescmudnnSoftmaxDescriptor_tSoftmax 描述符。
dimint归约维度(对该轴做 softmax)。
algomudnnSoftmaxAlgorithm_t计算算法(FAST/ACCURATE/LOG)。
modemudnnSoftmaxMode_t归约模式(CHANNEL/INSTANCE 等)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetSoftmaxDescriptor
mudnnStatus_t mudnnGetSoftmaxDescriptor(const mudnnSoftmaxDescriptor_t softmaxDesc, int *dim, mudnnSoftmaxAlgorithm_t *algo, mudnnSoftmaxMode_t *mode)

声明位置mudnn_ops.h

扩展接口:是。

查询 Softmax 描述符。

参数

参数类型说明
softmaxDescconst mudnnSoftmaxDescriptor_tSoftmax 描述符。
dimint *返回归约维度。
algomudnnSoftmaxAlgorithm_t *返回算法类型。
modemudnnSoftmaxMode_t *返回归约模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetSoftmaxForwardWorkspaceSize
mudnnStatus_t mudnnGetSoftmaxForwardWorkspaceSize(mudnnHandle_t handle, const mudnnSoftmaxDescriptor_t softmaxDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t outputDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 Softmax 前向所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
softmaxDescconst mudnnSoftmaxDescriptor_tSoftmax 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSoftmaxForwardEx
mudnnStatus_t mudnnSoftmaxForwardEx(mudnnHandle_t handle, const mudnnSoftmaxDescriptor_t softmaxDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t outputDesc, void *output)

声明位置mudnn_ops.h

扩展接口:是。

Softmax 前向(扩展)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
softmaxDescconst mudnnSoftmaxDescriptor_tSoftmax 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入张量数据的设备指针。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetSoftmaxBackwardWorkspaceSize
mudnnStatus_t mudnnGetSoftmaxBackwardWorkspaceSize(mudnnHandle_t handle, const mudnnSoftmaxDescriptor_t softmaxDesc, const mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t gradOutDesc, const mudnnTensorDescriptor_t gradInDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 Softmax 反向所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
softmaxDescconst mudnnSoftmaxDescriptor_tSoftmax 描述符。
outputDescconst mudnnTensorDescriptor_t正向输出张量描述符。
gradOutDescconst mudnnTensorDescriptor_t输出梯度描述符。
gradInDescconst mudnnTensorDescriptor_t输入梯度描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSoftmaxBackwardEx
mudnnStatus_t mudnnSoftmaxBackwardEx(mudnnHandle_t handle, const mudnnSoftmaxDescriptor_t softmaxDesc, const mudnnTensorDescriptor_t outputDesc, const void *output, const mudnnTensorDescriptor_t gradOutDesc, void *gradOut, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t gradInDesc, void *gradIn)

声明位置mudnn_ops.h

扩展接口:是。

Softmax 反向(扩展)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
softmaxDescconst mudnnSoftmaxDescriptor_tSoftmax 描述符。
outputDescconst mudnnTensorDescriptor_t正向输出描述符。
outputconst void *指向正向输出数据的设备指针。
gradOutDescconst mudnnTensorDescriptor_t输出梯度描述符。
gradOutvoid *指向输出梯度数据的设备指针。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
gradInDescconst mudnnTensorDescriptor_t输入梯度描述符。
gradInvoid *指向输入梯度数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroySoftmaxDescriptor
mudnnStatus_t mudnnDestroySoftmaxDescriptor(mudnnSoftmaxDescriptor_t softmaxDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 Softmax 描述符(扩展)。

参数

参数类型说明
softmaxDescmudnnSoftmaxDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateTopKDescriptor
mudnnStatus_t mudnnCreateTopKDescriptor(mudnnTopKDescriptor_t *topKDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 TopK 描述符。

参数

参数类型说明
topKDescmudnnTopKDescriptor_t *返回创建好的 TopK 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetTopKDescriptor
mudnnStatus_t mudnnSetTopKDescriptor(mudnnTopKDescriptor_t topKDesc, int k, int dim, bool largest, bool sorted)

声明位置mudnn_ops.h

扩展接口:是。

配置 TopK 描述符。

参数

参数类型说明
topKDescmudnnTopKDescriptor_tTopK 描述符。
kint需要选取的前 K 个元素。
dimint进行 TopK 的维度。
largestbool是否选取最大值(true)或最小值(false)。
sortedbool是否对结果排序。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetTopKDescriptor
mudnnStatus_t mudnnGetTopKDescriptor(const mudnnTopKDescriptor_t topKDesc, int *k, int *dim, bool *largest, bool *sorted)

声明位置mudnn_ops.h

扩展接口:是。

查询 TopK 描述符。

参数

参数类型说明
topKDescconst mudnnTopKDescriptor_tTopK 描述符。
kint *返回 K 值。
dimint *返回维度。
largestbool *返回是否取最大值。
sortedbool *返回是否排序。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetTopKWorkspaceSize
mudnnStatus_t mudnnGetTopKWorkspaceSize(mudnnHandle_t handle, const mudnnTopKDescriptor_t topKDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t indicesDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 TopK 所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
topKDescconst mudnnTopKDescriptor_tTopK 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
indicesDescconst mudnnTensorDescriptor_t索引输出描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnTopK
mudnnStatus_t mudnnTopK(mudnnHandle_t handle, const mudnnTopKDescriptor_t topKDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t indicesDesc, void *indices)

声明位置mudnn_ops.h

扩展接口:是。

TopK 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
topKDescconst mudnnTopKDescriptor_tTopK 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向 TopK 值输出的设备指针。
indicesDescconst mudnnTensorDescriptor_t索引输出描述符。
indicesvoid *指向 TopK 索引输出的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyTopKDescriptor
mudnnStatus_t mudnnDestroyTopKDescriptor(mudnnTopKDescriptor_t topKDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 TopK 描述符。

参数

参数类型说明
topKDescmudnnTopKDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateRopeDescriptor
mudnnStatus_t mudnnCreateRopeDescriptor(mudnnRopeDescriptor_t *ropeDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 Rope 描述符。

参数

参数类型说明
ropeDescmudnnRopeDescriptor_t *返回创建的 Rope 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetRopeDescriptor
mudnnStatus_t mudnnSetRopeDescriptor(mudnnRopeDescriptor_t ropeDesc, bool rotaryInterleaved, bool batchFirst, bool multiLatentAttention)

声明位置mudnn_ops.h

扩展接口:是。

配置 Rope 描述符(插值方式/布局)。

参数

参数类型说明
ropeDescmudnnRopeDescriptor_tRope 描述符。
rotaryInterleavedbool是否使用交织式 rotary。
batchFirstbool输入是否为 batch-first 布局。
multiLatentAttentionbool是否使用多潜变量注意力。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetRopeDescriptor
mudnnStatus_t mudnnGetRopeDescriptor(const mudnnRopeDescriptor_t ropeDesc, bool *rotaryInterleaved, bool *batchFirst, bool *multiLatentAttention)

声明位置mudnn_ops.h

扩展接口:是。

查询 Rope 描述符。

参数

参数类型说明
ropeDescconst mudnnRopeDescriptor_tRope 描述符。
rotaryInterleavedbool *返回是否交织式 rotary。
batchFirstbool *返回是否 batch-first。
multiLatentAttentionbool *返回是否多潜变量注意力。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRopeForward
mudnnStatus_t mudnnRopeForward(mudnnHandle_t handle, const mudnnRopeDescriptor_t ropeDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t freqsCisDesc, const void *freqsCis)

声明位置mudnn_ops.h

扩展接口:是。

Rope 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
ropeDescconst mudnnRopeDescriptor_tRope 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
freqsCisDescconst mudnnTensorDescriptor_t频率张量描述符。
freqsCisconst void *指向频率张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRopeBackward
mudnnStatus_t mudnnRopeBackward(mudnnHandle_t handle, const mudnnRopeDescriptor_t ropeDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t gradOutDesc, void *gradOut, const mudnnTensorDescriptor_t freqsCisDesc, const void *freqsCis)

声明位置mudnn_ops.h

扩展接口:是。

Rope 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
ropeDescconst mudnnRopeDescriptor_tRope 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出数据(梯度累加)的设备指针。
gradOutDescconst mudnnTensorDescriptor_t输出梯度描述符。
gradOutvoid *指向输出梯度的设备指针。
freqsCisDescconst mudnnTensorDescriptor_t频率张量描述符。
freqsCisconst void *指向频率张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyRopeDescriptor
mudnnStatus_t mudnnDestroyRopeDescriptor(mudnnRopeDescriptor_t ropeDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 Rope 描述符。

参数

参数类型说明
ropeDescmudnnRopeDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateRMSNormDescriptor
mudnnStatus_t mudnnCreateRMSNormDescriptor(mudnnRMSNormDescriptor_t *rmsNormDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 RMSNorm 描述符。

参数

参数类型说明
rmsNormDescmudnnRMSNormDescriptor_t *返回 RMSNorm 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetRMSNormDescriptor
mudnnStatus_t mudnnSetRMSNormDescriptor(mudnnRMSNormDescriptor_t rmsNormDesc, mudnnRMSNormMode_t mode, double epsilon, int *axis, int numAxis)

声明位置mudnn_ops.h

扩展接口:是。

配置 RMSNorm 描述符。

参数

参数类型说明
rmsNormDescmudnnRMSNormDescriptor_t描述符。
modemudnnRMSNormMode_tRMSNorm 模式。
epsilondouble数值稳定项。
axisint *归一化轴数组。
numAxisint轴数量。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetRMSNormDescriptor
mudnnStatus_t mudnnGetRMSNormDescriptor(const mudnnRMSNormDescriptor_t rmsNormDesc, mudnnRMSNormMode_t *mode, double *epsilon, int **axis, int *numAxis)

声明位置mudnn_ops.h

扩展接口:是。

查询 RMSNorm 描述符。

参数

参数类型说明
rmsNormDescconst mudnnRMSNormDescriptor_t描述符。
modemudnnRMSNormMode_t *返回 RMSNorm 模式。
epsilondouble *返回 epsilon。
axisint **返回轴数组指针。
numAxisint *返回轴数量。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRMSNormForward
mudnnStatus_t mudnnRMSNormForward(mudnnHandle_t handle, const mudnnRMSNormDescriptor_t rmsNormDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t invVarDesc, const void *invVar, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t gammaDesc, const void *gamma)

声明位置mudnn_ops.h

扩展接口:是。

RMSNorm 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rmsNormDescconst mudnnRMSNormDescriptor_t描述符。
outputDescconst mudnnTensorDescriptor_t输出描述符。
outputvoid *指向输出数据的设备指针。
invVarDescconst mudnnTensorDescriptor_t逆方差描述符。
invVarconst void *指向逆方差数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputconst void *指向输入数据的设备指针。
gammaDescconst mudnnTensorDescriptor_tgamma 描述符。
gammaconst void *指向 gamma 数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRMSNormBackward
mudnnStatus_t mudnnRMSNormBackward(mudnnHandle_t handle, const mudnnRMSNormDescriptor_t rmsNormDesc, const mudnnTensorDescriptor_t dxDesc, void *dx, const mudnnTensorDescriptor_t dgammaDesc, void *dgamma, const mudnnTensorDescriptor_t dyDesc, const void *dy, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t invVarDesc, const void *invVar, const mudnnTensorDescriptor_t gammaDesc, const void *gamma, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

RMSNorm 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rmsNormDescconst mudnnRMSNormDescriptor_t描述符。
dxDescconst mudnnTensorDescriptor_tdx 描述符。
dxvoid *指向 dx 输出的设备指针。
dgammaDescconst mudnnTensorDescriptor_tdgamma 描述符。
dgammavoid *指向 dgamma 输出的设备指针。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
dyconst void *指向输出梯度的设备指针。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputconst void *指向输入数据的设备指针。
invVarDescconst mudnnTensorDescriptor_t逆方差描述符。
invVarconst void *指向逆方差数据的设备指针。
gammaDescconst mudnnTensorDescriptor_tgamma 描述符。
gammaconst void *指向 gamma 数据的设备指针。
workSpacevoid *指向工作区的设备指针,可为 NULL。
workSpaceSizeInBytessize_t工作区大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetRMSNormBackwardWorkspaceSize
mudnnStatus_t mudnnGetRMSNormBackwardWorkspaceSize(mudnnHandle_t handle, const mudnnRMSNormDescriptor_t rmsNormDesc, const mudnnTensorDescriptor_t dxDesc, const void *dx, const mudnnTensorDescriptor_t dgammaDesc, const void *dgamma, const mudnnTensorDescriptor_t dyDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t invVarDesc, const mudnnTensorDescriptor_t gammaDesc, size_t *workspaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 RMSNorm 反向 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rmsNormDescconst mudnnRMSNormDescriptor_t描述符。
dxDescconst mudnnTensorDescriptor_tdx 描述符。
dxconst void *指向 dx 数据的设备指针(可选)。
dgammaDescconst mudnnTensorDescriptor_tdgamma 描述符。
dgammaconst void *指向 dgamma 数据的设备指针(可选)。
dyDescconst mudnnTensorDescriptor_t输出梯度描述符。
inputDescconst mudnnTensorDescriptor_t输入描述符。
invVarDescconst mudnnTensorDescriptor_t逆方差描述符。
gammaDescconst mudnnTensorDescriptor_tgamma 描述符。
workspaceSizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyRMSNormDescriptor
mudnnStatus_t mudnnDestroyRMSNormDescriptor(mudnnRMSNormDescriptor_t rmsNormDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 RMSNorm 描述符。

参数

参数类型说明
rmsNormDescmudnnRMSNormDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateSwiGluDescriptor
mudnnStatus_t mudnnCreateSwiGluDescriptor(mudnnSwiGluDescriptor_t *swiGluDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 SwiGLU 描述符。

参数

参数类型说明
swiGluDescmudnnSwiGluDescriptor_t *返回创建的 SwiGLU 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSwiGluForward
mudnnStatus_t mudnnSwiGluForward(mudnnHandle_t handle, const mudnnSwiGluDescriptor_t swiGluDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input)

声明位置mudnn_ops.h

扩展接口:是。

SwiGLU 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
swiGluDescconst mudnnSwiGluDescriptor_tSwiGLU 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSwiGluBackward
mudnnStatus_t mudnnSwiGluBackward(mudnnHandle_t handle, const mudnnSwiGluDescriptor_t swiGluDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t gradDesc, const void *grad)

声明位置mudnn_ops.h

扩展接口:是。

SwiGLU 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
swiGluDescconst mudnnSwiGluDescriptor_tSwiGLU 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出数据(可累加)的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
gradDescconst mudnnTensorDescriptor_t梯度张量描述符。
gradconst void *指向输入梯度数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroySwiGluDescriptor
mudnnStatus_t mudnnDestroySwiGluDescriptor(mudnnSwiGluDescriptor_t swiGluDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 SwiGLU 描述符。

参数

参数类型说明
swiGluDescmudnnSwiGluDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateNLLLossDescriptor
mudnnStatus_t mudnnCreateNLLLossDescriptor(mudnnNLLLossDescriptor_t *nllLossDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 NLLLoss 描述符。

参数

参数类型说明
nllLossDescmudnnNLLLossDescriptor_t *返回创建的 NLLLoss 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyNLLLossDescriptor
mudnnStatus_t mudnnDestroyNLLLossDescriptor(mudnnNLLLossDescriptor_t nllLossDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 NLLLoss 描述符。

参数

参数类型说明
nllLossDescmudnnNLLLossDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetNLLLossDescriptor
mudnnStatus_t mudnnSetNLLLossDescriptor(mudnnNLLLossDescriptor_t nllLossDesc, mudnnLossReduceMode_t mode, int IgnoreIndex)

声明位置mudnn_ops.h

扩展接口:是。

配置 NLLLoss 描述符。

参数

参数类型说明
nllLossDescmudnnNLLLossDescriptor_tNLLLoss 描述符。
modemudnnLossReduceMode_t损失归约模式。
IgnoreIndexint被忽略的标签索引。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetNLLLossDescriptor
mudnnStatus_t mudnnGetNLLLossDescriptor(const mudnnNLLLossDescriptor_t nllLossDesc, mudnnLossReduceMode_t *mode, int *IgnoreIndex)

声明位置mudnn_ops.h

扩展接口:是。

查询 NLLLoss 描述符。

参数

参数类型说明
nllLossDescconst mudnnNLLLossDescriptor_tNLLLoss 描述符。
modemudnnLossReduceMode_t *返回归约模式。
IgnoreIndexint *返回被忽略的标签索引。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetNLLLossForwardWorkspaceSize
mudnnStatus_t mudnnGetNLLLossForwardWorkspaceSize(mudnnHandle_t handle, const mudnnNLLLossDescriptor_t nllLossDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t targetDesc, const mudnnTensorDescriptor_t weightDesc, const mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t totalWeightDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 NLLLoss 前向所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
nllLossDescconst mudnnNLLLossDescriptor_tNLLLoss 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
targetDescconst mudnnTensorDescriptor_t标签张量描述符。
weightDescconst mudnnTensorDescriptor_t权重张量描述符。
outputDescconst mudnnTensorDescriptor_t损失输出描述符。
totalWeightDescconst mudnnTensorDescriptor_t总权重输出描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnNLLLossForward
mudnnStatus_t mudnnNLLLossForward(mudnnHandle_t handle, const mudnnNLLLossDescriptor_t nllLossDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t targetDesc, const void *target, const mudnnTensorDescriptor_t weightDesc, const void *weight, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t totalWeightDesc, void *totalWeight, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

NLLLoss 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
nllLossDescconst mudnnNLLLossDescriptor_tNLLLoss 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
targetDescconst mudnnTensorDescriptor_t标签张量描述符。
targetconst void *指向标签数据的设备指针。
weightDescconst mudnnTensorDescriptor_t权重张量描述符。
weightconst void *指向权重数据的设备指针,可为 NULL。
outputDescconst mudnnTensorDescriptor_t损失输出描述符。
outputvoid *指向损失输出的设备指针。
totalWeightDescconst mudnnTensorDescriptor_t总权重输出描述符。
totalWeightvoid *指向总权重输出的设备指针。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetNLLLossBackwardWorkspaceSize
mudnnStatus_t mudnnGetNLLLossBackwardWorkspaceSize(mudnnHandle_t handle, const mudnnNLLLossDescriptor_t nllLossDesc, const mudnnTensorDescriptor_t gradDesc, const mudnnTensorDescriptor_t targetDesc, const mudnnTensorDescriptor_t weightDesc, const mudnnTensorDescriptor_t totalWeightDesc, const mudnnTensorDescriptor_t outDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 NLLLoss 反向所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
nllLossDescconst mudnnNLLLossDescriptor_tNLLLoss 描述符。
gradDescconst mudnnTensorDescriptor_t损失梯度描述符。
targetDescconst mudnnTensorDescriptor_t标签描述符。
weightDescconst mudnnTensorDescriptor_t权重描述符。
totalWeightDescconst mudnnTensorDescriptor_t总权重描述符。
outDescconst mudnnTensorDescriptor_t输出梯度描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnNLLLossBackward
mudnnStatus_t mudnnNLLLossBackward(mudnnHandle_t handle, const mudnnNLLLossDescriptor_t nllLossDesc, const mudnnTensorDescriptor_t gradDesc, const void *grad, const mudnnTensorDescriptor_t targetDesc, const void *target, const mudnnTensorDescriptor_t weightDesc, const void *weight, const mudnnTensorDescriptor_t totalWeightDesc, const void *totalWeight, const mudnnTensorDescriptor_t outDesc, void *out, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

NLLLoss 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
nllLossDescconst mudnnNLLLossDescriptor_tNLLLoss 描述符。
gradDescconst mudnnTensorDescriptor_t损失梯度描述符。
gradconst void *指向损失梯度输入的设备指针。
targetDescconst mudnnTensorDescriptor_t标签描述符。
targetconst void *指向标签数据的设备指针。
weightDescconst mudnnTensorDescriptor_t权重描述符。
weightconst void *指向权重数据的设备指针,可为 NULL。
totalWeightDescconst mudnnTensorDescriptor_t总权重描述符。
totalWeightconst void *指向总权重数据的设备指针。
outDescconst mudnnTensorDescriptor_t输出梯度描述符。
outvoid *指向输出梯度的设备指针。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateKLDivLossDescriptor
mudnnStatus_t mudnnCreateKLDivLossDescriptor(mudnnKLDivLossDescriptor_t *klDivLossDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 KLDivLoss 描述符。

参数

参数类型说明
klDivLossDescmudnnKLDivLossDescriptor_t *返回创建的 KLDivLoss 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyKLDivLossDescriptor
mudnnStatus_t mudnnDestroyKLDivLossDescriptor(mudnnKLDivLossDescriptor_t klDivLossDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 KLDivLoss 描述符。

参数

参数类型说明
klDivLossDescmudnnKLDivLossDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetKLDivLossDescriptor
mudnnStatus_t mudnnSetKLDivLossDescriptor(mudnnKLDivLossDescriptor_t klDivLossDesc, mudnnLossReduceMode_t mode, bool log_target)

声明位置mudnn_ops.h

扩展接口:是。

配置 KLDivLoss 描述符。

参数

参数类型说明
klDivLossDescmudnnKLDivLossDescriptor_tKLDivLoss 描述符。
modemudnnLossReduceMode_t损失归约模式。
log_targetbool目标是否为对数形式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetKLDivLossDescriptor
mudnnStatus_t mudnnGetKLDivLossDescriptor(const mudnnKLDivLossDescriptor_t klDivLossDesc, mudnnLossReduceMode_t *mode, bool *log_target)

声明位置mudnn_ops.h

扩展接口:是。

查询 KLDivLoss 描述符。

参数

参数类型说明
klDivLossDescconst mudnnKLDivLossDescriptor_tKLDivLoss 描述符。
modemudnnLossReduceMode_t *返回归约模式。
log_targetbool *返回目标是否为对数形式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetKLDivLossForwardWorkspaceSize
mudnnStatus_t mudnnGetKLDivLossForwardWorkspaceSize(mudnnHandle_t handle, const mudnnKLDivLossDescriptor_t klDivLossDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t targetDesc, mudnnTensorDescriptor_t outDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 KLDivLoss 前向所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
klDivLossDescconst mudnnKLDivLossDescriptor_tKLDivLoss 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
targetDescconst mudnnTensorDescriptor_t目标张量描述符。
outDescmudnnTensorDescriptor_t损失输出描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnKLDivLossForward
mudnnStatus_t mudnnKLDivLossForward(mudnnHandle_t handle, const mudnnKLDivLossDescriptor_t klDivLossDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t targetDesc, const void *target, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t outDesc, void *out)

声明位置mudnn_ops.h

扩展接口:是。

KLDivLoss 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
klDivLossDescconst mudnnKLDivLossDescriptor_tKLDivLoss 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
targetDescconst mudnnTensorDescriptor_t目标张量描述符。
targetconst void *指向目标数据的设备指针。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
outDescconst mudnnTensorDescriptor_t损失输出描述符。
outvoid *指向损失输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetKLDivLossBackwardWorkspaceSize
mudnnStatus_t mudnnGetKLDivLossBackwardWorkspaceSize(mudnnHandle_t handle, const mudnnKLDivLossDescriptor_t klDivLossDesc, const mudnnTensorDescriptor_t gradDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t targetDesc, mudnnTensorDescriptor_t outDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 KLDivLoss 反向所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
klDivLossDescconst mudnnKLDivLossDescriptor_tKLDivLoss 描述符。
gradDescconst mudnnTensorDescriptor_t损失梯度描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
targetDescconst mudnnTensorDescriptor_t目标张量描述符。
outDescmudnnTensorDescriptor_t输出梯度描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnKLDivLossBackward
mudnnStatus_t mudnnKLDivLossBackward(mudnnHandle_t handle, const mudnnKLDivLossDescriptor_t klDivLossDesc, const mudnnTensorDescriptor_t gradDesc, const void *grad, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t targetDesc, const void *target, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t outDesc, void *out)

声明位置mudnn_ops.h

扩展接口:是。

KLDivLoss 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
klDivLossDescconst mudnnKLDivLossDescriptor_tKLDivLoss 描述符。
gradDescconst mudnnTensorDescriptor_t损失梯度描述符。
gradconst void *指向损失梯度输入的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
targetDescconst mudnnTensorDescriptor_t目标张量描述符。
targetconst void *指向目标数据的设备指针。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
outDescconst mudnnTensorDescriptor_t输出梯度描述符。
outvoid *指向输出梯度数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateCrossEntropyLossDescriptor
mudnnStatus_t mudnnCreateCrossEntropyLossDescriptor(mudnnCrossEntropyLossDescriptor_t *crossEntropyLossDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 CrossEntropyLoss 描述符。

参数

参数类型说明
crossEntropyLossDescmudnnCrossEntropyLossDescriptor_t *返回创建的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyCrossEntropyLossDescriptor
mudnnStatus_t mudnnDestroyCrossEntropyLossDescriptor(mudnnCrossEntropyLossDescriptor_t crossEntropyLossDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 CrossEntropyLoss 描述符。

参数

参数类型说明
crossEntropyLossDescmudnnCrossEntropyLossDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetCrossEntropyLossDescriptor
mudnnStatus_t mudnnSetCrossEntropyLossDescriptor(mudnnCrossEntropyLossDescriptor_t crossEntropyLossDesc, mudnnLossReduceMode_t mode, int64_t ignoreIndex, float label_smoothing)

声明位置mudnn_ops.h

扩展接口:是。

配置 CrossEntropyLoss 描述符。

参数

参数类型说明
crossEntropyLossDescmudnnCrossEntropyLossDescriptor_t描述符。
modemudnnLossReduceMode_t损失归约模式。
ignoreIndexint64_t被忽略的标签值。
label_smoothingfloat标签平滑系数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCrossEntropyLossDescriptor
mudnnStatus_t mudnnGetCrossEntropyLossDescriptor(const mudnnCrossEntropyLossDescriptor_t crossEntropyLossDesc, mudnnLossReduceMode_t *mode, int64_t *ignoreIndex, float *label_smoothing)

声明位置mudnn_ops.h

扩展接口:是。

查询 CrossEntropyLoss 描述符。

参数

参数类型说明
crossEntropyLossDescconst mudnnCrossEntropyLossDescriptor_t描述符。
modemudnnLossReduceMode_t *返回归约模式。
ignoreIndexint64_t *返回忽略标签。
label_smoothingfloat *返回标签平滑系数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCrossEntropyLossForwardWorkspaceSize
mudnnStatus_t mudnnGetCrossEntropyLossForwardWorkspaceSize(mudnnHandle_t handle, const mudnnCrossEntropyLossDescriptor_t crossEntropyLossDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t targetDesc, const mudnnTensorDescriptor_t weightDesc, const mudnnTensorDescriptor_t outDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 CrossEntropyLoss 前向所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
crossEntropyLossDescconst mudnnCrossEntropyLossDescriptor_tCrossEntropyLoss 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
targetDescconst mudnnTensorDescriptor_t标签张量描述符。
weightDescconst mudnnTensorDescriptor_t权重张量描述符。
outDescconst mudnnTensorDescriptor_t损失输出描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCrossEntropyLossForward
mudnnStatus_t mudnnCrossEntropyLossForward(mudnnHandle_t handle, const mudnnCrossEntropyLossDescriptor_t crossEntropyLossDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t targetDesc, const void *target, const mudnnTensorDescriptor_t weightDesc, const void *weight, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t outDesc, void *out)

声明位置mudnn_ops.h

扩展接口:是。

CrossEntropyLoss 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
crossEntropyLossDescconst mudnnCrossEntropyLossDescriptor_tCrossEntropyLoss 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
targetDescconst mudnnTensorDescriptor_t标签张量描述符。
targetconst void *指向标签数据的设备指针。
weightDescconst mudnnTensorDescriptor_t权重张量描述符。
weightconst void *指向权重数据的设备指针,可为 NULL。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
outDescconst mudnnTensorDescriptor_t损失输出描述符。
outvoid *指向损失输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCrossEntropyLossBackwardWorkspaceSize
mudnnStatus_t mudnnGetCrossEntropyLossBackwardWorkspaceSize(mudnnHandle_t handle, const mudnnCrossEntropyLossDescriptor_t crossEntropyLossDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t gradOutDesc, const mudnnTensorDescriptor_t targetDesc, const mudnnTensorDescriptor_t weightDesc, const mudnnTensorDescriptor_t gradInDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 CrossEntropyLoss 反向所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
crossEntropyLossDescconst mudnnCrossEntropyLossDescriptor_tCrossEntropyLoss 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
gradOutDescconst mudnnTensorDescriptor_t损失梯度描述符。
targetDescconst mudnnTensorDescriptor_t标签描述符。
weightDescconst mudnnTensorDescriptor_t权重描述符。
gradInDescconst mudnnTensorDescriptor_t输入梯度描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCrossEntropyLossBackward
mudnnStatus_t mudnnCrossEntropyLossBackward(mudnnHandle_t handle, const mudnnCrossEntropyLossDescriptor_t crossEntropyLossDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t gradOutDesc, const void *gradOut, const mudnnTensorDescriptor_t targetDesc, const void *target, const mudnnTensorDescriptor_t weightDesc, const void *weight, void *workSpace, size_t workSpaceSizeInBytes, const mudnnTensorDescriptor_t gradInDesc, void *gradIn)

声明位置mudnn_ops.h

扩展接口:是。

CrossEntropyLoss 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
crossEntropyLossDescconst mudnnCrossEntropyLossDescriptor_tCrossEntropyLoss 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
gradOutDescconst mudnnTensorDescriptor_t损失梯度描述符。
gradOutconst void *指向损失梯度数据的设备指针。
targetDescconst mudnnTensorDescriptor_t标签描述符。
targetconst void *指向标签数据的设备指针。
weightDescconst mudnnTensorDescriptor_t权重描述符。
weightconst void *指向权重数据的设备指针,可为 NULL。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
gradInDescconst mudnnTensorDescriptor_t输入梯度描述符。
gradInvoid *指向输入梯度输出的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateMaskedSelectDescriptor
mudnnStatus_t mudnnCreateMaskedSelectDescriptor(mudnnMaskedSelectDescriptor_t *maskedSelectDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 MaskedSelect 描述符。

参数

参数类型说明
maskedSelectDescmudnnMaskedSelectDescriptor_t *返回创建的 MaskedSelect 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetMaskedSelectWorkspaceSize
mudnnStatus_t mudnnGetMaskedSelectWorkspaceSize(mudnnHandle_t handle, const mudnnMaskedSelectDescriptor_t maskedSelectDesc, const mudnnTensorDescriptor_t inputDesc, const mudnnTensorDescriptor_t maskDesc, const mudnnTensorDescriptor_t outputDesc, size_t *sizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

查询 MaskedSelect 所需 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
maskedSelectDescconst mudnnMaskedSelectDescriptor_tMaskedSelect 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
maskDescconst mudnnTensorDescriptor_t掩码张量描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
sizeInBytessize_t *返回 workspace 字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnMaskedSelect
mudnnStatus_t mudnnMaskedSelect(mudnnHandle_t handle, const mudnnMaskedSelectDescriptor_t maskedSelectDesc, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t maskDesc, const void *mask, const mudnnTensorDescriptor_t outputDesc, void *output, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_ops.h

扩展接口:是。

执行 MaskedSelect。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
maskedSelectDescconst mudnnMaskedSelectDescriptor_tMaskedSelect 描述符。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入数据的设备指针。
maskDescconst mudnnTensorDescriptor_t掩码张量描述符。
maskconst void *指向掩码数据的设备指针。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出数据的设备指针。
workSpacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyMaskedSelectDescriptor
mudnnStatus_t mudnnDestroyMaskedSelectDescriptor(mudnnMaskedSelectDescriptor_t maskedSelectDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 MaskedSelect 描述符。

参数

参数类型说明
maskedSelectDescmudnnMaskedSelectDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreatePadDescriptor
mudnnStatus_t mudnnCreatePadDescriptor(mudnnPadDescriptor_t *padDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 Pad 描述符。

参数

参数类型说明
padDescmudnnPadDescriptor_t *返回创建的 Pad 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetPadDescriptor
mudnnStatus_t mudnnSetPadDescriptor(mudnnPadDescriptor_t padDesc, mudnnPadMode_t mode, mudnnParamDataType_t valueType, void *value, int *paddingInfo, size_t infoLength)

声明位置mudnn_ops.h

扩展接口:是。

配置 Pad 描述符(模式/padding 值/边界信息)。

参数

参数类型说明
padDescmudnnPadDescriptor_tPad 描述符。
modemudnnPadMode_t填充模式(常量/反射/复制/循环)。
valueTypemudnnParamDataType_tpadding 值类型。
valuevoid *padding 值指针。
paddingInfoint *padding 信息数组,按 [before, after] 顺序给出。
infoLengthsize_tpaddingInfo 元素个数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetPadDescriptor
mudnnStatus_t mudnnGetPadDescriptor(mudnnPadDescriptor_t padDesc, mudnnPadMode_t *mode, int **paddingInfo, size_t *infoLength)

声明位置mudnn_ops.h

扩展接口:是。

查询 Pad 描述符。

参数

参数类型说明
padDescmudnnPadDescriptor_tPad 描述符。
modemudnnPadMode_t *返回填充模式。
paddingInfoint **返回 padding 信息指针。
infoLengthsize_t *返回 padding 信息长度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnPad
mudnnStatus_t mudnnPad(const mudnnHandle_t handle, const mudnnPadDescriptor_t padDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input)

声明位置mudnn_ops.h

扩展接口:是。

执行 Pad。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
padDescconst mudnnPadDescriptor_tPad 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出张量数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyPadDescriptor
mudnnStatus_t mudnnDestroyPadDescriptor(mudnnPadDescriptor_t padDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 Pad 描述符。

参数

参数类型说明
padDescmudnnPadDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateGroupNormDescriptor
mudnnStatus_t mudnnCreateGroupNormDescriptor(mudnnGroupNormDescriptor_t *groupNormDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 GroupNorm 描述符。

参数

参数类型说明
groupNormDescmudnnGroupNormDescriptor_t *返回 GroupNorm 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetGroupNormDescriptor
mudnnStatus_t mudnnSetGroupNormDescriptor(mudnnGroupNormDescriptor_t groupNormDesc, double epsilon, int axis, int group)

声明位置mudnn_ops.h

扩展接口:是。

配置 GroupNorm 描述符。

参数

参数类型说明
groupNormDescmudnnGroupNormDescriptor_t描述符。
epsilondouble数值稳定项。
axisint归一化轴。
groupint分组数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetGroupNormDescriptor
mudnnStatus_t mudnnGetGroupNormDescriptor(mudnnGroupNormDescriptor_t groupNormDesc, double *epsilon, int *axis, int *group)

声明位置mudnn_ops.h

扩展接口:是。

查询 GroupNorm 描述符。

参数

参数类型说明
groupNormDescmudnnGroupNormDescriptor_t描述符。
epsilondouble *返回 epsilon。
axisint *返回轴。
groupint *返回分组数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGroupNorm
mudnnStatus_t mudnnGroupNorm(const mudnnHandle_t handle, const mudnnGroupNormDescriptor_t groupNormDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t meanDesc, void *mean, const mudnnTensorDescriptor_t invVarDesc, void *invVar, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t gammaDesc, const void *gamma, const mudnnTensorDescriptor_t betaDesc, const void *beta)

声明位置mudnn_ops.h

扩展接口:是。

GroupNorm 前向。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
groupNormDescconst mudnnGroupNormDescriptor_t描述符。
outputDescconst mudnnTensorDescriptor_t输出描述符。
outputvoid *指向输出张量的设备指针。
meanDescconst mudnnTensorDescriptor_t均值描述符。
meanvoid *指向均值输出的设备指针。
invVarDescconst mudnnTensorDescriptor_t逆方差描述符。
invVarvoid *指向逆方差输出的设备指针。
inputDescconst mudnnTensorDescriptor_t输入描述符。
inputconst void *指向输入张量的设备指针。
gammaDescconst mudnnTensorDescriptor_tgamma 描述符。
gammaconst void *指向 gamma 数据的设备指针。
betaDescconst mudnnTensorDescriptor_tbeta 描述符。
betaconst void *指向 beta 数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyGroupNormDescriptor
mudnnStatus_t mudnnDestroyGroupNormDescriptor(mudnnGroupNormDescriptor_t groupNormDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 GroupNorm 描述符。

参数

参数类型说明
groupNormDescmudnnGroupNormDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateGluDescriptor
mudnnStatus_t mudnnCreateGluDescriptor(mudnnGluDescriptor_t *gluDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 GLU 描述符。

参数

参数类型说明
gluDescmudnnGluDescriptor_t *返回创建的 GLU 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetGluDescriptor
mudnnStatus_t mudnnSetGluDescriptor(mudnnGluDescriptor_t gluDesc, int axis)

声明位置mudnn_ops.h

扩展接口:是。

配置 GLU 描述符(axis)。

参数

参数类型说明
gluDescmudnnGluDescriptor_tGLU 描述符。
axisint分割并应用激活的轴。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetGluDescriptor
mudnnStatus_t mudnnGetGluDescriptor(mudnnGluDescriptor_t gluDesc, int *axis)

声明位置mudnn_ops.h

扩展接口:是。

查询 GLU 描述符。

参数

参数类型说明
gluDescmudnnGluDescriptor_tGLU 描述符。
axisint *返回 axis 配置。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGlu
mudnnStatus_t mudnnGlu(const mudnnHandle_t handle, const mudnnGluDescriptor_t gluDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input)

声明位置mudnn_ops.h

扩展接口:是。

GLU 前向。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
gluDescconst mudnnGluDescriptor_tGLU 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出张量数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyGluDescriptor
mudnnStatus_t mudnnDestroyGluDescriptor(mudnnGluDescriptor_t gluDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 GLU 描述符。

参数

参数类型说明
gluDescmudnnGluDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateCumDescriptor
mudnnStatus_t mudnnCreateCumDescriptor(mudnnCumDescriptor_t *cumDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 Cum 描述符。

参数

参数类型说明
cumDescmudnnCumDescriptor_t *返回 Cum 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetCumDescriptor
mudnnStatus_t mudnnSetCumDescriptor(mudnnCumDescriptor_t cumDesc, int dim, mudnnCumMode_t mode)

声明位置mudnn_ops.h

扩展接口:是。

配置 Cum 描述符(dim/mode)。

参数

参数类型说明
cumDescmudnnCumDescriptor_tCum 描述符。
dimint累积维度。
modemudnnCumMode_t累积模式(ADD/MUL)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCumDescriptor
mudnnStatus_t mudnnGetCumDescriptor(mudnnCumDescriptor_t cumDesc, int *dim, mudnnCumMode_t *mode)

声明位置mudnn_ops.h

扩展接口:是。

查询 Cum 描述符。

参数

参数类型说明
cumDescmudnnCumDescriptor_tCum 描述符。
dimint *返回累积维度。
modemudnnCumMode_t *返回累积模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCum
mudnnStatus_t mudnnCum(const mudnnHandle_t handle, const mudnnCumDescriptor_t cumDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t inputDesc, const void *input)

声明位置mudnn_ops.h

扩展接口:是。

执行 Cum 前向。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
cumDescconst mudnnCumDescriptor_tCum 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出张量数据的设备指针。
inputDescconst mudnnTensorDescriptor_t输入张量描述符。
inputconst void *指向输入张量数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyCumDescriptor
mudnnStatus_t mudnnDestroyCumDescriptor(mudnnCumDescriptor_t cumDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 Cum 描述符。

参数

参数类型说明
cumDescmudnnCumDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateMaskedScatterDescriptor
mudnnStatus_t mudnnCreateMaskedScatterDescriptor(mudnnMaskedScatterDescriptor_t *maskedScatterDesc)

声明位置mudnn_ops.h

扩展接口:是。

创建 MaskedScatter 描述符。

参数

参数类型说明
maskedScatterDescmudnnMaskedScatterDescriptor_t *返回 MaskedScatter 描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnMaskedScatter
mudnnStatus_t mudnnMaskedScatter(const mudnnHandle_t handle, const mudnnMaskedScatterDescriptor_t maskedScatterDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t maskDesc, const void *mask, const mudnnTensorDescriptor_t sourceDesc, const void *source)

声明位置mudnn_ops.h

扩展接口:是。

执行 MaskedScatter(原地更新 output)。

参数

参数类型说明
handleconst mudnnHandle_tmuDNN 句柄。
maskedScatterDescconst mudnnMaskedScatterDescriptor_tMaskedScatter 描述符。
outputDescconst mudnnTensorDescriptor_t输出张量描述符。
outputvoid *指向输出张量数据的设备指针(会被原地更新)。
maskDescconst mudnnTensorDescriptor_tmask 张量描述符。
maskconst void *指向 mask 数据的设备指针。
sourceDescconst mudnnTensorDescriptor_tsource 张量描述符。
sourceconst void *指向 source 数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyMaskedScatterDescriptor
mudnnStatus_t mudnnDestroyMaskedScatterDescriptor(mudnnMaskedScatterDescriptor_t maskedScatterDesc)

声明位置mudnn_ops.h

扩展接口:是。

销毁 MaskedScatter 描述符。

参数

参数类型说明
maskedScatterDescmudnnMaskedScatterDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnn_adv.h

mudnnCreateRNNDescriptor
mudnnStatus_t mudnnCreateRNNDescriptor(mudnnRNNDescriptor_t *rnnDesc)

声明位置mudnn_adv.h

创建 RNN 描述符。

兼容 cuDNN backend 的 RNN descriptor create,创建后需调用 mudnnDestroyRNNDescriptor 释放。

参数

参数类型说明
rnnDescmudnnRNNDescriptor_t *返回的描述符指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyRNNDescriptor
mudnnStatus_t mudnnDestroyRNNDescriptor(mudnnRNNDescriptor_t rnnDesc)

声明位置mudnn_adv.h

销毁 RNN 描述符。

参数

参数类型说明
rnnDescmudnnRNNDescriptor_t要释放的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetRNNDescriptor_v8
mudnnStatus_t mudnnSetRNNDescriptor_v8(mudnnRNNDescriptor_t rnnDesc, mudnnRNNAlgo_t algo, mudnnRNNMode_t cellMode, mudnnRNNBiasMode_t biasMode, mudnnDirectionMode_t dirMode, mudnnRNNInputMode_t inputMode, mudnnDataType_t dataType, mudnnDataType_t mathPrec, mudnnMathType_t mathType, int32_t inputSize, int32_t hiddenSize, int32_t projSize, int32_t numLayers, mudnnDropoutDescriptor_t dropoutDesc, uint32_t auxFlags)

声明位置mudnn_adv.h

配置 RNN 描述符(v8)。

参数

参数类型说明
rnnDescmudnnRNNDescriptor_tRNN 描述符。
algomudnnRNNAlgo_tRNN 算法选择。
cellModemudnnRNNMode_tRNN 单元类型(RNN/LSTM/GRU)。
biasModemudnnRNNBiasMode_t偏置模式。
dirModemudnnDirectionMode_t单向或双向。
inputModemudnnRNNInputMode_t输入是否线性映射或跳过。
dataTypemudnnDataType_t输入/输出及权重数据类型。
mathPrecmudnnDataType_t计算精度。
mathTypemudnnMathType_tTensor Core 等数学模式。
inputSizeint32_t输入特征维度。
hiddenSizeint32_t隐状态维度。
projSizeint32_t投影维度(0 表示无投影)。
numLayersint32_t堆叠层数。
dropoutDescmudnnDropoutDescriptor_tDropout 描述符。
auxFlagsuint32_t额外标志位(如 padding)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetRNNDescriptor_v8
mudnnStatus_t mudnnGetRNNDescriptor_v8(mudnnRNNDescriptor_t rnnDesc, mudnnRNNAlgo_t *algo, mudnnRNNMode_t *cellMode, mudnnRNNBiasMode_t *biasMode, mudnnDirectionMode_t *dirMode, mudnnRNNInputMode_t *inputMode, mudnnDataType_t *dataType, mudnnDataType_t *mathPrec, mudnnMathType_t *mathType, int32_t *inputSize, int32_t *hiddenSize, int32_t *projSize, int32_t *numLayers, mudnnDropoutDescriptor_t *dropoutDesc, uint32_t *auxFlags)

声明位置mudnn_adv.h

获取 RNN 描述符配置(v8)。

参数

参数类型说明
rnnDescmudnnRNNDescriptor_tRNN 描述符。
algomudnnRNNAlgo_t *返回算法。
cellModemudnnRNNMode_t *返回单元类型。
biasModemudnnRNNBiasMode_t *返回偏置模式。
dirModemudnnDirectionMode_t *返回方向模式。
inputModemudnnRNNInputMode_t *返回输入模式。
dataTypemudnnDataType_t *返回数据类型。
mathPrecmudnnDataType_t *返回计算精度。
mathTypemudnnMathType_t *返回数学模式。
inputSizeint32_t *返回输入维度。
hiddenSizeint32_t *返回隐状态维度。
projSizeint32_t *返回投影维度。
numLayersint32_t *返回层数。
dropoutDescmudnnDropoutDescriptor_t *返回 Dropout 描述符。
auxFlagsuint32_t *返回附加标志。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRNNSetClip_v8
mudnnStatus_t mudnnRNNSetClip_v8(mudnnRNNDescriptor_t rnnDesc, mudnnRNNClipMode_t clipMode, mudnnNanPropagation_t clipNanOpt, double lclip, double rclip)

声明位置mudnn_adv.h

状态:已废弃。

设置 RNN 裁剪配置(v8,包含 NaN 传播选项)。

参数

参数类型说明
rnnDescmudnnRNNDescriptor_tRNN 描述符。
clipModemudnnRNNClipMode_t裁剪模式。
clipNanOptmudnnNanPropagation_tNaN 传播选项。
lclipdouble左侧剪裁阈值。
rclipdouble右侧剪裁阈值。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRNNSetClip_v9
mudnnStatus_t mudnnRNNSetClip_v9(mudnnRNNDescriptor_t rnnDesc, mudnnRNNClipMode_t clipMode, double lclip, double rclip)

声明位置mudnn_adv.h

设置 RNN 裁剪配置(v9,移除 NaN 传播选项)

参数

参数类型说明
rnnDescmudnnRNNDescriptor_tRNN 描述符。
clipModemudnnRNNClipMode_t裁剪模式。
lclipdouble左侧剪裁阈值。
rclipdouble右侧剪裁阈值。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRNNGetClip_v8
mudnnStatus_t mudnnRNNGetClip_v8(mudnnRNNDescriptor_t rnnDesc, mudnnRNNClipMode_t *clipMode, mudnnNanPropagation_t *clipNanOpt, double *lclip, double *rclip)

声明位置mudnn_adv.h

状态:已废弃。

获取 RNN 裁剪配置(v8)。

参数

参数类型说明
rnnDescmudnnRNNDescriptor_tRNN 描述符。
clipModemudnnRNNClipMode_t *返回裁剪模式。
clipNanOptmudnnNanPropagation_t *返回 NaN 传播选项。
lclipdouble *返回左侧阈值。
rclipdouble *返回右侧阈值。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRNNGetClip_v9
mudnnStatus_t mudnnRNNGetClip_v9(mudnnRNNDescriptor_t rnnDesc, mudnnRNNClipMode_t *clipMode, double *lclip, double *rclip)

声明位置mudnn_adv.h

获取 RNN 裁剪配置(v9)

参数

参数类型说明
rnnDescmudnnRNNDescriptor_tRNN 描述符。
clipModemudnnRNNClipMode_t *返回裁剪模式。
lclipdouble *返回左侧阈值。
rclipdouble *返回右侧阈值。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBuildRNNDynamic
mudnnStatus_t mudnnBuildRNNDynamic(mudnnHandle_t handle, mudnnRNNDescriptor_t rnnDesc, int miniBatch)

声明位置mudnn_adv.h

为指定 batch 尺寸构建 RNN 动态计划

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rnnDescmudnnRNNDescriptor_tRNN 描述符。
miniBatchint批大小。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetRNNTempSpaceSizes
mudnnStatus_t mudnnGetRNNTempSpaceSizes(mudnnHandle_t handle, mudnnRNNDescriptor_t rnnDesc, mudnnForwardMode_t fwdMode, mudnnRNNDataDescriptor_t xDesc, size_t *workSpaceSize, size_t *reserveSpaceSize)

声明位置mudnn_adv.h

查询 RNN workspace 与 reserve space 大小

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rnnDescmudnnRNNDescriptor_tRNN 描述符。
fwdModemudnnForwardMode_t前向模式(推理/训练)。
xDescmudnnRNNDataDescriptor_t输入序列描述符。
workSpaceSizesize_t *返回 workspace 字节数。
reserveSpaceSizesize_t *返回保留空间字节数。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetRNNWeightSpaceSize
mudnnStatus_t mudnnGetRNNWeightSpaceSize(mudnnHandle_t handle, mudnnRNNDescriptor_t rnnDesc, size_t *weightSpaceSize)

声明位置mudnn_adv.h

查询 RNN 权重空间大小

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rnnDescmudnnRNNDescriptor_tRNN 描述符。
weightSpaceSizesize_t *返回权重空间大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetRNNWeightParams
mudnnStatus_t mudnnGetRNNWeightParams(mudnnHandle_t handle, mudnnRNNDescriptor_t rnnDesc, int32_t pseudoLayer, size_t weightSpaceSize, const void *weightSpace, int32_t linLayerID, mudnnTensorDescriptor_t mDesc, void **mAddr, mudnnTensorDescriptor_t bDesc, void **bAddr)

声明位置mudnn_adv.h

解析 RNN 权重空间中的矩阵与偏置视图

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rnnDescmudnnRNNDescriptor_tRNN 描述符。
pseudoLayerint32_t层索引(含正向/反向、投影等)。
weightSpaceSizesize_t权重空间字节数。
weightSpaceconst void *权重空间基址。
linLayerIDint32_t线性层编号,遵循 cuDNN RNN 线性层定义。
mDescmudnnTensorDescriptor_t矩阵描述符。
mAddrvoid **矩阵基址。
bDescmudnnTensorDescriptor_t偏置描述符。
bAddrvoid **偏置基址。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateRNNDataDescriptor
mudnnStatus_t mudnnCreateRNNDataDescriptor(mudnnRNNDataDescriptor_t *rnnDataDesc)

声明位置mudnn_adv.h

创建 RNN 序列描述符。

参数

参数类型说明
rnnDataDescmudnnRNNDataDescriptor_t *返回序列描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyRNNDataDescriptor
mudnnStatus_t mudnnDestroyRNNDataDescriptor(mudnnRNNDataDescriptor_t rnnDataDesc)

声明位置mudnn_adv.h

销毁 RNN 序列描述符。

参数

参数类型说明
rnnDataDescmudnnRNNDataDescriptor_t待销毁的序列描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetRNNDataDescriptor
mudnnStatus_t mudnnSetRNNDataDescriptor(mudnnRNNDataDescriptor_t rnnDataDesc, mudnnDataType_t dataType, mudnnRNNDataLayout_t layout, int maxSeqLength, int batchSize, int vectorSize, const int seqLengthArray[], void *paddingFill)

声明位置mudnn_adv.h

设置 RNN 输入/输出数据描述符

参数

参数类型说明
rnnDataDescmudnnRNNDataDescriptor_t序列描述符。
dataTypemudnnDataType_t数据类型。
layoutmudnnRNNDataLayout_t数据布局。
maxSeqLengthint序列最大长度。
batchSizeint批大小。
vectorSizeint特征维度。
seqLengthArrayconst int每个样本的真实长度
paddingFillvoid *填充区域padding 值(device 内存)

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetRNNDataDescriptor
mudnnStatus_t mudnnGetRNNDataDescriptor(mudnnRNNDataDescriptor_t rnnDataDesc, mudnnDataType_t *dataType, mudnnRNNDataLayout_t *layout, int *maxSeqLength, int *batchSize, int *vectorSize, int arrayLengthRequested, int seqLengthArray[], void *paddingFill)

声明位置mudnn_adv.h

获取 RNN 输入/输出数据描述符。

参数

参数类型说明
rnnDataDescmudnnRNNDataDescriptor_t序列描述符。
dataTypemudnnDataType_t *返回数据类型。
layoutmudnnRNNDataLayout_t *返回数据布局。
maxSeqLengthint *返回最大序列长度。
batchSizeint *返回批大小。
vectorSizeint *返回特征维度。
arrayLengthRequestedint请求返回的序列长度数组大小。
seqLengthArrayint返回序列长度数组。
paddingFillvoid *返回padding 值。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRNNForward
mudnnStatus_t mudnnRNNForward(mudnnHandle_t handle, mudnnRNNDescriptor_t rnnDesc, mudnnForwardMode_t fwdMode, const int32_t devSeqLengths[], mudnnRNNDataDescriptor_t xDesc, const void *x, mudnnRNNDataDescriptor_t yDesc, void *y, mudnnTensorDescriptor_t hDesc, const void *hx, void *hy, mudnnTensorDescriptor_t cDesc, const void *cx, void *cy, size_t weightSpaceSize, const void *weightSpace, size_t workSpaceSize, void *workSpace, size_t reserveSpaceSize, void *reserveSpace)

声明位置mudnn_adv.h

RNN 前向计算(推理或训练)

输入/输出张量布局由对应的 descriptor 决定,遵循 cuDNN RNN 前向 API。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rnnDescmudnnRNNDescriptor_tRNN 描述符。
fwdModemudnnForwardMode_t前向模式(推理/训练)。
devSeqLengthsconst int32_t设备端序列长度数组,可为 NULL 表示等长
xDescmudnnRNNDataDescriptor_t输入序列描述符。
xconst void *指向输入序列数据的设备指针。
yDescmudnnRNNDataDescriptor_t输出序列描述符。
yvoid *指向输出序列数据的设备指针。
hDescmudnnTensorDescriptor_t隐状态描述符。
hxconst void *指向初始隐状态的设备指针。
hyvoid *指向输出隐状态的设备指针。
cDescmudnnTensorDescriptor_t记忆状态描述符。
cxconst void *指向初始记忆状态的设备指针。
cyvoid *指向输出记忆状态的设备指针。
weightSpaceSizesize_t权重空间大小(字节)。
weightSpaceconst void *指向权重空间的设备指针。
workSpaceSizesize_tworkspace 大小(字节)。
workSpacevoid *运行时 workspace(设备端)
reserveSpaceSizesize_t训练保留空间大小(字节)。
reserveSpacevoid *训练模式下保存中间结果(设备端)

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateSeqDataDescriptor
mudnnStatus_t mudnnCreateSeqDataDescriptor(mudnnSeqDataDescriptor_t *seqDataDesc)

声明位置mudnn_adv.h

状态:已废弃。

创建序列数据描述符(已废弃,使用 RNNDataDescriptor 替代)

参数

参数类型说明
seqDataDescmudnnSeqDataDescriptor_t *-
mudnnDestroySeqDataDescriptor
mudnnStatus_t mudnnDestroySeqDataDescriptor(mudnnSeqDataDescriptor_t seqDataDesc)

声明位置mudnn_adv.h

状态:已废弃。

销毁序列数据描述符(已废弃)

参数

参数类型说明
seqDataDescmudnnSeqDataDescriptor_t-
mudnnSetSeqDataDescriptor
mudnnStatus_t mudnnSetSeqDataDescriptor(mudnnSeqDataDescriptor_t seqDataDesc, mudnnDataType_t dataType, int nbDims, const int dimA[], const mudnnSeqDataAxis_t axes[], size_t seqLengthArraySize, const int seqLengthArray[], void *paddingFill)

声明位置mudnn_adv.h

状态:已废弃。

设置序列数据描述符(已废弃)。

参数

参数类型说明
seqDataDescmudnnSeqDataDescriptor_t序列描述符。
dataTypemudnnDataType_t数据类型。
nbDimsint维度数量。
dimAconst int维度数组。
axesconst mudnnSeqDataAxis_t轴含义映射。
seqLengthArraySizesize_t序列长度数组大小。
seqLengthArrayconst int序列长度数组。
paddingFillvoid *padding 值指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetSeqDataDescriptor
mudnnStatus_t mudnnGetSeqDataDescriptor(const mudnnSeqDataDescriptor_t seqDataDesc, mudnnDataType_t *dataType, int *nbDims, int nbDimsRequested, int dimA[], mudnnSeqDataAxis_t axes[], size_t *seqLengthArraySize, size_t seqLengthSizeRequested, int seqLengthArray[], void *paddingFill)

声明位置mudnn_adv.h

状态:已废弃。

获取序列数据描述符(已废弃)。

参数

参数类型说明
seqDataDescconst mudnnSeqDataDescriptor_t序列描述符。
dataTypemudnnDataType_t *返回数据类型。
nbDimsint *返回维度数量。
nbDimsRequestedint请求返回的维度数量上限。
dimAint返回维度数组。
axesmudnnSeqDataAxis_t返回轴映射。
seqLengthArraySizesize_t *返回序列长度数组大小。
seqLengthSizeRequestedsize_t请求返回的序列长度数组上限。
seqLengthArrayint返回序列长度数组。
paddingFillvoid *返回padding 值指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateAttnDescriptor
mudnnStatus_t mudnnCreateAttnDescriptor(mudnnAttnDescriptor_t *attnDesc)

声明位置mudnn_adv.h

状态:已废弃。

创建多头注意力描述符(已废弃,建议使用 SDPA 接口)

参数

参数类型说明
attnDescmudnnAttnDescriptor_t *-
mudnnDestroyAttnDescriptor
mudnnStatus_t mudnnDestroyAttnDescriptor(mudnnAttnDescriptor_t attnDesc)

声明位置mudnn_adv.h

状态:已废弃。

销毁多头注意力描述符(已废弃)

参数

参数类型说明
attnDescmudnnAttnDescriptor_t-
mudnnSetAttnDescriptor
mudnnStatus_t mudnnSetAttnDescriptor(mudnnAttnDescriptor_t attnDesc, unsigned attnMode, int nHeads, double smScaler, mudnnDataType_t dataType, mudnnDataType_t computePrec, mudnnMathType_t mathType, mudnnDropoutDescriptor_t attnDropoutDesc, mudnnDropoutDescriptor_t postDropoutDesc, int qSize, int kSize, int vSize, int qProjSize, int kProjSize, int vProjSize, int oProjSize, int qoMaxSeqLength, int kvMaxSeqLength, int maxBatchSize, int maxBeamSize)

声明位置mudnn_adv.h

状态:已废弃。

配置多头注意力描述符(已废弃) 对应 cuDNN 传统 multi-head attention 前向/反向接口。

参数

参数类型说明
attnDescmudnnAttnDescriptor_t注意力描述符。
attnModeunsigned注意力模式标志位。
nHeadsint头数。
smScalerdoublesoftmax 缩放系数。
dataTypemudnnDataType_t输入/输出数据类型。
computePrecmudnnDataType_t计算精度。
mathTypemudnnMathType_t数学模式。
attnDropoutDescmudnnDropoutDescriptor_t注意力 Dropout 描述符。
postDropoutDescmudnnDropoutDescriptor_t输出 Dropout 描述符。
qSizeintQ 向量长度。
kSizeintK 向量长度。
vSizeintV 向量长度。
qProjSizeintQ 投影长度。
kProjSizeintK 投影长度。
vProjSizeintV 投影长度。
oProjSizeint输出投影长度。
qoMaxSeqLengthintQ/O 最大序列长度。
kvMaxSeqLengthintK/V 最大序列长度。
maxBatchSizeint最大 batch。
maxBeamSizeint最大 beam。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetAttnDescriptor
mudnnStatus_t mudnnGetAttnDescriptor(mudnnAttnDescriptor_t attnDesc, unsigned *attnMode, int *nHeads, double *smScaler, mudnnDataType_t *dataType, mudnnDataType_t *computePrec, mudnnMathType_t *mathType, mudnnDropoutDescriptor_t *attnDropoutDesc, mudnnDropoutDescriptor_t *postDropoutDesc, int *qSize, int *kSize, int *vSize, int *qProjSize, int *kProjSize, int *vProjSize, int *oProjSize, int *qoMaxSeqLength, int *kvMaxSeqLength, int *maxBatchSize, int *maxBeamSize)

声明位置mudnn_adv.h

状态:已废弃。

获取多头注意力描述符配置(已废弃)。

参数

参数类型说明
attnDescmudnnAttnDescriptor_t注意力描述符。
attnModeunsigned *返回模式标志。
nHeadsint *返回头数。
smScalerdouble *返回 softmax 缩放系数。
dataTypemudnnDataType_t *返回数据类型。
computePrecmudnnDataType_t *返回计算精度。
mathTypemudnnMathType_t *返回数学模式。
attnDropoutDescmudnnDropoutDescriptor_t *返回注意力 Dropout 描述符。
postDropoutDescmudnnDropoutDescriptor_t *返回输出 Dropout 描述符。
qSizeint *返回 Q 长度。
kSizeint *返回 K 长度。
vSizeint *返回 V 长度。
qProjSizeint *返回 Q 投影长度。
kProjSizeint *返回 K 投影长度。
vProjSizeint *返回 V 投影长度。
oProjSizeint *返回输出投影长度。
qoMaxSeqLengthint *返回 Q/O 最大序列长度。
kvMaxSeqLengthint *返回 K/V 最大序列长度。
maxBatchSizeint *返回最大 batch。
maxBeamSizeint *返回最大 beam。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetMultiHeadAttnBuffers
mudnnStatus_t mudnnGetMultiHeadAttnBuffers(mudnnHandle_t handle, const mudnnAttnDescriptor_t attnDesc, size_t *weightSizeInBytes, size_t *workSpaceSizeInBytes, size_t *reserveSpaceSizeInBytes)

声明位置mudnn_adv.h

状态:已废弃。

查询多头注意力需要的权重、workspace、reserve 空间大小(已废弃)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
attnDescconst mudnnAttnDescriptor_t注意力描述符。
weightSizeInBytessize_t *返回权重大小(字节)。
workSpaceSizeInBytessize_t *返回 workspace 大小(字节)。
reserveSpaceSizeInBytessize_t *返回 reserve 空间大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetMultiHeadAttnWeights
mudnnStatus_t mudnnGetMultiHeadAttnWeights(mudnnHandle_t handle, const mudnnAttnDescriptor_t attnDesc, mudnnMultiHeadAttnWeightKind_t wKind, size_t weightSizeInBytes, const void *weights, mudnnTensorDescriptor_t wDesc, void **wAddr)

声明位置mudnn_adv.h

状态:已废弃。

解析多头注意力权重/偏置视图(已废弃)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
attnDescconst mudnnAttnDescriptor_t注意力描述符。
wKindmudnnMultiHeadAttnWeightKind_t权重/偏置种类。
weightSizeInBytessize_t权重总大小(字节)。
weightsconst void *权重基址。
wDescmudnnTensorDescriptor_t返回张量描述符。
wAddrvoid **返回切片基址。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnMultiHeadAttnForward
mudnnStatus_t mudnnMultiHeadAttnForward(mudnnHandle_t handle, const mudnnAttnDescriptor_t attnDesc, int currIdx, const int loWinIdx[], const int hiWinIdx[], const int devSeqLengthsQO[], const int devSeqLengthsKV[], const mudnnSeqDataDescriptor_t qDesc, const void *queries, const void *residuals, const mudnnSeqDataDescriptor_t kDesc, const void *keys, const mudnnSeqDataDescriptor_t vDesc, const void *values, const mudnnSeqDataDescriptor_t oDesc, void *out, size_t weightSizeInBytes, const void *weights, size_t workSpaceSizeInBytes, void *workSpace, size_t reserveSpaceSizeInBytes, void *reserveSpace)

声明位置mudnn_adv.h

状态:已废弃。

多头注意力前向计算(已废弃)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
attnDescconst mudnnAttnDescriptor_t注意力描述符。
currIdxint当前步索引。
loWinIdxconst int窗口起始索引数组。
hiWinIdxconst int窗口结束索引数组。
devSeqLengthsQOconst intQ/O 序列长度(设备端)。
devSeqLengthsKVconst intK/V 序列长度(设备端)。
qDescconst mudnnSeqDataDescriptor_tQ 描述符。
queriesconst void *指向 Q 数据的设备指针。
residualsconst void *指向残差数据的设备指针。
kDescconst mudnnSeqDataDescriptor_tK 描述符。
keysconst void *指向 K 数据的设备指针。
vDescconst mudnnSeqDataDescriptor_tV 描述符。
valuesconst void *指向 V 数据的设备指针。
oDescconst mudnnSeqDataDescriptor_tO 描述符。
outvoid *指向 O 数据的设备指针。
weightSizeInBytessize_t权重大小(字节)。
weightsconst void *指向权重数据的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
workSpacevoid *指向 workspace 的设备指针。
reserveSpaceSizeInBytessize_treserve 空间大小(字节)。
reserveSpacevoid *指向 reserve 空间的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnAdvVersionCheck
mudnnStatus_t mudnnAdvVersionCheck(void)

声明位置mudnn_adv.h

交叉子库版本检查。

MUDNN_STATUS_SUCCESS 表示版本匹配,MUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH 表示不匹配。

返回值

MUDNN_STATUS_SUCCESS 表示版本匹配,MUDNN_STATUS_SUBLIBRARY_VERSION_MISMATCH 表示不匹配。

mudnnRNNBackwardData_v8
mudnnStatus_t mudnnRNNBackwardData_v8(mudnnHandle_t handle, mudnnRNNDescriptor_t rnnDesc, const int32_t devSeqLengths[], mudnnRNNDataDescriptor_t yDesc, const void *y, const void *dy, mudnnRNNDataDescriptor_t xDesc, void *dx, mudnnTensorDescriptor_t hDesc, const void *hx, const void *dhy, void *dhx, mudnnTensorDescriptor_t cDesc, const void *cx, const void *dcy, void *dcx, size_t weightSpaceSize, const void *weightSpace, size_t workSpaceSize, void *workSpace, size_t reserveSpaceSize, void *reserveSpace)

声明位置mudnn_adv.h

RNN 反向求解输入/隐状态梯度(v8)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rnnDescmudnnRNNDescriptor_tRNN 描述符。
devSeqLengthsconst int32_t序列长度(设备端),可为 NULL 表示等长。
yDescmudnnRNNDataDescriptor_t输出序列描述符。
yconst void *指向输出序列数据的设备指针。
dyconst void *指向输出梯度的设备指针。
xDescmudnnRNNDataDescriptor_t输入序列描述符。
dxvoid *指向输入梯度的设备指针。
hDescmudnnTensorDescriptor_t隐状态描述符。
hxconst void *指向初始隐状态的设备指针。
dhyconst void *指向终态隐状态梯度的设备指针。
dhxvoid *指向初始隐状态梯度的设备指针。
cDescmudnnTensorDescriptor_t记忆状态描述符。
cxconst void *指向初始记忆状态的设备指针。
dcyconst void *指向终态记忆状态梯度的设备指针。
dcxvoid *指向初始记忆状态梯度的设备指针。
weightSpaceSizesize_t权重空间大小(字节)。
weightSpaceconst void *指向权重空间数据的设备指针。
workSpaceSizesize_tworkspace 大小(字节)。
workSpacevoid *指向 workspace 的设备指针。
reserveSpaceSizesize_treserve 空间大小(字节)。
reserveSpacevoid *指向 reserve 空间的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnRNNBackwardWeights_v8
mudnnStatus_t mudnnRNNBackwardWeights_v8(mudnnHandle_t handle, mudnnRNNDescriptor_t rnnDesc, mudnnWgradMode_t addGrad, const int32_t devSeqLengths[], mudnnRNNDataDescriptor_t xDesc, const void *x, mudnnTensorDescriptor_t hDesc, const void *hx, mudnnRNNDataDescriptor_t yDesc, const void *y, size_t weightSpaceSize, void *dweightSpace, size_t workSpaceSize, void *workSpace, size_t reserveSpaceSize, void *reserveSpace)

声明位置mudnn_adv.h

计算 RNN 权重梯度(v8)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
rnnDescmudnnRNNDescriptor_tRNN 描述符。
addGradmudnnWgradMode_t选择累加或覆盖 dweightSpace。
devSeqLengthsconst int32_t序列长度(设备端)。
xDescmudnnRNNDataDescriptor_t输入序列描述符。
xconst void *指向输入序列数据的设备指针。
hDescmudnnTensorDescriptor_t隐状态描述符。
hxconst void *指向初始隐状态的设备指针。
yDescmudnnRNNDataDescriptor_t输出序列描述符。
yconst void *指向输出序列数据的设备指针。
weightSpaceSizesize_t权重空间大小(字节)。
dweightSpacevoid *指向权重梯度输出的设备指针。
workSpaceSizesize_tworkspace 大小(字节)。
workSpacevoid *指向 workspace 的设备指针。
reserveSpaceSizesize_treserve 空间大小(字节)。
reserveSpacevoid *指向 reserve 空间的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnMultiHeadAttnBackwardData
mudnnStatus_t mudnnMultiHeadAttnBackwardData(mudnnHandle_t handle, const mudnnAttnDescriptor_t attnDesc, const int loWinIdx[], const int hiWinIdx[], const int devSeqLengthsDQDO[], const int devSeqLengthsDKDV[], const mudnnSeqDataDescriptor_t doDesc, const void *dout, const mudnnSeqDataDescriptor_t dqDesc, void *dqueries, const void *queries, const mudnnSeqDataDescriptor_t dkDesc, void *dkeys, const void *keys, const mudnnSeqDataDescriptor_t dvDesc, void *dvalues, const void *values, size_t weightSizeInBytes, const void *weights, size_t workSpaceSizeInBytes, void *workSpace, size_t reserveSpaceSizeInBytes, void *reserveSpace)

声明位置mudnn_adv.h

状态:已废弃。

多头注意力反向求解输入梯度(已废弃)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
attnDescconst mudnnAttnDescriptor_t注意力描述符。
loWinIdxconst int窗口起始索引数组。
hiWinIdxconst int窗口结束索引数组。
devSeqLengthsDQDOconst intdQ/dO 序列长度(设备端)。
devSeqLengthsDKDVconst intdK/dV 序列长度(设备端)。
doDescconst mudnnSeqDataDescriptor_tdO 描述符。
doutconst void *指向 dO 数据的设备指针。
dqDescconst mudnnSeqDataDescriptor_tdQ 描述符。
dqueriesvoid *指向 dQ 数据的设备指针。
queriesconst void *指向 Q 原数据的设备指针。
dkDescconst mudnnSeqDataDescriptor_tdK 描述符。
dkeysvoid *指向 dK 数据的设备指针。
keysconst void *指向 K 原数据的设备指针。
dvDescconst mudnnSeqDataDescriptor_tdV 描述符。
dvaluesvoid *指向 dV 数据的设备指针。
valuesconst void *指向 V 原数据的设备指针。
weightSizeInBytessize_t权重大小(字节)。
weightsconst void *指向权重数据的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
workSpacevoid *指向 workspace 的设备指针。
reserveSpaceSizeInBytessize_treserve 空间大小(字节)。
reserveSpacevoid *指向 reserve 空间的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnMultiHeadAttnBackwardWeights
mudnnStatus_t mudnnMultiHeadAttnBackwardWeights(mudnnHandle_t handle, const mudnnAttnDescriptor_t attnDesc, mudnnWgradMode_t addGrad, const mudnnSeqDataDescriptor_t qDesc, const void *queries, const mudnnSeqDataDescriptor_t kDesc, const void *keys, const mudnnSeqDataDescriptor_t vDesc, const void *values, const mudnnSeqDataDescriptor_t doDesc, const void *dout, size_t weightSizeInBytes, const void *weights, void *dweights, size_t workSpaceSizeInBytes, void *workSpace, size_t reserveSpaceSizeInBytes, void *reserveSpace)

声明位置mudnn_adv.h

状态:已废弃。

多头注意力反向求解权重梯度(已废弃)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
attnDescconst mudnnAttnDescriptor_t注意力描述符。
addGradmudnnWgradMode_t累加或覆盖模式。
qDescconst mudnnSeqDataDescriptor_tQ 描述符。
queriesconst void *指向 Q 数据的设备指针。
kDescconst mudnnSeqDataDescriptor_tK 描述符。
keysconst void *指向 K 数据的设备指针。
vDescconst mudnnSeqDataDescriptor_tV 描述符。
valuesconst void *指向 V 数据的设备指针。
doDescconst mudnnSeqDataDescriptor_tdO 描述符。
doutconst void *指向 dO 数据的设备指针。
weightSizeInBytessize_t权重大小(字节)。
weightsconst void *指向权重数据的设备指针。
dweightsvoid *指向权重梯度输出的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
workSpacevoid *指向 workspace 的设备指针。
reserveSpaceSizeInBytessize_treserve 空间大小(字节)。
reserveSpacevoid *指向 reserve 空间的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateCTCLossDescriptor
mudnnStatus_t mudnnCreateCTCLossDescriptor(mudnnCTCLossDescriptor_t *ctcLossDesc)

声明位置mudnn_adv.h

创建 CTC Loss 描述符。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t *返回描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetCTCLossDescriptor
mudnnStatus_t mudnnSetCTCLossDescriptor(mudnnCTCLossDescriptor_t ctcLossDesc, mudnnDataType_t compType)

声明位置mudnn_adv.h

状态:已废弃。

设置 CTC Loss 描述符(旧接口,计算类型)。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
compTypemudnnDataType_t计算类型。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetCTCLossDescriptorEx
mudnnStatus_t mudnnSetCTCLossDescriptorEx(mudnnCTCLossDescriptor_t ctcLossDesc, mudnnDataType_t compType, mudnnLossNormalizationMode_t normMode, mudnnNanPropagation_t gradMode)

声明位置mudnn_adv.h

状态:已废弃。

设置 CTC Loss 描述符,含normalization与 NaN 处理(旧接口)。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
compTypemudnnDataType_t计算类型。
normModemudnnLossNormalizationMode_t归一化模式。
gradModemudnnNanPropagation_tNaN 传播模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetCTCLossDescriptor_v8
mudnnStatus_t mudnnSetCTCLossDescriptor_v8(mudnnCTCLossDescriptor_t ctcLossDesc, mudnnDataType_t compType, mudnnLossNormalizationMode_t normMode, mudnnNanPropagation_t gradMode, int maxLabelLength)

声明位置mudnn_adv.h

状态:已废弃。

设置 CTC Loss 描述符 v8,包含最大标签长度(旧接口)。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
compTypemudnnDataType_t计算类型。
normModemudnnLossNormalizationMode_t归一化模式。
gradModemudnnNanPropagation_tNaN 传播模式。
maxLabelLengthint最大标签长度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetCTCLossDescriptor_v9
mudnnStatus_t mudnnSetCTCLossDescriptor_v9(mudnnCTCLossDescriptor_t ctcLossDesc, mudnnDataType_t compType, mudnnLossNormalizationMode_t normMode, mudnnCTCGradMode_t ctcGradMode, int maxLabelLength)

声明位置mudnn_adv.h

设置 CTC Loss 描述符 v9(含梯度模式)。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
compTypemudnnDataType_t计算类型。
normModemudnnLossNormalizationMode_t归一化模式。
ctcGradModemudnnCTCGradMode_t梯度模式。
maxLabelLengthint最大标签长度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCTCLossDescriptor
mudnnStatus_t mudnnGetCTCLossDescriptor(mudnnCTCLossDescriptor_t ctcLossDesc, mudnnDataType_t *compType)

声明位置mudnn_adv.h

状态:已废弃。

获取 CTC Loss 描述符(旧接口,仅 compType)。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
compTypemudnnDataType_t *返回计算类型。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCTCLossDescriptorEx
mudnnStatus_t mudnnGetCTCLossDescriptorEx(mudnnCTCLossDescriptor_t ctcLossDesc, mudnnDataType_t *compType, mudnnLossNormalizationMode_t *normMode, mudnnNanPropagation_t *gradMode)

声明位置mudnn_adv.h

状态:已废弃。

获取 CTC Loss 描述符(旧接口,含normalization与 NaN)。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
compTypemudnnDataType_t *返回计算类型。
normModemudnnLossNormalizationMode_t *返回归一化模式。
gradModemudnnNanPropagation_t *返回 NaN 传播模式。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCTCLossDescriptor_v8
mudnnStatus_t mudnnGetCTCLossDescriptor_v8(mudnnCTCLossDescriptor_t ctcLossDesc, mudnnDataType_t *compType, mudnnLossNormalizationMode_t *normMode, mudnnNanPropagation_t *gradMode, int *maxLabelLength)

声明位置mudnn_adv.h

状态:已废弃。

获取 CTC Loss 描述符 v8(旧接口)。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
compTypemudnnDataType_t *返回计算类型。
normModemudnnLossNormalizationMode_t *返回归一化模式。
gradModemudnnNanPropagation_t *返回 NaN 传播模式。
maxLabelLengthint *返回最大标签长度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCTCLossDescriptor_v9
mudnnStatus_t mudnnGetCTCLossDescriptor_v9(mudnnCTCLossDescriptor_t ctcLossDesc, mudnnDataType_t *compType, mudnnLossNormalizationMode_t *normMode, mudnnCTCGradMode_t *ctcGradMode, int *maxLabelLength)

声明位置mudnn_adv.h

获取 CTC Loss 描述符 v9(推荐,含 ctcGradMode)。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
compTypemudnnDataType_t *返回计算类型。
normModemudnnLossNormalizationMode_t *返回归一化模式。
ctcGradModemudnnCTCGradMode_t *返回梯度模式。
maxLabelLengthint *返回最大标签长度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyCTCLossDescriptor
mudnnStatus_t mudnnDestroyCTCLossDescriptor(mudnnCTCLossDescriptor_t ctcLossDesc)

声明位置mudnn_adv.h

销毁 CTC Loss 描述符。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCTCLoss
mudnnStatus_t mudnnCTCLoss(mudnnHandle_t handle, const mudnnTensorDescriptor_t probsDesc, const void *probs, const int hostLabels[], const int hostLabelLengths[], const int hostInputLengths[], void *costs, const mudnnTensorDescriptor_t gradientsDesc, void *gradients, mudnnCTCLossAlgo_t algo, mudnnCTCLossDescriptor_t ctcLossDesc, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

CTC Loss 前向/反向(host label 版本,已弃用)。

labels/lengths 位于 host 端,其他张量位于 device。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
probsDescconst mudnnTensorDescriptor_t概率张量描述符。
probsconst void *指向概率张量数据的设备指针。
hostLabelsconst int主机端标签数组。
hostLabelLengthsconst int主机端每样本标签长度。
hostInputLengthsconst int主机端输入长度。
costsvoid *指向输出损失的设备指针。
gradientsDescconst mudnnTensorDescriptor_t梯度张量描述符。
gradientsvoid *指向输出梯度的设备指针。
algomudnnCTCLossAlgo_t算法选择。
ctcLossDescmudnnCTCLossDescriptor_tCTC 描述符。
workspacevoid *指向 workspace 的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCTCLoss_v8
mudnnStatus_t mudnnCTCLoss_v8(mudnnHandle_t handle, mudnnCTCLossAlgo_t algo, mudnnCTCLossDescriptor_t ctcLossDesc, const mudnnTensorDescriptor_t probsDesc, const void *probs, const int labels[], const int labelLengths[], const int inputLengths[], void *costs, const mudnnTensorDescriptor_t gradientsDesc, void *gradients, size_t workSpaceSizeInBytes, void *workspace)

声明位置mudnn_adv.h

CTC Loss 前向/反向 v8(device label,已弃用)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
algomudnnCTCLossAlgo_t算法选择。
ctcLossDescmudnnCTCLossDescriptor_tCTC 描述符。
probsDescconst mudnnTensorDescriptor_t概率张量描述符。
probsconst void *概率张量。
labelsconst int设备端标签。
labelLengthsconst int标签长度数组。
inputLengthsconst int输入长度数组。
costsvoid *输出损失。
gradientsDescconst mudnnTensorDescriptor_t梯度张量描述符。
gradientsvoid *输出梯度。
workSpaceSizeInBytessize_tworkspace 大小(字节)。
workspacevoid *workspace 指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCTCLossWorkspaceSize
mudnnStatus_t mudnnGetCTCLossWorkspaceSize(mudnnHandle_t handle, const mudnnTensorDescriptor_t probsDesc, const mudnnTensorDescriptor_t gradientsDesc, const int *labels, const int *labelLengths, const int *inputLengths, mudnnCTCLossAlgo_t algo, mudnnCTCLossDescriptor_t ctcLossDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

查询 CTC Loss workspace(host labels,已弃用)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
probsDescconst mudnnTensorDescriptor_t概率张量描述符。
gradientsDescconst mudnnTensorDescriptor_t梯度张量描述符。
labelsconst int *主机端标签。
labelLengthsconst int *标签长度。
inputLengthsconst int *输入长度。
algomudnnCTCLossAlgo_t算法选择。
ctcLossDescmudnnCTCLossDescriptor_tCTC 描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetCTCLossWorkspaceSize_v8
mudnnStatus_t mudnnGetCTCLossWorkspaceSize_v8(mudnnHandle_t handle, mudnnCTCLossAlgo_t algo, mudnnCTCLossDescriptor_t ctcLossDesc, const mudnnTensorDescriptor_t probsDesc, const mudnnTensorDescriptor_t gradientsDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

查询 CTC Loss workspace v8(device labels,已弃用)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
algomudnnCTCLossAlgo_t算法选择。
ctcLossDescmudnnCTCLossDescriptor_tCTC 描述符。
probsDescconst mudnnTensorDescriptor_t概率张量描述符。
gradientsDescconst mudnnTensorDescriptor_t梯度张量描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetCTCLossDescriptor_v10
mudnnStatus_t mudnnSetCTCLossDescriptor_v10(mudnnCTCLossDescriptor_t ctcLossDesc, int64_t blank, bool zeroInfinity, int64_t maxTargetLength)

声明位置mudnn_adv.h

扩展接口:是。

配置 CTC Loss 描述符 v10(对齐 cuDNN backend v9/v10 行为)

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t-
blankint64_t-
zeroInfinitybool-
maxTargetLengthint64_t-
mudnnGetCTCLossDescriptor_v10
mudnnStatus_t mudnnGetCTCLossDescriptor_v10(mudnnCTCLossDescriptor_t ctcLossDesc, int64_t *blank, bool *zeroInfinity, int64_t *maxTargetLength)

声明位置mudnn_adv.h

扩展接口:是。

查询 CTC Loss 描述符 v10。

参数

参数类型说明
ctcLossDescmudnnCTCLossDescriptor_t描述符。
blankint64_t *返回 blank 标签。
zeroInfinitybool *返回 zeroInfinity 标志。
maxTargetLengthint64_t *返回最大标签长度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCTCLoss_v10
mudnnStatus_t mudnnCTCLoss_v10(mudnnHandle_t handle, mudnnCTCLossDescriptor_t ctcLossDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t alphaDesc, void *alpha, const mudnnTensorDescriptor_t inputDesc, const void *input, const mudnnTensorDescriptor_t targetsDesc, const void *targets, const mudnnTensorDescriptor_t inputLengthsDesc, const void *inputLengths, const mudnnTensorDescriptor_t targetLengthDesc, const void *targetLength)

声明位置mudnn_adv.h

扩展接口:是。

CTC Loss 前向 v10(基于 backend 风格张量描述符)。

所有张量均为 device 端,支持零填充等行为与 cuDNN 对齐。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
ctcLossDescmudnnCTCLossDescriptor_tCTC 描述符。
outputDescconst mudnnTensorDescriptor_t输出损失描述符。
outputvoid *输出损失。
alphaDescconst mudnnTensorDescriptor_talpha 描述符。
alphavoid *alpha 缓冲区。
inputDescconst mudnnTensorDescriptor_t输入概率描述符。
inputconst void *输入概率。
targetsDescconst mudnnTensorDescriptor_t目标标签描述符。
targetsconst void *目标标签。
inputLengthsDescconst mudnnTensorDescriptor_t输入长度描述符。
inputLengthsconst void *输入长度。
targetLengthDescconst mudnnTensorDescriptor_t标签长度描述符。
targetLengthconst void *标签长度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCTCLossGetWorkspaceSize_v10
mudnnStatus_t mudnnCTCLossGetWorkspaceSize_v10(mudnnHandle_t handle, mudnnCTCLossDescriptor_t ctcLossDesc, const mudnnTensorDescriptor_t outputDesc, const mudnnTensorDescriptor_t gradDesc, const mudnnTensorDescriptor_t logProbsDesc, const mudnnTensorDescriptor_t targetsDesc, const mudnnTensorDescriptor_t inputLengthsDesc, const mudnnTensorDescriptor_t targetLengthDesc, const mudnnTensorDescriptor_t lossDesc, const mudnnTensorDescriptor_t alphaDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

查询 CTC Loss v10 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
ctcLossDescmudnnCTCLossDescriptor_tCTC 描述符。
outputDescconst mudnnTensorDescriptor_t输出损失描述符。
gradDescconst mudnnTensorDescriptor_t梯度描述符。
logProbsDescconst mudnnTensorDescriptor_tlog-prob 描述符。
targetsDescconst mudnnTensorDescriptor_t标签描述符。
inputLengthsDescconst mudnnTensorDescriptor_t输入长度描述符。
targetLengthDescconst mudnnTensorDescriptor_t标签长度描述符。
lossDescconst mudnnTensorDescriptor_t损失张量描述符。
alphaDescconst mudnnTensorDescriptor_talpha 张量描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCTCLossBackward_v10
mudnnStatus_t mudnnCTCLossBackward_v10(mudnnHandle_t handle, mudnnCTCLossDescriptor_t ctcLossDesc, const mudnnTensorDescriptor_t outputDesc, void *output, const mudnnTensorDescriptor_t gradDesc, const void *grad, const mudnnTensorDescriptor_t logProbsDesc, const void *logProbs, const mudnnTensorDescriptor_t targetsDesc, const void *targets, const mudnnTensorDescriptor_t inputLengthsDesc, const void *inputLengths, const mudnnTensorDescriptor_t targetLengthDesc, const void *targetLength, const mudnnTensorDescriptor_t lossDesc, const void *loss, const mudnnTensorDescriptor_t alphaDesc, const void *alpha, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

CTC Loss 反向 v10。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
ctcLossDescmudnnCTCLossDescriptor_tCTC 描述符。
outputDescconst mudnnTensorDescriptor_t输出损失描述符。
outputvoid *指向输出损失的设备指针。
gradDescconst mudnnTensorDescriptor_t梯度描述符。
gradconst void *指向上游梯度的设备指针。
logProbsDescconst mudnnTensorDescriptor_tlog-prob 描述符。
logProbsconst void *指向 log-prob 数据的设备指针。
targetsDescconst mudnnTensorDescriptor_t标签描述符。
targetsconst void *指向标签数据的设备指针。
inputLengthsDescconst mudnnTensorDescriptor_t输入长度描述符。
inputLengthsconst void *指向输入长度的设备指针。
targetLengthDescconst mudnnTensorDescriptor_t标签长度描述符。
targetLengthconst void *指向标签长度的设备指针。
lossDescconst mudnnTensorDescriptor_t损失张量描述符。
lossconst void *指向损失数据的设备指针。
alphaDescconst mudnnTensorDescriptor_talpha 描述符。
alphaconst void *指向 alpha 数据的设备指针。
workspacevoid *指向设备端工作区的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateScaledDotProductAttentionDescriptor
mudnnStatus_t mudnnCreateScaledDotProductAttentionDescriptor(mudnnScaledDotProductAttentionDescriptor_t *sdpaDesc)

声明位置mudnn_adv.h

扩展接口:是。

创建 SDPA 描述符(与 cuDNN backend SDPA 对齐)

参数

参数类型说明
sdpaDescmudnnScaledDotProductAttentionDescriptor_t *-
mudnnDestroyScaledDotProductAttentionDescriptor
mudnnStatus_t mudnnDestroyScaledDotProductAttentionDescriptor(mudnnScaledDotProductAttentionDescriptor_t sdpaDesc)

声明位置mudnn_adv.h

扩展接口:是。

销毁 SDPA 描述符。

参数

参数类型说明
sdpaDescmudnnScaledDotProductAttentionDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetScaledDotProductAttentionDescriptor
mudnnStatus_t mudnnSetScaledDotProductAttentionDescriptor(mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnMathType_t mathType, int embedDim, int batchSize, int numHeads, double scale, bool usePadMask, bool keyFormatBHDS, bool isTraining, bool isCausal, bool isDeterministic)

声明位置mudnn_adv.h

扩展接口:是。

配置定长 SDPA 描述符。

参数

参数类型说明
sdpaDescmudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
mathTypemudnnMathType_t数学模式。
embedDimint嵌入维度。
batchSizeint批大小。
numHeadsint头数。
scaledouble缩放系数。
usePadMaskbool是否使用 pad mask。
keyFormatBHDSboolK 格式是否为 BHDS。
isTrainingbool是否训练模式。
isCausalbool是否因果掩码。
isDeterministicbool是否确定性。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetScaledDotProductAttentionDescriptorEx
mudnnStatus_t mudnnSetScaledDotProductAttentionDescriptorEx(mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnMathType_t mathType, int embedDim, int batchSize, int numHeads, double scale, bool usePadMask, bool keyFormatBHDS, bool isTraining, bool isCausal, bool isDeterministic, double p, uint64_t seed, uint64_t offset, int dropoutMode, uint64_t *deviceSeed, uint64_t *deviceOffset, uint64_t graphOffset)

声明位置mudnn_adv.h

扩展接口:是。

配置定长 SDPA 描述符(含 dropout 种子/偏移)。

参数

参数类型说明
sdpaDescmudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
mathTypemudnnMathType_t数学模式。
embedDimint嵌入维度。
batchSizeint批大小。
numHeadsint头数。
scaledouble缩放系数。
usePadMaskbool是否使用 pad mask。
keyFormatBHDSboolK 格式是否为 BHDS。
isTrainingbool是否训练模式。
isCausalbool是否因果掩码。
isDeterministicbool是否确定性。
pdoubledropout 概率。
seeduint64_tdropout 种子。
offsetuint64_tdropout 偏移。
dropoutModeintdropout 模式。
deviceSeeduint64_t *设备端种子输出。
deviceOffsetuint64_t *设备端偏移输出。
graphOffsetuint64_t图偏移。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetScaledDotProductAttentionVarlenDescriptor
mudnnStatus_t mudnnSetScaledDotProductAttentionVarlenDescriptor(mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnMathType_t mathType, int embedDim, int batchSize, int numHeads, double scale, bool usePadMask, bool isTraining, bool isCausal, bool isDeterministic, int maxSeqlenQ, int maxSeqlenK)

声明位置mudnn_adv.h

扩展接口:是。

配置变长 SDPA 描述符。

参数

参数类型说明
sdpaDescmudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
mathTypemudnnMathType_t数学模式。
embedDimint嵌入维度。
batchSizeint批大小。
numHeadsint头数。
scaledouble缩放系数。
usePadMaskbool是否使用 pad mask。
isTrainingbool是否训练模式。
isCausalbool是否因果掩码。
isDeterministicbool是否确定性。
maxSeqlenQintQ 最大序列长度。
maxSeqlenKintK 最大序列长度。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetScaledDotProductAttentionVarlenDescriptorEx
mudnnStatus_t mudnnSetScaledDotProductAttentionVarlenDescriptorEx(mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnMathType_t mathType, int embedDim, int batchSize, int numHeads, double scale, bool usePadMask, bool isTraining, bool isCausal, bool isDeterministic, int maxSeqlenQ, int maxSeqlenK, double p, uint64_t seed, uint64_t offset, int dropoutMode, uint64_t *deviceSeed, uint64_t *deviceOffset, uint64_t graphOffset)

声明位置mudnn_adv.h

扩展接口:是。

配置变长 SDPA 描述符(含 dropout 配置)。

参数

参数类型说明
sdpaDescmudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
mathTypemudnnMathType_t数学模式。
embedDimint嵌入维度。
batchSizeint批大小。
numHeadsint头数。
scaledouble缩放系数。
usePadMaskbool是否使用 pad mask。
isTrainingbool是否训练模式。
isCausalbool是否因果掩码。
isDeterministicbool是否确定性。
maxSeqlenQintQ 最大序列长度。
maxSeqlenKintK 最大序列长度。
pdoubledropout 概率。
seeduint64_tdropout 种子。
offsetuint64_tdropout 偏移。
dropoutModeintdropout 模式。
deviceSeeduint64_t *设备端种子输出。
deviceOffsetuint64_t *设备端偏移输出。
graphOffsetuint64_t图偏移。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionFlashForward
mudnnStatus_t mudnnScaledDotProductAttentionFlashForward(mudnnHandle_t handle, const mudnnTensorDescriptor_t logsumexpDesc, const void *logsumexp, const mudnnTensorDescriptor_t qDesc, const void *q, const mudnnTensorDescriptor_t kDesc, const void *k, const mudnnTensorDescriptor_t vDesc, const void *v, const mudnnTensorDescriptor_t maskDesc, const void *mask, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnTensorDescriptor_t dropoutMaskDesc, void *dropoutMask, mudnnTensorDescriptor_t outDesc, void *out)

声明位置mudnn_adv.h

扩展接口:是。

SDPA FlashAttention 前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
logsumexpDescconst mudnnTensorDescriptor_tlogsumexp 描述符。
logsumexpconst void *指向 logsumexp 输出的设备指针。
qDescconst mudnnTensorDescriptor_tQ 描述符。
qconst void *指向 Q 数据的设备指针。
kDescconst mudnnTensorDescriptor_tK 描述符。
kconst void *指向 K 数据的设备指针。
vDescconst mudnnTensorDescriptor_tV 描述符。
vconst void *指向 V 数据的设备指针。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskconst void *指向掩码数据的设备指针,可为 NULL。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
dropoutMaskDescmudnnTensorDescriptor_tDropout 掩码描述符。
dropoutMaskvoid *指向 Dropout 掩码输出的设备指针,可为 NULL。
outDescmudnnTensorDescriptor_t输出描述符。
outvoid *指向输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionFlashBackwardGetWorkspaceSize
mudnnStatus_t mudnnScaledDotProductAttentionFlashBackwardGetWorkspaceSize(mudnnHandle_t handle, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, const mudnnTensorDescriptor_t doutDesc, const mudnnTensorDescriptor_t qDesc, const mudnnTensorDescriptor_t kDesc, const mudnnTensorDescriptor_t vDesc, const mudnnTensorDescriptor_t maskDesc, const mudnnTensorDescriptor_t outDesc, const mudnnTensorDescriptor_t logsumexpDesc, const mudnnTensorDescriptor_t dropoutMaskDesc, const mudnnTensorDescriptor_t dqDesc, const mudnnTensorDescriptor_t dkDesc, const mudnnTensorDescriptor_t dvDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

SDPA FlashAttention 反向 workspace 查询。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
doutDescconst mudnnTensorDescriptor_tdOut 描述符。
qDescconst mudnnTensorDescriptor_tQ 描述符。
kDescconst mudnnTensorDescriptor_tK 描述符。
vDescconst mudnnTensorDescriptor_tV 描述符。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
outDescconst mudnnTensorDescriptor_t输出描述符。
logsumexpDescconst mudnnTensorDescriptor_tlogsumexp 描述符。
dropoutMaskDescconst mudnnTensorDescriptor_tDropout 掩码描述符。
dqDescconst mudnnTensorDescriptor_tdQ 描述符。
dkDescconst mudnnTensorDescriptor_tdK 描述符。
dvDescconst mudnnTensorDescriptor_tdV 描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionFlashBackward
mudnnStatus_t mudnnScaledDotProductAttentionFlashBackward(mudnnHandle_t handle, const mudnnTensorDescriptor_t doutDesc, const void *dout, const mudnnTensorDescriptor_t qDesc, const void *q, const mudnnTensorDescriptor_t kDesc, const void *k, const mudnnTensorDescriptor_t vDesc, const void *v, const mudnnTensorDescriptor_t maskDesc, const void *mask, const mudnnTensorDescriptor_t outDesc, const void *out, const mudnnTensorDescriptor_t logsumexpDesc, const void *logsumexp, const mudnnTensorDescriptor_t dropoutMaskDesc, const void *dropoutMask, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnTensorDescriptor_t dqDesc, void *dq, mudnnTensorDescriptor_t dkDesc, void *dk, mudnnTensorDescriptor_t dvDesc, void *dv, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

SDPA FlashAttention 反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
doutDescconst mudnnTensorDescriptor_tdOut 描述符。
doutconst void *指向 dOut 数据的设备指针。
qDescconst mudnnTensorDescriptor_tQ 描述符。
qconst void *指向 Q 数据的设备指针。
kDescconst mudnnTensorDescriptor_tK 描述符。
kconst void *指向 K 数据的设备指针。
vDescconst mudnnTensorDescriptor_tV 描述符。
vconst void *指向 V 数据的设备指针。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskconst void *指向掩码数据的设备指针,可为 NULL。
outDescconst mudnnTensorDescriptor_t输出描述符。
outconst void *指向输出数据的设备指针。
logsumexpDescconst mudnnTensorDescriptor_tlogsumexp 描述符。
logsumexpconst void *指向 logsumexp 数据的设备指针。
dropoutMaskDescconst mudnnTensorDescriptor_tDropout 掩码描述符。
dropoutMaskconst void *指向 Dropout 掩码数据的设备指针,可为 NULL。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
dqDescmudnnTensorDescriptor_tdQ 描述符。
dqvoid *指向 dQ 数据的设备指针。
dkDescmudnnTensorDescriptor_tdK 描述符。
dkvoid *指向 dK 数据的设备指针。
dvDescmudnnTensorDescriptor_tdV 描述符。
dvvoid *指向 dV 数据的设备指针。
workspacevoid *指向 workspace 的设备指针,可为 NULL。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionFlashVarlenForward
mudnnStatus_t mudnnScaledDotProductAttentionFlashVarlenForward(mudnnHandle_t handle, const mudnnTensorDescriptor_t logsumexpDesc, const void *logsumexp, const mudnnTensorDescriptor_t qDesc, const void *q, const mudnnTensorDescriptor_t kDesc, const void *k, const mudnnTensorDescriptor_t vDesc, const void *v, const mudnnTensorDescriptor_t maskDesc, const void *mask, const mudnnTensorDescriptor_t cuSeqlensQDesc, const void *cuSeqlensQ, const mudnnTensorDescriptor_t cuSeqlensKDesc, const void *cuSeqlensK, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnTensorDescriptor_t dropoutMaskDesc, void *dropoutMask, mudnnTensorDescriptor_t outDesc, void *out)

声明位置mudnn_adv.h

扩展接口:是。

SDPA FlashAttention 变长前向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
logsumexpDescconst mudnnTensorDescriptor_tlogsumexp 描述符。
logsumexpconst void *指向 logsumexp 输出的设备指针。
qDescconst mudnnTensorDescriptor_tQ 描述符。
qconst void *指向 Q 数据的设备指针。
kDescconst mudnnTensorDescriptor_tK 描述符。
kconst void *指向 K 数据的设备指针。
vDescconst mudnnTensorDescriptor_tV 描述符。
vconst void *指向 V 数据的设备指针。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskconst void *指向掩码数据的设备指针,可为 NULL。
cuSeqlensQDescconst mudnnTensorDescriptor_tQ 累积长度描述符。
cuSeqlensQconst void *指向 Q 累积长度的设备指针。
cuSeqlensKDescconst mudnnTensorDescriptor_tK 累积长度描述符。
cuSeqlensKconst void *指向 K 累积长度的设备指针。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
dropoutMaskDescmudnnTensorDescriptor_tDropout 掩码描述符。
dropoutMaskvoid *指向 Dropout 掩码输出的设备指针,可为 NULL。
outDescmudnnTensorDescriptor_t输出描述符。
outvoid *指向输出数据的设备指针。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionFlashVarlenBackwardGetWorkspaceSize
mudnnStatus_t mudnnScaledDotProductAttentionFlashVarlenBackwardGetWorkspaceSize(mudnnHandle_t handle, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, const mudnnTensorDescriptor_t doutDesc, const mudnnTensorDescriptor_t qDesc, const mudnnTensorDescriptor_t kDesc, const mudnnTensorDescriptor_t vDesc, const mudnnTensorDescriptor_t maskDesc, const mudnnTensorDescriptor_t outDesc, const mudnnTensorDescriptor_t logsumexpDesc, const mudnnTensorDescriptor_t dropoutMaskDesc, const mudnnTensorDescriptor_t cuSeqlensQDesc, const mudnnTensorDescriptor_t cuSeqlensKDesc, const mudnnTensorDescriptor_t dqDesc, const mudnnTensorDescriptor_t dkDesc, const mudnnTensorDescriptor_t dvDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

SDPA FlashAttention 变长反向 workspace 查询。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
doutDescconst mudnnTensorDescriptor_tdOut 描述符。
qDescconst mudnnTensorDescriptor_tQ 描述符。
kDescconst mudnnTensorDescriptor_tK 描述符。
vDescconst mudnnTensorDescriptor_tV 描述符。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
outDescconst mudnnTensorDescriptor_t输出描述符。
logsumexpDescconst mudnnTensorDescriptor_tlogsumexp 描述符。
dropoutMaskDescconst mudnnTensorDescriptor_tDropout 掩码描述符。
cuSeqlensQDescconst mudnnTensorDescriptor_tQ 累积长度描述符。
cuSeqlensKDescconst mudnnTensorDescriptor_tK 累积长度描述符。
dqDescconst mudnnTensorDescriptor_tdQ 描述符。
dkDescconst mudnnTensorDescriptor_tdK 描述符。
dvDescconst mudnnTensorDescriptor_tdV 描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionFlashVarlenBackward
mudnnStatus_t mudnnScaledDotProductAttentionFlashVarlenBackward(mudnnHandle_t handle, const mudnnTensorDescriptor_t doutDesc, const void *dout, const mudnnTensorDescriptor_t qDesc, const void *q, const mudnnTensorDescriptor_t kDesc, const void *k, const mudnnTensorDescriptor_t vDesc, const void *v, const mudnnTensorDescriptor_t maskDesc, const void *mask, const mudnnTensorDescriptor_t outDesc, const void *out, const mudnnTensorDescriptor_t logsumexpDesc, const void *logsumexp, const mudnnTensorDescriptor_t dropoutMaskDesc, const void *dropoutMask, const mudnnTensorDescriptor_t cuSeqlensQDesc, const void *cuSeqlensQ, const mudnnTensorDescriptor_t cuSeqlensKDesc, const void *cuSeqlensK, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnTensorDescriptor_t dqDesc, void *dq, mudnnTensorDescriptor_t dkDesc, void *dk, mudnnTensorDescriptor_t dvDesc, void *dv, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

SDPA FlashAttention 变长反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
doutDescconst mudnnTensorDescriptor_tdOut 描述符。
doutconst void *指向 dOut 数据的设备指针。
qDescconst mudnnTensorDescriptor_tQ 描述符。
qconst void *指向 Q 数据的设备指针。
kDescconst mudnnTensorDescriptor_tK 描述符。
kconst void *指向 K 数据的设备指针。
vDescconst mudnnTensorDescriptor_tV 描述符。
vconst void *指向 V 数据的设备指针。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskconst void *指向掩码数据的设备指针。
outDescconst mudnnTensorDescriptor_t输出描述符。
outconst void *指向输出数据的设备指针。
logsumexpDescconst mudnnTensorDescriptor_tlogsumexp 描述符。
logsumexpconst void *指向 logsumexp 数据的设备指针。
dropoutMaskDescconst mudnnTensorDescriptor_tDropout 掩码描述符。
dropoutMaskconst void *指向 Dropout 掩码数据的设备指针。
cuSeqlensQDescconst mudnnTensorDescriptor_tQ 累积长度描述符。
cuSeqlensQconst void *指向 Q 累积长度的设备指针。
cuSeqlensKDescconst mudnnTensorDescriptor_tK 累积长度描述符。
cuSeqlensKconst void *指向 K 累积长度的设备指针。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
dqDescmudnnTensorDescriptor_tdQ 描述符。
dqvoid *指向 dQ 数据的设备指针。
dkDescmudnnTensorDescriptor_tdK 描述符。
dkvoid *指向 dK 数据的设备指针。
dvDescmudnnTensorDescriptor_tdV 描述符。
dvvoid *指向 dV 数据的设备指针。
workspacevoid *指向 workspace 的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionMathForwardGetWorkspaceSize
mudnnStatus_t mudnnScaledDotProductAttentionMathForwardGetWorkspaceSize(mudnnHandle_t handle, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, const mudnnTensorDescriptor_t attnProbsDesc, const mudnnTensorDescriptor_t qDesc, const mudnnTensorDescriptor_t kDesc, const mudnnTensorDescriptor_t vDesc, const mudnnTensorDescriptor_t maskDesc, const void *mask, const mudnnTensorDescriptor_t dropoutMaskDesc, const mudnnTensorDescriptor_t outDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

SDPA Math 路径前向 workspace 查询。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
attnProbsDescconst mudnnTensorDescriptor_t注意力概率描述符。
qDescconst mudnnTensorDescriptor_tQ 描述符。
kDescconst mudnnTensorDescriptor_tK 描述符。
vDescconst mudnnTensorDescriptor_tV 描述符。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskconst void *指向掩码数据的设备指针。
dropoutMaskDescconst mudnnTensorDescriptor_tDropout 掩码描述符。
outDescconst mudnnTensorDescriptor_t输出描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionMathForward
mudnnStatus_t mudnnScaledDotProductAttentionMathForward(mudnnHandle_t handle, const mudnnTensorDescriptor_t attnProbsDesc, const void *attnProbs, const mudnnTensorDescriptor_t qDesc, const void *q, const mudnnTensorDescriptor_t kDesc, const void *k, const mudnnTensorDescriptor_t vDesc, const void *v, const mudnnTensorDescriptor_t maskDesc, const void *mask, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnTensorDescriptor_t dropoutMaskDesc, void *dropoutMask, mudnnTensorDescriptor_t outDesc, void *out, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

SDPA Math 路径前向(支持显式 attnProbs)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
attnProbsDescconst mudnnTensorDescriptor_t注意力概率描述符。
attnProbsconst void *指向注意力概率数据的设备指针。
qDescconst mudnnTensorDescriptor_tQ 描述符。
qconst void *指向 Q 数据的设备指针。
kDescconst mudnnTensorDescriptor_tK 描述符。
kconst void *指向 K 数据的设备指针。
vDescconst mudnnTensorDescriptor_tV 描述符。
vconst void *指向 V 数据的设备指针。
maskDescconst mudnnTensorDescriptor_t掩码描述符。
maskconst void *指向掩码数据的设备指针。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
dropoutMaskDescmudnnTensorDescriptor_tDropout 掩码描述符。
dropoutMaskvoid *指向 Dropout 掩码数据的设备指针。
outDescmudnnTensorDescriptor_t输出描述符。
outvoid *指向输出数据的设备指针。
workspacevoid *指向 workspace 的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionMathBackwardGetWorkspaceSize
mudnnStatus_t mudnnScaledDotProductAttentionMathBackwardGetWorkspaceSize(mudnnHandle_t handle, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, const mudnnTensorDescriptor_t doutDesc, const mudnnTensorDescriptor_t qDesc, const mudnnTensorDescriptor_t kDesc, const mudnnTensorDescriptor_t vDesc, const mudnnTensorDescriptor_t dropoutMaskDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

SDPA Math 路径反向 workspace 查询。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
doutDescconst mudnnTensorDescriptor_tdOut 描述符。
qDescconst mudnnTensorDescriptor_tQ 描述符。
kDescconst mudnnTensorDescriptor_tK 描述符。
vDescconst mudnnTensorDescriptor_tV 描述符。
dropoutMaskDescconst mudnnTensorDescriptor_tDropout 掩码描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnScaledDotProductAttentionMathBackward
mudnnStatus_t mudnnScaledDotProductAttentionMathBackward(mudnnHandle_t handle, const mudnnTensorDescriptor_t dattnProbsDesc, const void *dattnProbs, const mudnnTensorDescriptor_t doutDesc, const void *dout, const mudnnTensorDescriptor_t qDesc, const void *q, const mudnnTensorDescriptor_t kDesc, const void *k, const mudnnTensorDescriptor_t vDesc, const void *v, const mudnnTensorDescriptor_t attnProbsDesc, const void *attnProbs, const mudnnTensorDescriptor_t dropoutMaskDesc, const void *dropoutMask, const mudnnScaledDotProductAttentionDescriptor_t sdpaDesc, mudnnTensorDescriptor_t dqDesc, void *dq, mudnnTensorDescriptor_t dkDesc, void *dk, mudnnTensorDescriptor_t dvDesc, void *dv, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

SDPA Math 路径反向。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
dattnProbsDescconst mudnnTensorDescriptor_tdAttnProbs 描述符。
dattnProbsconst void *指向 dAttnProbs 数据的设备指针。
doutDescconst mudnnTensorDescriptor_tdOut 描述符。
doutconst void *指向 dOut 数据的设备指针。
qDescconst mudnnTensorDescriptor_tQ 描述符。
qconst void *指向 Q 数据的设备指针。
kDescconst mudnnTensorDescriptor_tK 描述符。
kconst void *指向 K 数据的设备指针。
vDescconst mudnnTensorDescriptor_tV 描述符。
vconst void *指向 V 数据的设备指针。
attnProbsDescconst mudnnTensorDescriptor_tAttnProbs 描述符。
attnProbsconst void *指向 AttnProbs 数据的设备指针。
dropoutMaskDescconst mudnnTensorDescriptor_tDropout 掩码描述符。
dropoutMaskconst void *指向 Dropout 掩码数据的设备指针。
sdpaDescconst mudnnScaledDotProductAttentionDescriptor_tSDPA 描述符。
dqDescmudnnTensorDescriptor_tdQ 描述符。
dqvoid *指向 dQ 数据的设备指针。
dkDescmudnnTensorDescriptor_tdK 描述符。
dkvoid *指向 dK 数据的设备指针。
dvDescmudnnTensorDescriptor_tdV 描述符。
dvvoid *指向 dV 数据的设备指针。
workspacevoid *指向 workspace 的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateBatchMatMulDescriptor
mudnnStatus_t mudnnCreateBatchMatMulDescriptor(mudnnBatchMatMulDescriptor_t *batchMatMulDesc)

声明位置mudnn_adv.h

扩展接口:是。

创建批量矩阵乘描述符。

参数

参数类型说明
batchMatMulDescmudnnBatchMatMulDescriptor_t *返回描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyBatchMatMulDescriptor
mudnnStatus_t mudnnDestroyBatchMatMulDescriptor(mudnnBatchMatMulDescriptor_t batchMatMulDesc)

声明位置mudnn_adv.h

扩展接口:是。

销毁批量矩阵乘描述符。

参数

参数类型说明
batchMatMulDescmudnnBatchMatMulDescriptor_t待销毁描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetBatchMatMulDescriptor
mudnnStatus_t mudnnSetBatchMatMulDescriptor(mudnnBatchMatMulDescriptor_t batchMatMulDesc, mudnnMathType_t mathType, bool trans_a, bool trans_b)

声明位置mudnn_adv.h

扩展接口:是。

配置批量矩阵乘(转置/数学模式)。

参数

参数类型说明
batchMatMulDescmudnnBatchMatMulDescriptor_t描述符。
mathTypemudnnMathType_t数学模式。
trans_aboolA 是否转置。
trans_bboolB 是否转置。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetBatchMatMulDescriptorEx
mudnnStatus_t mudnnSetBatchMatMulDescriptorEx(mudnnBatchMatMulDescriptor_t batchMatMulDesc, mudnnMathType_t mathType, bool trans_a, bool trans_b, bool deterministic, mudnnMatMulEpilogue_t epilogue, int mp_limit, double alpha, double beta, double gamma)

声明位置mudnn_adv.h

扩展接口:是。

配置批量矩阵乘扩展选项(确定性/epilogue 等)。

参数

参数类型说明
batchMatMulDescmudnnBatchMatMulDescriptor_t描述符。
mathTypemudnnMathType_t数学模式。
trans_aboolA 是否转置。
trans_bboolB 是否转置。
deterministicbool是否确定性。
epiloguemudnnMatMulEpilogue_tepilogue 类型。
mp_limitint混合精度限制。
alphadouble缩放系数 alpha。
betadouble缩放系数 beta。
gammadouble缩放系数 gamma。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchMatmulGetWorkspaceSize
mudnnStatus_t mudnnBatchMatmulGetWorkspaceSize(mudnnHandle_t handle, const mudnnBatchMatMulDescriptor_t batchMatMulDesc, const mudnnTensorDescriptor_t aDesc, const mudnnTensorDescriptor_t bDesc, const mudnnTensorDescriptor_t cDesc, const mudnnTensorDescriptor_t dDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

查询批量矩阵乘 workspace 大小。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
batchMatMulDescconst mudnnBatchMatMulDescriptor_t描述符。
aDescconst mudnnTensorDescriptor_tA 张量描述符。
bDescconst mudnnTensorDescriptor_tB 张量描述符。
cDescconst mudnnTensorDescriptor_tC 张量描述符。
dDescconst mudnnTensorDescriptor_tD 张量描述符。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchMatMulBias
mudnnStatus_t mudnnBatchMatMulBias(mudnnHandle_t handle, const mudnnBatchMatMulDescriptor_t batchMatMulDesc, const mudnnTensorDescriptor_t aDesc, const void *a, const mudnnTensorDescriptor_t bDesc, const void *b, const mudnnTensorDescriptor_t cDesc, const void *c, const mudnnTensorDescriptor_t dDesc, void *d, const mudnnTensorDescriptor_t biasDesc, const void *bias, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

执行批量矩阵乘 + Bias。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
batchMatMulDescconst mudnnBatchMatMulDescriptor_t描述符。
aDescconst mudnnTensorDescriptor_tA矩阵 描述符。
aconst void *指向 A矩阵 数据的设备指针。
bDescconst mudnnTensorDescriptor_tB矩阵 描述符。
bconst void *指向 B矩阵 数据的设备指针。
cDescconst mudnnTensorDescriptor_tC矩阵 描述符。
cconst void *指向 C矩阵 数据的设备指针。
dDescconst mudnnTensorDescriptor_tD矩阵 描述符。
dvoid *指向 D矩阵 数据输出的设备指针。
biasDescconst mudnnTensorDescriptor_tBias 描述符。
biasconst void *指向 Bias 数据的设备指针。
workspacevoid *指向 workspace 的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchMatMulBiasTensorScale
mudnnStatus_t mudnnBatchMatMulBiasTensorScale(mudnnHandle_t handle, const mudnnBatchMatMulDescriptor_t batchMatMulDesc, const mudnnTensorDescriptor_t aDesc, const void *a, const mudnnTensorDescriptor_t bDesc, const void *b, const mudnnTensorDescriptor_t cDesc, const void *c, const mudnnTensorDescriptor_t dDesc, void *d, const mudnnTensorDescriptor_t biasDesc, const void *bias, const mudnnTensorDescriptor_t scaleADesc, const void *scaleA, const mudnnTensorDescriptor_t scaleBDesc, const void *scaleB, const mudnnTensorDescriptor_t scaleCDesc, const void *scaleC, const mudnnTensorDescriptor_t scaleDDesc, const void *scaleD, int quantTile, bool fixedScaleLayout, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

批量矩阵乘 + Bias + 张量尺度(量化场景)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
batchMatMulDescconst mudnnBatchMatMulDescriptor_t描述符。
aDescconst mudnnTensorDescriptor_tA矩阵 描述符。
aconst void *指向 A矩阵 数据的设备指针。
bDescconst mudnnTensorDescriptor_tB矩阵 描述符。
bconst void *指向 B矩阵 数据的设备指针。
cDescconst mudnnTensorDescriptor_tC矩阵 描述符。
cconst void *指向 C矩阵 数据的设备指针。
dDescconst mudnnTensorDescriptor_tD矩阵 描述符。
dvoid *指向 D矩阵 数据的设备指针。
biasDescconst mudnnTensorDescriptor_tBias 描述符。
biasconst void *指向 Bias 数据的设备指针。
scaleADescconst mudnnTensorDescriptor_tA scale 描述符。
scaleAconst void *指向 A scale 数据的设备指针。
scaleBDescconst mudnnTensorDescriptor_tB scale 描述符。
scaleBconst void *指向 B scale 数据的设备指针。
scaleCDescconst mudnnTensorDescriptor_tC scale 描述符。
scaleCconst void *指向 C scale 数据的设备指针。
scaleDDescconst mudnnTensorDescriptor_tD scale 描述符。
scaleDconst void *指向 D scale 数据的设备指针。
quantTileint量化 tile 大小。
fixedScaleLayoutbool是否固定 scale 布局。
workspacevoid *指向 workspace 的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnBatchMatMulBiasTensorScaleEpilogue
mudnnStatus_t mudnnBatchMatMulBiasTensorScaleEpilogue(mudnnHandle_t handle, const mudnnBatchMatMulDescriptor_t batchMatMulDesc, const mudnnTensorDescriptor_t aDesc, const void *a, const mudnnTensorDescriptor_t bDesc, const void *b, const mudnnTensorDescriptor_t cDesc, const void *c, const mudnnTensorDescriptor_t dDesc, void *d, const mudnnTensorDescriptor_t biasDesc, const void *bias, const mudnnTensorDescriptor_t scaleADesc, const void *scaleA, const mudnnTensorDescriptor_t scaleBDesc, const void *scaleB, const mudnnTensorDescriptor_t scaleCDesc, const void *scaleC, const mudnnTensorDescriptor_t scaleDDesc, const void *scaleD, int quantTile, bool fixedScaleLayout, const mudnnTensorDescriptor_t amaxDDesc, void *amaxD, const mudnnTensorDescriptor_t scaleAuxDesc, void *scaleAux, const mudnnTensorDescriptor_t auxDesc, void *aux, const mudnnTensorDescriptor_t atomicSyncInDesc, void *atomicSyncIn, const mudnnTensorDescriptor_t atomicSyncOutDesc, void *atomicSyncOut, void *workspace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

批量矩阵乘 + Bias + 张量尺度 + 扩展 epilogue(AMAX/scale/aux 输出)。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
batchMatMulDescconst mudnnBatchMatMulDescriptor_t描述符。
aDescconst mudnnTensorDescriptor_tA矩阵 描述符。
aconst void *指向 A矩阵 数据的设备指针。
bDescconst mudnnTensorDescriptor_tB矩阵 描述符。
bconst void *指向 B矩阵 数据的设备指针。
cDescconst mudnnTensorDescriptor_tC矩阵 描述符。
cconst void *指向 C矩阵 数据的设备指针。
dDescconst mudnnTensorDescriptor_tD矩阵 描述符。
dvoid *指向 D矩阵 数据的设备指针。
biasDescconst mudnnTensorDescriptor_tBias 描述符。
biasconst void *指向 Bias 数据的设备指针。
scaleADescconst mudnnTensorDescriptor_tA scale 描述符。
scaleAconst void *指向 A scale 数据的设备指针。
scaleBDescconst mudnnTensorDescriptor_tB scale 描述符。
scaleBconst void *指向 B scale 数据的设备指针。
scaleCDescconst mudnnTensorDescriptor_tC scale 描述符。
scaleCconst void *指向 C scale 数据的设备指针。
scaleDDescconst mudnnTensorDescriptor_tD scale 描述符。
scaleDconst void *指向 D scale 数据的设备指针。
quantTileint量化 tile 大小。
fixedScaleLayoutbool是否固定 scale 布局。
amaxDDescconst mudnnTensorDescriptor_tAMAX 描述符。
amaxDvoid *指向 AMAX 输出的设备指针。
scaleAuxDescconst mudnnTensorDescriptor_t辅助 scale 描述符。
scaleAuxvoid *指向辅助 scale 输出的设备指针。
auxDescconst mudnnTensorDescriptor_t辅助输出描述符。
auxvoid *指向辅助输出的设备指针。
atomicSyncInDescconst mudnnTensorDescriptor_t原子同步输入描述符。
atomicSyncInvoid *指向原子同步输入的设备指针。
atomicSyncOutDescconst mudnnTensorDescriptor_t原子同步输出描述符。
atomicSyncOutvoid *指向原子同步输出的设备指针。
workspacevoid *指向 workspace 的设备指针。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnCreateDotDescriptor
mudnnStatus_t mudnnCreateDotDescriptor(mudnnDotDescriptor_t *dotDesc)

声明位置mudnn_adv.h

扩展接口:是。

创建 Dot 描述符。

参数

参数类型说明
dotDescmudnnDotDescriptor_t *返回创建的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDestroyDotDescriptor
mudnnStatus_t mudnnDestroyDotDescriptor(mudnnDotDescriptor_t dotDesc)

声明位置mudnn_adv.h

扩展接口:是。

销毁 Dot 描述符。

参数

参数类型说明
dotDescmudnnDotDescriptor_t待销毁的描述符。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnSetDotMathType
mudnnStatus_t mudnnSetDotMathType(mudnnDotDescriptor_t dotDesc, mudnnMathType_t mathType)

声明位置mudnn_adv.h

扩展接口:是。

设置 Dot 描述符的计算模式。

参数

参数类型说明
dotDescmudnnDotDescriptor_tDot 描述符。
mathTypemudnnMathType_t数学模式(MUDNN_DEFAULT_MATH, MUDNN_TENSOR_OP_MATH, MUDNN_FMA_MATH)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnGetDotWorkspaceSize
mudnnStatus_t mudnnGetDotWorkspaceSize(mudnnHandle_t handle, mudnnDotDescriptor_t dotDesc, const mudnnTensorDescriptor_t aDesc, const mudnnTensorDescriptor_t bDesc, const mudnnTensorDescriptor_t cDesc, size_t *sizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

查询 Dot 运算所需 workspace 大小。

Dot 内部通过 MatMul 实现,可能需要 workspace。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
dotDescmudnnDotDescriptor_tDot 描述符。
aDescconst mudnnTensorDescriptor_t输入张量 a 描述符(1D)。
bDescconst mudnnTensorDescriptor_t输入张量 b 描述符(1D)。
cDescconst mudnnTensorDescriptor_t输出张量 c 描述符(1D,形状为 (1,))。
sizeInBytessize_t *返回 workspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。

mudnnDot
mudnnStatus_t mudnnDot(mudnnHandle_t handle, mudnnDotDescriptor_t dotDesc, const mudnnTensorDescriptor_t aDesc, const void *a, const mudnnTensorDescriptor_t bDesc, const void *b, const mudnnTensorDescriptor_t cDesc, void *c, void *workSpace, size_t workSpaceSizeInBytes)

声明位置mudnn_adv.h

扩展接口:是。

执行 Dot 运算:c = dot(a, b)。

仅支持 1D 输入,与 torch.dot 语义对齐。

参数

参数类型说明
handlemudnnHandle_tmuDNN 句柄。
dotDescmudnnDotDescriptor_tDot 描述符。
aDescconst mudnnTensorDescriptor_t输入张量 a 描述符(1D)。
aconst void *输入张量 a 数据指针。
bDescconst mudnnTensorDescriptor_t输入张量 b 描述符(1D)。
bconst void *输入张量 b 数据指针。
cDescconst mudnnTensorDescriptor_t输出张量 c 描述符(1D,形状为 (1,))。
cvoid *输出张量 c 数据指针。
workSpacevoid *workspace 指针(可为 nullptr)。
workSpaceSizeInBytessize_tworkspace 大小(字节)。

返回值

MUDNN_STATUS_SUCCESS 表示成功,其他返回错误码。