void magma_srotmg( float *d1, float *d2, float *x1, const float *y1, float *param ) { cublasSrotmg( d1, d2, x1, y1, param ); }
CAMLprim value spoc_cublasSrotmg (value host_psd1, value host_psd2, value host_psx1, value host_psy1, value host_sparam){ CAMLparam5(host_psd1, host_psd2, host_psx1, host_psy1, host_sparam); CAMLlocal2(bigArray, gi); int id; enum cudaError_enum cuda_error = 0; cublasStatus cublas_error = CUBLAS_STATUS_SUCCESS; float* h_A; float* h_B; float* h_C; float* h_D; float* h_E; GET_HOST_VEC(host_psd1, h_A); GET_HOST_VEC(host_psd2, h_B); GET_HOST_VEC(host_psx1, h_C); GET_HOST_VEC(host_psy1, h_D); GET_HOST_VEC(host_sparam, h_E); CUBLAS_GET_CONTEXT; cublasSrotmg(h_A, h_B, h_C, h_D, h_E); CUBLAS_CHECK_CALL(cublasGetError()); CUBLAS_RESTORE_CONTEXT; CAMLreturn(Val_unit); }