I have read the MKL manual but I can hardly understand the explanation below:
MKL_LONG dims[] = { nd, …, n2, n1 }; DftiCreateDescriptor( &hand, precision, domain, d, dims ); // The above call assumes data declaration: type X[nd]…[n2][n1] // Default strides are { 0, nd*…*n2*n1, …, n2*n1, n1, 1 }
It is obvious that there are nd+2 elements in the strides configurations, i.e., for 2d data, the default strides are {0, n2*n1, n1, 1},
the first element 0 is the default value for s0, except which there are still 3 elements.
I don't know how to under the configuration of strides.
By now, I have a 2d data stored in column-major, how to set the strides for the column-major storage?