Hi MKL developers,
I am trying to implement a sparse convolution function based on MKL convolution. According to the sparseness, I departed the big convolution to a serials of subconvolution tasks. But only the first subconvolution result is correct, it goes wrong when I step forward in the sparseness.
I have implemented a 3D convolution function without sparseness. The output is the same with naive method without MKL. In this function, I have to flip the dimensions from xyz to zyx when specifying the data shape. I have not changed the array. It seems that MKL convolution is using row-major ordering, and the last x is changing fastest. Is it right?
The code using MKL is here:
https://github.com/jingpengwu/znn-release/blob/master/src/core/conv_mkl....
The direct sparse convolution code is here:
https://github.com/jingpengwu/znn-release/blob/master/src/core/bf_conv.h...