@@ -42,13 +42,13 @@ cdef extern from '../cupy_backends/cupy_complex.h':
4242cdef extern from ' ../cupy_backends/cupy_lapack.h' nogil:
4343 int gesvd_loop[T](
4444 intptr_t handle, char jobu, char jobvt, int m, int n, intptr_t A,
45- int lda, intptr_t s_ptr, intptr_t u_ptr, int ldu , intptr_t vt_ptr,
46- int ldvt, intptr_t w_ptr, int buffersize, intptr_t info_ptr,
45+ intptr_t s_ptr, intptr_t u_ptr, intptr_t vt_ptr,
46+ intptr_t w_ptr, int buffersize, intptr_t info_ptr,
4747 int batch_size)
4848
49- ctypedef int (* gesvd_ptr)(intptr_t, char , char , int , int , intptr_t, # noqa
50- int , intptr_t, intptr_t, int , intptr_t,
51- int , intptr_t, int , intptr_t, int ) nogil
49+ ctypedef int (* gesvd_ptr)(intptr_t, char , char , int , int , intptr_t,
50+ intptr_t, intptr_t, intptr_t,
51+ intptr_t, int , intptr_t, int ) nogil
5252
5353
5454_available_cuda_version = {
@@ -272,6 +272,10 @@ cpdef _gesvd_batched(a, a_dtype, full_matrices, compute_uv, overwrite_a):
272272 raise RuntimeError (" This function is disabled on HIP as "
273273 " it is not needed" )
274274
275+ if runtime.runtimeGetVersion() == 10000 :
276+ # see https://github.com/cupy/cupy/pull/4628#issuecomment-780311925
277+ raise RuntimeError (" batched gesvd is buggy on CUDA 10.0" )
278+
275279 # TODO(leofang): try overlapping using a small stream pool?
276280
277281 cdef ndarray x, s, u, vt, dev_info
@@ -344,8 +348,8 @@ cpdef _gesvd_batched(a, a_dtype, full_matrices, compute_uv, overwrite_a):
344348 # the loop starts here, with gil released to reduce overhead
345349 with nogil:
346350 status = gesvd(
347- handle, job_u, job_vt, m, n, a_ptr, m, s_ptr,
348- u_ptr, m , vt_ptr, n ,
351+ handle, job_u, job_vt, m, n, a_ptr,
352+ s_ptr, u_ptr , vt_ptr,
349353 w_ptr, buffersize, info_ptr, batch_size)
350354 if status != 0 :
351355 raise _cusolver.CUSOLVERError(status)
0 commit comments