TVMError: Двоичный файл был создан с использованием cuda, но загрузчик с таким именем не зарегистрирован
Я создаю tvm, устанавливаю и использую его в другом док-контейнере.
Код генерации колеса TVM:
# install cmake
RUN yum install -y wget
RUN wget https://github.com/Kitware/CMake/releases/download/v3.20.2/cmake-3.20.2.tar.gz -O cmake.tar.gz && \
mkdir cmake && tar -zxvf cmake.tar.gz -C cmake --strip-components 1 && \
cd cmake && ./bootstrap -- -DCMAKE_USE_OPENSSL=OFF && make -j8 && make install && cd .. && \
rm cmake.tar.gz && rm -rf cmake
RUN echo "CUDA $(ls /lib64/ | grep cu)" > /tmp/build_2.output
# install tvm
RUN git clone --recursive https://github.com/apache/incubator-tvm tvm && \
cd tvm && \
git reset --hard 338940dc5044885412f9a6045cb8dcdf9fb639a4 && \
git submodule init && \
git submodule update && \
mkdir ./build && \
cp cmake/config.cmake build && \
cd build && \
cmake --debug-output -DUSE_CUDA=ON -DUSE_CUDNN=ON -DUSE_CUBLAS=ON -DUSE_THRUST=ON -DUSE_LLVM=ON .. &>> /tmp/build_2.output && \
make -j$(nproc) &>> /tmp/build_2.output && \
cd ../python && python3.8 setup.py bdist_wheel
Проверено, что файлы cuda .so были созданы в /tmp/build_2.output
При установке и запуске tvm в другом месте появляется следующая ошибка:
tvm.runtime.load_module
*TVMError: Binary was created using cuda but a loader of that name is not registered. Available loaders are GraphRuntimeFactory, metadata, GraphExecutorFactory, VMExecutable. Perhaps you need to recompile with this runtime enabled.*
Как зарегистрировать загрузчик cuda?