项目环境由pytorch1.10升级1.11中间要改的东西

本文档概述了PyTorch中CUDA相关API的更新情况,包括THC/THCDeviceUtils.cuh等文件的弃用及其替换方案,如用ATen/cuda/DeviceUtils.cuh替代;介绍了THCudaMalloc/THCudaFree被弃用后如何采用c10::cuda::CUDACachingAllocator进行内存分配与释放;同时涉及THCeilDiv、THCudaCheck等函数的替代方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. "THC/THCDeviceUtils.cuh"该文件弃用

nightly: missing THC/THCDeviceUtils.cuh

- #include <THC/THCDeviceUtils.cuh> 
+ #include "ATen/cuda/DeviceUtils.cuh"

2. THCudaMalloc/THCudaFree 被弃用

Migrate THCThrustAllocator to ATen
将THCThrustAllocator.cuh替换成ATen/cuda/ThrustAllocator.h
用c10::cuda::CUDACachingAllocator::raw_alloc(size)/raw_delete(ptr)替代THCudaMalloc/THCudaFree

  • 示例如下:
- THCState *state = at::globalContext().lazyInitCUDA(); // TODO replace with getTHCState

- mask_dev = (unsigned long long*) THCudaMalloc(state, boxes_num * col_blocks * sizeof(unsigned long long));
+ mask_dev = (unsigned long long*) c10::cuda::CUDACachingAllocator::raw_alloc(boxes_num * col_blocks * sizeof(unsigned long long));

- THCudaFree(state, mask_dev);
+ c10::cuda::CUDACachingAllocator::raw_delete(mask_dev);

3. THCeilDiv被弃用

Migrate remainder of THCDeviceUtils.cuh to ATen
THCeilDiv函数和THC/THCDeviceUtils.cuh头文件被弃用,用at::ceil_div和ATen/ceil_div.h头文件

4.THCudaCheck被弃用

Remove THCGeneral.cpp

- THCudaCheck
+ C10_CUDA_CHECK

5. THCState也不再使用

此问题见2,目前直接删掉相关就可
Migrate THCState to ATen

目前整理以上问题及修改,还有其他相关问题可以到pytorch github issues中查询

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值