MinkowskiEngine簡介
Minkowski引擎是一個用于稀疏張量的自動微分庫。它支持所有標準神經網絡層,例如對稀疏張量的卷積、池化和廣播操作。
MinkowskiEngine安裝
官方源碼鏈接:GitHub - NVIDIA/MinkowskiEngine: Minkowski Engine is an auto-diff neural network library for high-dimensional sparse tensors
官方提供的安裝教程只適合cuda-10.2和cuda-11.x,如果cuda版本≥12,可參考:MinkowskiEngine/installation_note.md at cuda12-installation · CiSong10/MinkowskiEngine · GitHub
我的cuda版本是12.4,參考“MinkowskiEngine/installation_note.md at cuda12-installation · CiSong10/MinkowskiEngine · GitHub”編譯MinkowskiEngine時,仍然會報錯。因此多安裝了一個版本為12.1的cuda toolkit(CUDA Toolkit Archive | NVIDIA Developer),下載好cuda_12.1.0_530.30.02_linux.run后,執行以下命令安裝cuda-12.1,
sudo sh cuda_12.1.0_530.30.02_linux.run
在安裝界面中,使用空格鍵取消選擇 "Driver"(驅動程序),只保留 "CUDA Toolkit 12.1" 被選中,因為NVIDIA驅動通常是向后兼容的,cuda 12.1工具包可以與較新的cuda-12.4驅動程序一起工作。安裝程序會詢問是否創建/usr/local/cuda符號鏈接,建議選擇 "No",這樣不會更改當前默認的cuda版本。
修改~/.bashrc,在虛擬環境中指定使用cuda-12.1,
export CUDA_HOME=/usr/local/cuda-12.1
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
隨后,驗證cuda版本,
nvcc --version"""
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0
"""
確認cuda-12.1安裝好后,再去安裝其他相關庫,
conda create -n <env_name> python=3.9
conda activate <env_name>
conda install -y pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.1 -c pytorch -c nvidia
conda install -y openblas-devel -c anaconda
conda install -y nvidia/label/cuda-12.1.0::cuda-toolkit
git clone https://github.com/CiSong10/MinkowskiEngine.git
cd MinkowskiEngine/
git checkout cuda12-installation
python setup.py install --blas=openblas ## gpu版本
python setup.py install --cpu_only --blas=openblas ## cpu版本
安裝好MinkowskiEngine后,在命令行會有如下提示,
執行以下命令可獲取系統配置,
cd MinkowskiEngine/MinkowskiEngine
python diagnostics.py
我的配置如下,
==========System==========
Linux-5.15.0-133-generic-x86_64-with-glibc2.35
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.4 LTS"
3.9.21 (main, Dec 11 2024, 16:24:11)
[GCC 11.2.0]
==========Pytorch==========
2.4.0
torch.cuda.is_available(): True
==========NVIDIA-SMI==========
/usr/bin/nvidia-smi
Driver Version 550.54.14
CUDA Version 12.4
VBIOS Version 95.02.3C.00.02
Image Version G002.0000.00.03
GSP Firmware Version 550.54.14
==========NVCC==========
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0
==========CC==========
/usr/bin/c++
c++ (Ubuntu 9.5.0-1ubuntu1~22.04) 9.5.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.==========MinkowskiEngine==========
0.5.4
MinkowskiEngine compiled with CUDA Support: True
NVCC version MinkowskiEngine is compiled: 12010
CUDART version MinkowskiEngine is compiled: 12010