Intel® Math Kernel Library 2019 Developer Reference - C
Intel MKL DNN functions use the following enumerated types:
Each DNN function returns a value of type dnnError_t that indicates completion status of the function.
Value |
Meaning |
---|---|
E_SUCCESS |
The operation completed successfully. |
E_INCORRECT_INPUT_PARAMETER |
The value of one of input parameters is incorrect. |
E_MEMORY_ERROR |
Allocation of some memory failed. |
E_UNSUPPORTED_DIMENSION |
The dimension of input or output array is not supported. |
E_UNIMPLEMENTED |
The operation is not implemented. |
At the execution stage, DNN operations receive a resources array, which contains pointers to the operation resources. The value of type dnnResourceType_t specifies the index of the pointer to a specific resource in this array:
Value |
Resource pointed by resources(Value) |
---|---|
dnnResourceSrc, dnnResourceFrom |
Input data. |
dnnResourceDst, dnnResourceTo |
Output data. |
dnnResourceFilter |
Filter data. |
dnnResourceDiffScaleShift |
Scale and shift data. |
dnnResourceBias |
Bias data. |
dnnResourceDiffSrc |
Gradient with respect to input data. |
dnnResourceDiffFilter |
Gradient with respect to filter data. |
dnnResourceScaleShift |
Gradient with respect to scale and shift. |
dnnResourceDiffBias |
Gradient with respect to bias data. |
dnnResourceDiffDst |
Gradient with respect to output data. |
dnnResourceWorkspace |
Workspace. |
dnnResourceMultipleSrc, ... , dnnResourceMultipleSrc+ k |
For multiple input data, elements of the input, from first to last, where k∈ [0, 8]. |
dnnResourceMultipleDst, ... , dnnResourceMultipleDst+ k |
For multiple output data, elements of the output, from first to last. |
dnnResourceNumber |
The number of elements in the resources array. |
At the setup stage, the value of type dnnAlgorithm_t species the implementation of convolution and pooling:
Value |
Meaning |
---|---|
dnnAlgorithmConvolutionDirect |
Direct convolution. |
dnnAlgorithmPoolingMax |
Maximum pooling. |
dnnAlgorithmPoolingMin |
Minimum pooling. |
dnnAlgorithmPoolingAvgIncludePadding |
Average pooling (padded elements contribute to average value). |
dnnAlgorithmPoolingAvgExcludePadding |
Average pooling (padded elements do not contribute to average value). |
At the setup stage, the value of type dnnBorder_t specifies the method to pad the input array if padding is necessary:
Value |
Meaning |
---|---|
dnnBorderZeros |
Pad with zeros. |
dnnBorderZerosAsymm |
Asymmetrically pad with zeros. |
dnnBorderExtrapolation |
Extrapolate based on the input data. |
At the setup stage, the value of type dnnBatchNormalizationFlag_t specifies the method to perform batch normalization:
Value |
Meaning |
---|---|
dnnUseInputMeanVariance |
If this value is set, use externally calculated mean and variance as input for the forward propagation step. Otherwise, for backward propagation, use mean and variance output from the forward propagation step. |
dnnUseScaleShift |
Use learnable gamma and beta parameters. |