jinboci commented on pull request #18542:
URL: https://github.com/apache/incubator-mxnet/pull/18542#issuecomment-646147882
@yzhliu @leezu Thank you for your suggestions. I tried to directly disable
the linkage of `libcuda.so` with
```cmake
diff --git a/cmake/modules/CUDA.cmake b/cmake/modules/CUDA.cmake
index 936bb681b..32d13de38 100644
--- a/cmake/modules/CUDA.cmake
+++ b/cmake/modules/CUDA.cmake
@@ -35,7 +35,7 @@ if(USE_CUDA)
list(APPEND TVM_LINKER_LIBS ${CUDA_NVRTC_LIBRARY})
list(APPEND TVM_RUNTIME_LINKER_LIBS ${CUDA_CUDART_LIBRARY})
- list(APPEND TVM_RUNTIME_LINKER_LIBS ${CUDA_CUDA_LIBRARY})
+ #list(APPEND TVM_RUNTIME_LINKER_LIBS ${CUDA_CUDA_LIBRARY})
list(APPEND TVM_RUNTIME_LINKER_LIBS ${CUDA_NVRTC_LIBRARY})
if(USE_CUDNN)
diff --git a/cmake/util/FindCUDA.cmake b/cmake/util/FindCUDA.cmake
index f971c87f2..5e2118148 100644
--- a/cmake/util/FindCUDA.cmake
+++ b/cmake/util/FindCUDA.cmake
@@ -58,9 +58,9 @@ macro(find_cuda use_cuda)
# additional libraries
if(CUDA_FOUND)
if(MSVC)
- find_library(CUDA_CUDA_LIBRARY cuda
- ${CUDA_TOOLKIT_ROOT_DIR}/lib/x64
- ${CUDA_TOOLKIT_ROOT_DIR}/lib/Win32)
+ #find_library(CUDA_CUDA_LIBRARY cudart
+ #${CUDA_TOOLKIT_ROOT_DIR}/lib/x64
+ #${CUDA_TOOLKIT_ROOT_DIR}/lib/Win32)
find_library(CUDA_NVRTC_LIBRARY nvrtc
${CUDA_TOOLKIT_ROOT_DIR}/lib/x64
${CUDA_TOOLKIT_ROOT_DIR}/lib/Win32)
@@ -74,13 +74,13 @@ macro(find_cuda use_cuda)
${CUDA_TOOLKIT_ROOT_DIR}/lib/x64
${CUDA_TOOLKIT_ROOT_DIR}/lib/Win32)
else(MSVC)
- find_library(_CUDA_CUDA_LIBRARY cuda
- PATHS ${CUDA_TOOLKIT_ROOT_DIR}
- PATH_SUFFIXES lib lib64 targets/x86_64-linux/lib
targets/x86_64-linux/lib/stubs lib64/stubs
- NO_DEFAULT_PATH)
- if(_CUDA_CUDA_LIBRARY)
- set(CUDA_CUDA_LIBRARY ${_CUDA_CUDA_LIBRARY})
- endif()
+ #find_library(_CUDA_CUDA_LIBRARY cudart
+ #PATHS ${CUDA_TOOLKIT_ROOT_DIR}
+ #PATH_SUFFIXES lib lib64 targets/x86_64-linux/lib
targets/x86_64-linux/lib/stubs lib64/stubs
+ #NO_DEFAULT_PATH)
+ #if(_CUDA_CUDA_LIBRARY)
+ #set(CUDA_CUDA_LIBRARY ${_CUDA_CUDA_LIBRARY})
+ #endif()
find_library(CUDA_NVRTC_LIBRARY nvrtc
PATHS ${CUDA_TOOLKIT_ROOT_DIR}
PATH_SUFFIXES lib lib64 targets/x86_64-linux/lib
targets/x86_64-linux/lib/stubs lib64/stubs lib/x86_64-linux-gnu
```
However, getting errors while building tvm:
```python
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ubuntu/Documents/tvm/python/tvm/__init__.py", line 25, in
<module>
from ._ffi.base import TVMError, __version__
File "/home/ubuntu/Documents/tvm/python/tvm/_ffi/__init__.py", line 28, in
<module>
from .base import register_error
File "/home/ubuntu/Documents/tvm/python/tvm/_ffi/base.py", line 62, in
<module>
_LIB, _LIB_NAME = _load_lib()
File "/home/ubuntu/Documents/tvm/python/tvm/_ffi/base.py", line 50, in
_load_lib
lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_GLOBAL)
File "/home/ubuntu/anaconda3/lib/python3.7/ctypes/__init__.py", line 364,
in __init__
self._handle = _dlopen(self._name, mode)
OSError: /home/ubuntu/Documents/tvm/build/libtvm.so: undefined symbol:
cuLaunchKernel
```
It seems that
[`cuLaunchKernel`](https://github.com/apache/incubator-tvm/blob/f305b31d6343f207b913eb1aafc8d07782445e33/src/runtime/cuda/cuda_module.cc#L172-L174)
is one function needed from `libcuda.so` (I am not sure if it is). How could
we call this function without linking `libcuda.so`?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]