THC/THC.h: No such file or directory

问题描述:

        从网上搜索看到,这是由于pytorch升级之后将 THC/THC.h转移到了ATen/ATen.h。所以导致查找不到。官方说torch 1.11 开始改的,原则上之前的版本是可以调用 THC/THC.h 该头文件的,但是我尝试过1.7.1 1.7.0 1.8.0都是不行。

因此写个博客记录一下 THC/THC.h 的方法  与 ATen/ATen.h 对应关系

问题项目:

https://github.com/DiT-3D/DiT-3D

问题解决:

1.

按照#include <THC/THC.H>报错!_#include <thc/thc.h>-优快云博客 该播主所述:

可以直接将 include <THC/THC.h> 头文件注释掉

// #include <THC/THC.h>

2. 再次运行时,报出该头文件引用的方法,没有定义。

error: identifier "THCudaCheck" is undefined

解决:

THCudaCheck  --> AT_CUDA_CHECK   # 平替掉
# CHECK_EQ   # 注释掉

注:

        由于没有从网上找到CHECK_EQ(x, y) 方法的平替,通过查看源码发现,该方法只是判断两个值是否相等。因此对我的代码影响不大,所以我选择直接注释掉。即成功

3.         error: identifier "THCCeilDiv" is undefined

解决:

# dim3 grid(std::min(THCCeilDiv(**, 512L), 4096L));
dim3 grid(std::min(((int)** + 512 -1) / 512, 4096));

注意注意:  这里的** 是要替换成你的程序中的部分,例如:

  // dim3 grid(std::min(THCCeilDiv((long)grad.numel(), 512L), 4096L));

  dim3 grid(std::min(((int)(long)grad.numel() + 512 -1) / 512, 4096));

切勿直接复制使用

——————————————————————————————————————————

该博客还会继续更新在编译过程中所遇到的THC/THC.h 的错误,同时欢迎各位大佬更正补充。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值