NVIDIA GPU 计算能力与 COLMAP 编译配置指南【2025最新版!!!】

一、引言

NVIDIA 的不同代显卡具有不同的计算能力(Compute Capability),这会影响到使用 CUDA 编译 COLMAP 时的配置选项。下面将详细列出了各代 GPU 的计算能力以及相应的 COLMAP 编译参数,以便后续查询使用

二 20系显卡 (Turing 架构)

2.1 计算能力:

  • RTX 2080 Ti, RTX 2080 Super, RTX 2080: 7.5
  • RTX 2070 Super, RTX 2070, RTX 2060 Super, RTX 2060: 7.5
  • GTX 1660 Ti, GTX 1660 Super, GTX 1660, GTX 1650: 7.5

2.2 COLMAP 编译配置:

cmake .. -DCUDA_ARCHS="Turing"
# 或者具体指定
cmake .. -DCUDA_ARCHS="7.5"

三、30系显卡 (Ampere 架构)

3.1 计算能力:

  • RTX 3090, RTX 3080 Ti, RTX 3080: 8.6
  • RTX 3070 Ti, RTX 3070, RTX 3060 Ti, RTX 3060: 8.6
  • RTX A6000, RTX A5000, RTX A4000: 8.6

3.2 COLMAP 编译配置:

cmake .. -DCUDA_ARCHS="Ampere"
# 或者具体指定
cmake .. -DCUDA_ARCHS="8.6"

四、40系显卡 (Ada Lovelace 架构)

4.1 计算能力:

  • RTX 4090, RTX 4080, RTX 4070 Ti, RTX 4070, RTX 4060 Ti, RTX 4060: 8.9

4.2 COLMAP 编译配置:

使用 CUDA 11.8 或更低版本时(不支持 8.9):

cmake .. -DCUDA_ARCHS="Ampere"
# 或
cmake .. -DCUDA_ARCHS="8.6"




使用 CUDA 12.0 或更高版本时(支持 8.9):

cmake .. -DCUDA_ARCHS="Ada"
# 或 
cmake .. -DCUDA_ARCHS="8.9"

五、50系显卡 (Blackwell 架构)

5.1 计算能力:

  • RTX 5090 及其他 50 系列: 9.0

5.2 COLMAP 编译配置:

使用 CUDA 12.3 或更高版本:

cmake .. -DCUDA_ARCHS="Blackwell"
# 或
cmake .. -DCUDA_ARCHS="9.0"

使用 CUDA 12.0-12.2 时(不支持 9.0):

cmake .. -DCUDA_ARCHS="Ada"
# 或
cmake .. -DCUDA_ARCHS="8.9"

使用 CUDA 11.x 时(不支持 8.9 及以上)

cmake .. -DCUDA_ARCHS="Ampere"
# 或
cmake .. -DCUDA_ARCHS="8.6"

5.3 针对混合多卡环境的配置

如果系统包含多种不同架构的显卡,可以指定多个架构:

# 例如同时有 30 系和 40 系显卡
cmake .. -DCUDA_ARCHS="8.6;8.9"

5.4、CUDA 版本与最高支持计算能力对照

在这里插入图片描述

5.6 重要说明

(1)向后兼容性:较新的 GPU 可以运行为旧架构编译的代码,只是可能无法利用新架构的特定优化。

(2)显式指定多个架构:如果想为多个架构优化,可以同时指定它们:

cmake .. -DCUDA_ARCHS="7.5;8.6"  # 为 Turing 和 Ampere 同时优化

(3)命名架构与数字对应关系:

  • “Turing” = 7.5
  • “Ampere” = 8.0, 8.6
  • “Ada” 或 “Lovelace” = 8.9
  • “Blackwell” = 9.0

最佳实践:通常选择当前 CUDA 版本支持的最高架构即可。对于跨架构使用的代码,可以指定多个架构值或使用架构族名称(如"Ampere")。

六、编译运行(4090、CUDA11.8)

6.1 cmake标准版本

cd /root/autodl-tmp/gaussian-splatting/submodules/colmap-3.7/rm -rf build
rm -rf build
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release \
         -DCMAKE_CUDA_ARCHITECTURES=89  # 这里改成你的GPU
make -j$(nproc)


命令解释:
-DCMAKE_BUILD_TYPE=Release:启用编译优化(比如 -O3),绝对必要!否则默认是 Debug 模式,很慢。

-DCMAKE_CUDA_ARCHITECTURES=86:让 CUDA 代码生成对应你显卡的高效代码。

make -j$(nproc):并行编译,$(nproc)自动使用全部 CPU 核心,大幅加速编译速度。



6.2 Ninja(效率更高)

sudo apt install ninja-build
cd /root/autodl-tmp/gaussian-splatting/submodules/colmap-3.7/rm -rf build
rm -rf build
mkdir build
cd build
cmake .. -GNinja \
         -DCMAKE_BUILD_TYPE=Release \
         -DCMAKE_CUDA_ARCHITECTURES=89
