From 4a5de14426cd46e43e8400d80faa2c76e797ea8e Mon Sep 17 00:00:00 2001 From: Guo Sheng Date: Fri, 8 May 2020 14:26:58 +0800 Subject: [PATCH] Remove cusolver potrfBatched support on Windows. (#24338) test=develop test=win_gpu --- paddle/fluid/operators/cholesky_op.cu | 6 +++--- paddle/fluid/platform/dynload/dynamic_loader.cc | 5 +---- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/paddle/fluid/operators/cholesky_op.cu b/paddle/fluid/operators/cholesky_op.cu index dabb2d2567..c442996865 100644 --- a/paddle/fluid/operators/cholesky_op.cu +++ b/paddle/fluid/operators/cholesky_op.cu @@ -67,7 +67,7 @@ class CholeskyGPUKernel : public framework::OpKernel { auto info = memory::Alloc(dev_ctx, sizeof(int) * batch_count); auto* info_ptr = reinterpret_cast(info->ptr()); -#if CUDA_VERSION >= 9020 +#if CUDA_VERSION >= 9020 && !defined(_WIN32) if (batch_count > 1) { std::vector output_ptrs; for (int i = 0; i < batch_count; i++) { @@ -93,7 +93,7 @@ class CholeskyGPUKernel : public framework::OpKernel { Potrf(dev_ctx, uplo, m, out_data + i * m * m, m, info_ptr + i); } -#if CUDA_VERSION >= 9020 +#if CUDA_VERSION >= 9020 && !defined(_WIN32) } #endif } @@ -126,7 +126,7 @@ class CholeskyGPUKernel : public framework::OpKernel { FUNC_WITH_TYPES(POTRF_INSTANCE); -#if CUDA_VERSION >= 9020 +#if CUDA_VERSION >= 9020 && !defined(_WIN32) #define POTRF_BATCH_INSTANCE(T, C) \ template <> \ void CholeskyGPUKernel::PotrfBatched( \ diff --git a/paddle/fluid/platform/dynload/dynamic_loader.cc b/paddle/fluid/platform/dynload/dynamic_loader.cc index e2e45dc7e8..dd62265e33 100644 --- a/paddle/fluid/platform/dynload/dynamic_loader.cc +++ b/paddle/fluid/platform/dynload/dynamic_loader.cc @@ -230,10 +230,7 @@ void* GetCusolverDsoHandle() { #if defined(__APPLE__) || defined(__OSX__) return GetDsoHandleFromSearchPath(FLAGS_cuda_dir, "libcusolver.dylib"); #elif defined(_WIN32) && defined(PADDLE_WITH_CUDA) - // TODO(guosheng): Fix cusolver support on windows. - // return GetDsoHandleFromSearchPath(FLAGS_cuda_dir, win_cusolver_lib); - PADDLE_THROW(platform::errors::Unavailable( - "Cusolver loader cannot support Windows temporarily.")); + return GetDsoHandleFromSearchPath(FLAGS_cuda_dir, win_cusolver_lib); #else return GetDsoHandleFromSearchPath(FLAGS_cuda_dir, "libcusolver.so"); #endif -- GitLab