CAMLprim value spoc_cublasScasum (value n, value x, value incx, value dev){ CAMLparam4(n,x,incx, dev); CAMLlocal4(dev_vec_array, dev_vec, res, gi); CUdeviceptr d_A; float result; int id; GET_VEC(x, d_A); CUBLAS_GET_CONTEXT; result = cublasScasum(Int_val(n), (cuComplex*)d_A, Int_val(incx)); CUBLAS_CHECK_CALL(cublasGetError()); res = caml_copy_double((double)result); CUDA_RESTORE_CONTEXT; CAMLreturn((res)); }
float magma_scasum( magma_int_t n, const magmaFloatComplex *dx, magma_int_t incx ) { return cublasScasum( n, dx, incx ); }