ninja

七、总结

通过以上内容,可以根据自己的 GPU 型号和 CUDA 版本选择最合适的编译配置,确保 COLMAP 既能发挥 GPU 的最大性能,又能避免因架构不兼容导致的编译错误

<think>嗯,用户想在Ubuntu 22.04上安装COLMAP。首先我需要回忆一下相关的安装步骤。记得COLMAP依赖很多库,比如Ceres-Solver、CUDA、OpenGL等等。用户提到的引用中有几个关键点:安装依赖项、Ceres的编译安装、CUDA的支持,还有Colmap本身的编译过程。 首先,安装系统依赖项。根据引用[1]和[4],需要安装cmake、git、libboost-dev这些基础工具。可能还需要安装图形相关的库,比如libglfw3-dev和libglew-dev。这部分用户可能容易忽略某些依赖,导致后续编译出错,所以必须确保所有依赖都正确安装。 接下来是安装Ceres-Solver。引用[4]提到要克隆Ceres的仓库,然后进行编译安装。步骤包括进入目录、创建build文件夹、运行cmake、make和make install。不过用户可能需要先安装Ceres的依赖项,比如libsuitesparse-dev,否则编译会失败。需要提醒用户注意这一点。 然后是CUDA的安装。根据引用[3],用户需要安装nvidia-cuda-toolkit,但可能还需要安装对应版本的NVIDIA驱动。另外,检查cuDNN的版本是否兼容,引用[2]中提到了检查cuDNN版本的方法。这里可能需要用户确认CUDA是否正确安装,以及环境变量是否配置好。 接下来是编译安装COLMAP本身。引用[4]的步骤是进入colmap目录的build文件夹,运行cmake,然后make和make install。但这里可能会有问题,比如CUDA没有被正确检测到,或者某些依赖库路径不对。需要确保cmake配置阶段没有错误,尤其是CUDA的支持是否启用。 另外,用户提供的引用中有提到使用apt安装Ceres,但引用[4]是通过源码编译安装的。可能需要指出两种方法的区别,源码安装可能更适合最新版本,而apt安装可能版本较旧。需要建议用户根据需求选择,但为了兼容性,可能推荐源码安装。 还要注意,在编译过程中如果出现错误,可能是缺少某些依赖库,比如libatlas-base-dev或者libmetis-dev。需要检查错误信息,补充安装相应的包。此外,使用make -j$(nproc)可以加快编译速度,但有时并行编译会导致问题,可以建议如果出错的话尝试单线程编译。 最后,安装完成后可能需要配置环境变量,或者将COLMAP的可执行文件路径添加到PATH中。用户可能需要测试安装是否成功,运行colmap -h看看是否有输出。 总结一下步骤:安装依赖项→安装Ceres→安装CUDA→编译安装COLMAP。需要详细写出每一步的具体命令,并提醒用户可能的坑,比如依赖项缺失、CUDA版本问题等。同时,根据用户提供的引用,正确引用相关步骤的来源,比如引用[4]中的Ceres安装步骤。</think>### Ubuntu 22.04 安装 COLMAP 分步指南 #### 1. 安装系统依赖项 首先安装编译所需的工具和库: ```bash sudo apt-get update sudo apt-get install -y \ cmake git ninja-build \ libboost-program-options-dev libboost-filesystem-dev \ libboost-graph-dev libboost-system-dev libboost-test-dev \ libeigen3-dev libflann-dev libsqlite3-dev libgflags-dev \ libgoogle-glog-dev libsuitesparse-dev libfreeimage-dev \ libmetis-dev libglfw3-dev libglew-dev ``` (注意:`libglfw3-dev`和`glew`是OpenGL依赖项[^4]) #### 2. 安装CUDA工具包 为GPU加速功能安装CUDA: ```bash sudo apt-get install -y nvidia-cuda-toolkit nvidia-cuda-toolkit-gcc ``` 安装后需验证CUDA版本: ```bash nvcc --version ``` 建议使用CUDA 11+版本[^3] #### 3. 编译安装Ceres-Solver COLMAP依赖非线性优化库Ceres: ```bash git clone https://ceres-solver.googlesource.com/ceres-solver cd ceres-solver mkdir build && cd build cmake .. -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF make -j$(nproc) sudo make install ``` (关键配置:禁用测试用例以加速编译[^4]) #### 4. 编译安装COLMAP ```bash git clone https://github.com/colmap/colmap.git cd colmap mkdir build && cd build cmake .. -DCMAKE_CUDA_ARCHITECTURES="native" make -j$(nproc) sudo make install ``` **关键参数说明**: - `-DCMAKE_CUDA_ARCHITECTURES="native"`:自动适配本地GPU架构 - 若需禁用GUI,添加`-DGUI_DISABLE=ON` #### 5. 验证安装 ```bash colmap -h ``` 成功安装会显示版本信息和命令帮助[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值