pakozm/april-ann — pull request #107 by pakozm (2014-10-31 14:15:16+00:00)
Title: Stride shape matrices

Removing row major and column major differences in APRIL-ANN code. Any matrix would be constructed in row major (by default), and its shape can be changed depending in the stride information. Row major and column major modes of CBLAS or LAPACK libraries are detected automatically depending in the stride, and the matrices are transposed if needed. For CUBLAS, operations are done in column major and finally transpose-copied to a row major matrix if necessary. CUDA part is not finished yet, but it will be interesting to test the C/C++ part.
Non significant differences are observed in MLPs, because of the math operations change. However, models like CNNs suffer a more important impact (different hyper-parameters can be needed). The same thing happens with Conjugate Gradient optimizer.
It stills in development, and this pull request is just to open the discussion.