-
Notifications
You must be signed in to change notification settings - Fork 228
MIOpen Logger to Driver Decoder for Convolutions
Daniel Lowell edited this page Apr 4, 2018
·
14 revisions
miopenStatus_t miopenConvolutionForward(miopenHandle_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenConvolutionDescriptor_t, miopenConvFwdAlgorithm_t, const void*, miopenTensorDescriptor_t, void*, void*, size_t){
alpha = 0x7ffd8b2cdd84
xDesc = 100, 3, 32, 32
x = 0x7f8e22e5b410
wDesc = 32, 3, 3, 3
w = 0x7f8e22e5b990
convDesc = 0, 0, 1, 1, 1, 1,
algo = 1
beta = 0x7ffd8b2cdd88
yDesc = 100, 32, 30, 30
y = 0x7f8e22e8ff60
workSpace = 0x7f8e22e5ac70
workSpaceSize = 97200
}
The lines of interest are:
-
xDesc = 100, 3, 32, 32
== < n, c, H, W > -
wDesc = 32, 3, 3, 3
== < k, c, y, x > -
convDesc = 0, 0, 1, 1, 1, 1
== < p, q, u, v, l, j >
miopenStatus_t miopenConvolutionBackwardData(miopenHandle_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenConvolutionDescriptor_t, miopenConvBwdDataAlgorithm_t, const void*, miopenTensorDescriptor_t, void*, void*, size_t){
alpha = 0x7ffd8b2cdd64
dyDesc = 100, 32, 30, 30
dy = 0x7f8e22e8fca0
wDesc = 32, 3, 3, 3
w = 0x7f8e22e5b990
convDesc = 0, 0, 1, 1, 1, 1,
algo = 1
beta = 0x7ffd8b2cdd68
dxDesc = 100, 3, 32, 32
dx = 0x7f8e22e5b6d0
workSpace = 0x7f8e22e5a9b0
workSpaceSize = 345600
}
The lines of interest are:
-
dxDesc = 100, 3, 32, 32
== < n, c, H, W > -
wDesc = 32, 3, 3, 3
== < k, c, y, x > -
convDesc = 0, 0, 1, 1, 1, 1
== < p, q, u, v, l, j >
miopenStatus_t miopenConvolutionBackwardWeights(miopenHandle_t, const void*, miopenTensorDescriptor_t, const void*, miopenTensorDescriptor_t, const void*, miopenConvolutionDescriptor_t, miopenConvBwdWeightsAlgorithm_t, const void*, miopenTensorDescriptor_t, void*, void*, size_t){
alpha = 0x7ffd8b2cdd64
dyDesc = 100, 32, 30, 30
dy = 0x7f8e22e8fca0
xDesc = 100, 3, 32, 32
x = 0x7f8e22e5b410
convDesc = 0, 0, 1, 1, 1, 1,
algo = 1
beta = 0x7ffd8b2cdd68
dwDesc = 32, 3, 3, 3
dw = 0x7f8e22e8f9e0
workSpace = 0x7f8e22e5a9b0
workSpaceSize = 345600
}
The lines of interest are:
-
xDesc = 100, 3, 32, 32
== < n, c, H, W > -
dwDesc = 32, 3, 3, 3
== < k, c, y, x > -
convDesc = 0, 0, 1, 1, 1, 1
== < p, q, u, v, l, j >
Once the values n, c, H, W, k, x, y, p, q, l, j
have been extracted from the log as shown above, they can be plugged into the MIOpenDriver conv
command line.
To run in 16-bit floating point precision replace conv
with convfp16