1. 简介

mcDNN是沐曦提供的深度神经网络(Deep Neural Network,DNN)库。其基于上下文的API可轻松实现多线程以及与MXMACA® 流的互操作性(可选)。 mcDNN库以及此API文档拆分为以下库:

mcdnn_ops_infer

此实体包含与mcDNN上下文创建和销毁,张量描述符管理,张量实用程序函数以及常见机器学习算法的推理部分相关的函数,例如批量归一化(Batch Normalization,BN),softmax,丢弃(Dropout)等。

mcdnn_ops_train

此实体包含常用的训练函数算法,例如批量归一化,softmax,丢弃等。 mcdnn_ops_train库依赖于mcdnn_ops_infer。

mcdnn_cnn_infer

此实体包含在推理时需要用到的卷积神经网络相关的所有函数。 mcdnn_cnn_infer库依赖于mcdnn_ops_infer。

mcdnn_cnn_train

此实体包含在训练时需要用到的卷积神经网络相关的所有函数。 mcdnn_cnn_train库依赖于mcdnn_ops_infer,mcdnn_ops_train和mcdnn_cnn_infer。

mcdnn_adv_infer

此实体包含所有其他功能与算法。 包括循环神经网络(Rerrent Neural Network,RNN),CTC损失(CTC Loss)和多头注意力机制(Multi-Head Attention)。mcdnn_adv_infer库依赖于mcdnn_ops_infer。

mcdnn_adv_train

此实体包含对应mcdnn_adv_infer的训练相关功能与算法。 mcdnn_adv_train库依赖于mcdnn_ops_infer,mcdnn_ops_train和mcdnn_adv_infer。

mcdnnBackend

此实体包含mcDNN后端描述符有效类型列表,有效属性列表,有效属性值的子集以及每个后端描述符类型及其属性的完整描述。

mcdnn

这是一个在应用层和mcDNN代码之间的可选中介层(Shim Layer)。 此层在运行时为API打开正确的库。

1.1. 适用产品

本文档适用于沐曦MXC500系列产品:曦云® C500、C500X、C550、C550-PL、C588,曦思® N260,曦索® X206;以及MXC600系列产品:曦云® C600,曦思® N300,曦索® X301、X302。