static int dger(cb_order order, size_t M, size_t N, double alpha, gpudata *X, size_t offX, int incX, gpudata *Y, size_t offY, int incY, gpudata *A, size_t offA, size_t lda) { cl_ctx *ctx = X->ctx; cl_event ev; StatusCode err; ARRAY_INIT(X); ARRAY_INIT(Y); ARRAY_INIT(A); err = CLBlastDger(convO(order), M, N, alpha, X->buf, offX, incX, Y->buf, offY, incY, A->buf, offA, lda, &ctx->q, &ev); if (err != kSuccess) return GA_BLAS_ERROR; ARRAY_FINI(X); ARRAY_FINI(Y); ARRAY_FINI(A); clReleaseEvent(ev); return GA_NO_ERROR; }
static int dger(cb_order order, size_t M, size_t N, double alpha, gpudata *X, size_t offX, int incX, gpudata *Y, size_t offY, int incY, gpudata *A, size_t offA, size_t lda) { cl_ctx *ctx = X->ctx; cl_event ev; ARRAY_INIT(X); ARRAY_INIT(Y); ARRAY_INIT(A); CLBT_CHECK(ctx->err, CLBlastDger(convO(order), M, N, alpha, X->buf, offX, incX, Y->buf, offY, incY, A->buf, offA, lda, &ctx->q, &ev)); ARRAY_FINI(X); ARRAY_FINI(Y); ARRAY_FINI(A); clReleaseEvent(ev); return GA_NO_ERROR; }