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]


Reply via email to