Initialize a GPUArray for each mini-batch at initialization time.
Speed-ups: avoid re-allocation of temporary arrays, optimize add_vec_to_mat
Speed-ups for matrix reductions and elementwise operations
Commit stray @profile decorators