3 ms·
I'm working on a wrapper for BLAS (basic linear algebra subprograms) that will hopefully be able to interoperate between CBLAS and CUBLAS (nvidia's GPU implemen
by jbooth 16y ago
I'm working on a wrapper for BLAS (basic linear algebra subprograms) that will hopefully be able to interoperate between CBLAS and CUBLAS (nvidia's GPU implementation) by the time it's done.
BLAS has fortran/C heritage so it expects matrixes to be a single contiguous chunk of memory, indexed by column first and then row. Whereas a go [][]float64 is a pointer to an array of slices, which are pointers to noncontiguous arrays. Additionally, the CUDA API has a "special" malloc function that does some bookkeeping and gets big performance gains. So, trying to figure all of that out, plus this is my first go project (great first project, huh), so basically every other newbie question I've had.
Basically obscure enough questions were better to search golang-nuts directly.