-
Notifications
You must be signed in to change notification settings - Fork 271
MIOpen Logger to Driver Decoder for Recurrent
miopenStatus_t miopenRNNForwardTraining(miopenHandle_t, miopenRNNDescriptor_t, int, miopenTensorDescriptor**, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor**, void*, miopenTensorDescriptor_t, void*, miopenTensorDescriptor_t, void*, void*, size_t, void*, size_t){
rnnDesc = 512, 3, 4, 6, 2, 0, 0, 0, 0,
sequenceLen = 10
xDesc = 0xe0d1c0
x = 0xe05a80
hxDesc = 3, 4, 512
hx = 0xdff280
cxDesc = 3, 4, 512
cx = 0xdff470
wDesc = 3584, 2048
w = 0xdfa690
yDesc = 0xdd2630
y = 0xdfac40
hyDesc = 3, 4, 512
hy = 0xdff660
cyDesc = 3, 4, 512
cy = 0xdff850
}
The lines of interest are:
-
xDescis an array of tensor descriptors -
rnnDesc = 512, 3, 4, 6, 2, 0, 0, 0, 0,== < hiddenSize, nlayers, nHiddenTensorsPerLayer, workspaceScale, rnnMode, dirMode, algoMode, inputMode, biasMode > (Link to a description of the modes.) -
hxDesc = 3, 4, 512== < nlayersTensor, xDescMaxFirstDim, hiddenSize > -
cxDesc = 3, 4, 512== < nlayersTensor, xDescMaxFirstDim, hiddenSize > -
wDescis a weights tensor descriptor, which is calculated by MIOpen -
hyDesc = 3, 4, 512== < nlayersTensor, xDescMaxFirstDim, hiddenSize > -
cyDesc = 3, 4, 512== < nlayersTensor, xDescMaxFirstDim, hiddenSize >
xDescMaxFirstDim must equal the largest first dimension of the xDesc tensor descriptor array.
nlayersTensor equals to nlayers if the dirMode is unidirectional and twice to nlayers if the dirMode is bidirectional.
miopenStatus_t miopenRNNBackwardData(miopenHandle_t, miopenRNNDescriptor_t, int, miopenTensorDescriptor**, const void*, miopenTensorDescriptor**, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor**, void*, miopenTensorDescriptor_t, void*, miopenTensorDescriptor_t, void*, void*, size_t, void*, size_t){
rnnDesc = 512, 3, 4, 6, 2, 0, 0, 0, 0,
sequenceLen = 10
yDesc = 0xdd2630
y = 0xdfac40
dyDesc = 0xdd2630
dy = 0xdfaa50
dhyDesc = 3, 4, 512
dhy = 0xd3a340
dcyDesc = 3, 4, 512
dcy = 0xd3a530
wDesc = 3584, 2048
w = 0xdfa690
hxDesc = 3, 4, 512
hx = 0xdff280
cxDesc = 3, 4, 512
cx = 0xdff470
}
The lines of interest are:
-
rnnDesc = 512, 3, 4, 6, 2, 1, 0, 0, 0,== < hiddenSize, nlayers, nHiddenTensorsPerLayer, workspaceScale, rnnMode, dirMode, algoMode, inputMode, biasMode > (Link to a description of the modes.) -
yDescis an array of tensor descriptors -
dyDescis an array of fully packed tensor descriptors associated with the output from each time step -
dhyDesc = 3, 4, 512== < nlayersTensor , xDescMaxFirstDim, hiddenSize > -
dcyDesc = 3, 4, 512== < nlayersTensor , xDescMaxFirstDim, hiddenSize > -
wDescis a weights tensor descriptor -
hxDesc = 3, 4, 512== < nlayersTensor , xDescMaxFirstDim, hiddenSize > -
cxDesc = 3, 4, 512== < nlayersTensor , xDescMaxFirstDim, hiddenSize >
xDescMaxFirstDim must equal the largest first dimension of the xDesc tensor descriptor array.
nlayersTensor equals to nlayers if the dirMode is unidirectional and twice to nlayers if the dirMode is bidirectional.
miopenStatus_t miopenRNNBackwardWeights(miopenHandle_t, miopenRNNDescriptor_t, int, miopenTensorDescriptor**, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor**, const void*, miopenTensorDescriptor_t, void*, void*, size_t, const void*, size_t){
rnnDesc = 512, 3, 4, 6, 2, 0, 0, 0, 0,
sequenceLen = 10
xDesc = 0xe0d1c0
x = 0xe05a80
hxDesc = 3, 4, 512
hx = 0xdff280
yDesc = 0xdd2630
y = 0xdfaa50
dwDesc = 3584, 2048
dw = 0xdfa860
workSpace = 0xde13e0
workSpaceNumBytes = 1032192
reserveSpace = 0xde15d0
reserveSpaceNumBytes = 2064384
}
The lines of interest are:
-
rnnDesc = 512, 3, 4, 6, 2, 1, 0, 0, 0,== < hiddenSize, nlayers, nHiddenTensorsPerLayer, workspaceScale, rnnMode, dirMode, algoMode, inputMode, biasMode > (Link to a description of the modes.) -
xDescis an array of tensor descriptors -
hxDesc = 3, 4, 512== < nlayersTensor , xDescMaxFirstDim, hiddenSize > -
dwDescis a weights tensor descriptor
xDescMaxFirstDim must equal the largest first dimension of the xDesc tensor descriptor array.
nlayersTensor equals to nlayers if the dirMode is unidirectional and twice to nlayers if the dirMode is bidirectional.
Currently, 16-bit floating point is not available for MIOpen's RNN.