Make it buildable with CUDA 8.x
#include <cusolverDn.h>
#include <cusolverSp.h>
+#if CUDA_VERSION < 9000
+// Data types and functions addes in CUDA 9.0
+typedef void* gesvdjInfo_t;
+
+cusolverStatus_t cusolverDnCreateGesvdjInfo(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnDestroyGesvdjInfo(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnXgesvdjSetTolerance(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnXgesvdjSetMaxSweeps(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnXgesvdjSetSortEig(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnXgesvdjGetResidual(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnXgesvdjGetSweeps(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnSgesvdj_bufferSize(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnDgesvdj_bufferSize(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnCgesvdj_bufferSize(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnZgesvdj_bufferSize(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnSgesvdj(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnDgesvdj(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnCgesvdj(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+
+cusolverStatus_t cusolverDnZgesvdj(...) {
+ return CUSOLVER_STATUS_SUCCESS;
+}
+#endif // #if CUDA_VERSION < 9000
+
#else // #if !defined(CUPY_NO_CUDA) && !defined(CUPY_USE_HIP)
#ifdef CUPY_USE_HIP
@@ -347,7 +412,6 @@ cusolverStatus_t cusolverDnZgesvd(...) {
return CUSOLVER_STATUS_SUCCESS;
}
-//
cusolverStatus_t cusolverDnCreateGesvdjInfo(...) {
return CUSOLVER_STATUS_SUCCESS;
}
