From fc58d58923534e461d735a9a8b460d2dc8691ae5 Mon Sep 17 00:00:00 2001 From: Bas Aarts Date: Thu, 7 May 2020 12:15:58 -0700 Subject: [PATCH 1/2] add __cudaInitModule to cudart_stub.cc this fixes https://github.com/tensorflow/tensorflow/issues/39280 --- tensorflow/stream_executor/cuda/cudart_stub.cc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tensorflow/stream_executor/cuda/cudart_stub.cc b/tensorflow/stream_executor/cuda/cudart_stub.cc index 5ee106a65fd..1d7a4e378ba 100644 --- a/tensorflow/stream_executor/cuda/cudart_stub.cc +++ b/tensorflow/stream_executor/cuda/cudart_stub.cc @@ -131,6 +131,13 @@ extern __host__ __device__ unsigned CUDARTAPI __cudaPushCallConfiguration( return func_ptr(gridDim, blockDim, sharedMem, stream); } +extern char CUDARTAPI __cudaInitModule(void **fatCubinHandle) { + using FuncPtr = cudaError_t(CUDARTAPI *)(void **fatCubinHandle); + static auto func_ptr = LoadSymbol("__cudaInitModule"); + if (!func_ptr) return GetSymbolNotFoundError(); + return func_ptr(fatCubinHandle); +} + #if CUDART_VERSION >= 10010 extern void CUDARTAPI __cudaRegisterFatBinaryEnd(void **fatCubinHandle) { using FuncPtr = void(CUDARTAPI *)(void **fatCubinHandle); From cd2f4d16282d36c47547ba72d762ad967ce1d024 Mon Sep 17 00:00:00 2001 From: Bas Aarts Date: Fri, 8 May 2020 07:58:05 -0700 Subject: [PATCH 2/2] address comments on commit fc58d58923534e461d735a9a8b460d2dc8691ae5 --- tensorflow/stream_executor/cuda/cudart_stub.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tensorflow/stream_executor/cuda/cudart_stub.cc b/tensorflow/stream_executor/cuda/cudart_stub.cc index 1d7a4e378ba..3b9e0f2937b 100644 --- a/tensorflow/stream_executor/cuda/cudart_stub.cc +++ b/tensorflow/stream_executor/cuda/cudart_stub.cc @@ -132,9 +132,9 @@ extern __host__ __device__ unsigned CUDARTAPI __cudaPushCallConfiguration( } extern char CUDARTAPI __cudaInitModule(void **fatCubinHandle) { - using FuncPtr = cudaError_t(CUDARTAPI *)(void **fatCubinHandle); + using FuncPtr = char(CUDARTAPI *)(void **fatCubinHandle); static auto func_ptr = LoadSymbol("__cudaInitModule"); - if (!func_ptr) return GetSymbolNotFoundError(); + if (!func_ptr) return 0; return func_ptr(fatCubinHandle); }