Multi-version CUDA install
不要覆盖之前的CUDA安装,这里在Ubuntu18.04的CUDA-10.2原装基础上,再并行安装了CUDA11-11.1 CUDA-11.3
ubuntu下安装多版本cuda及版本切换教程
- 按照这个教程,注意不要安装驱动driver,只安装cuda,而且不要讲cuda设置成当前cuda版本,我们随后在zhshrc文件中指定。
- 在
zhshrc
中使用export 加载CUDA版本# cuda version can be configured export PATH=/usr/local/cuda-11.3/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH
- 查询
CUDA_ARCH_BIN
git clone https://github.com/NVIDIA-AI-IOT/deepstream_tlt_apps.git cd deepstream_tlt_apps/TRT-OSS/x86 nvcc deviceQuery.cpp -o deviceQuery ./deviceQuery
cudnn 和 Libtorch
下载参考libtorch与tensorRT安装指南
因为都是头文件,所以都下载压缩文件,然后解压在自己的任意路径就好,如果版本多,不要都安装到/usr
CMakeLists.txt设置
set(CMAKE_PREFIX_PATH /home/wzy/3rdparty/libtorch-cxx11-abi-shared-with-deps-1.10.0+cu113/libtorch/share/cmake/Torch)
set(CUDNN_LIBRARY /home/wzy/softwares/cudnn-11.3-linux-x64-v8.2.1.32/cuda/lib64)
set(CUDNN_LIBRARY_PATH /home/wzy/softwares/cudnn-11.3-linux-x64-v8.2.1.32/cuda/lib64)
set(CUDNN_INCLUDE_PATH /home/wzy/softwares/cudnn-11.3-linux-x64-v8.2.1.32/cuda/include)
OpenCV重新编译
下载新OpenCV
由于我们切换了cuda版本,之前的opencv就会出现调用问题,这里重新下载opencv,并在安装时,注意更改安装路径到另一个目录(CMAKE_INSTALL_PREFIX
)
编译
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_C_COMPILER=/usr/bin/gcc-7 \
-D CMAKE_INSTALL_PREFIX=/home/wzy/softwares/opencv4.6.0 \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D WITH_TBB=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D WITH_CUDA=ON \
-D BUILD_opencv_cudacodec=OFF \
-D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D CUDA_ARCH_BIN=8.6 \
-D WITH_CUBLAS=1 \
-D WITH_V4L=ON \
-D WITH_V4L=ON \
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D WITH_VTK=ON \
-D WITH_GSTREAMER=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_PC_FILE_NAME=opencv.pc \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.6.0/modules \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D BUILD_TESTS=OFF \
-D BUILD_EXAMPLES=ON \
-D WITH_OPENGL=ON \
-D PYTHON3_EXECUTABLE=/usr/bin/python3.6 \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D BUILD_TIFF=ON .. \
-D BUILD_LIST=calib3d,features2d,highgui,dnn,imgproc,imgcodecs,\
cudev,cudaoptflow,cudaimgproc,cudalegacy,cudaarithm,cudacodec,cudastereo,\
cudafeatures2d,xfeatures2d,tracking,stereo,\
aruco,videoio,ccalib,video
指定寻找OpenCV
安装好之后,只需要在CMakeLists.txt
指定OpenCV路径即可
set(OpenCV_DIR /home/dji/softwares/opencv4.6.0/lib/cmake/opencv4)
find_package(OpenCV)