You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11 + CUDA 12.8环境从源码构建PyTorch3D失败:提示无法打开头文件'thrust/detail/cstdint.h'

Windows 11 + CUDA 12.8环境从源码构建PyTorch3D失败:提示无法打开头文件'thrust/detail/cstdint.h'

我之前也踩过这个坑,大概率是CUDA 12.x版本里Thrust库的路径变动,或者PyTorch3D的构建脚本没适配新CUDA版本导致的,给你几个亲测有效的解决办法:

  • 手动指定Thrust头文件路径
    CUDA 12.8里的Thrust头文件位置和旧版本有差异,先找到你的CUDA安装目录下的Thrust文件夹,一般在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\include\thrust。在构建PyTorch3D前,通过环境变量把这个路径传给编译器:

    set C_INCLUDE_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\include;%C_INCLUDE_PATH%
    set CXX_INCLUDE_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\include;%CXX_INCLUDE_PATH%
    

    也可以在执行CMake命令时加上-DCMAKE_INCLUDE_PATH="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\include"参数来指定。

  • 降级CUDA到11.8版本
    目前PyTorch3D对CUDA 12.x的支持还不算特别完善,很多开发者反馈降级到CUDA 11.8后构建成功率高很多。如果不是必须用12.8的新特性,这是最省心的方案,记得同时安装对应版本的PyTorch(比如PyTorch 2.0+适配CUDA 11.8)。

  • 修改PyTorch3D源码的头文件引用
    找到报错的renderer.norm_sphere_gradients.gpu.cu文件,把里面的#include <thrust/detail/cstdint.h>改成#include <cstdint>——Thrust里的这个文件本质是封装的标准库头文件,直接替换不会影响功能。改完后重新执行构建命令即可。

  • 确认PyTorch与CUDA版本匹配
    先运行以下命令检查PyTorch对应的CUDA版本:

    python -c "import torch; print(torch.version.cuda)"
    

    如果输出不是12.8,先安装适配CUDA 12.8的PyTorch版本,比如用pip安装:

    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
    

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:32:58