微凉的衣柜 2021-05-25 00:10 采纳率: 63.9%
浏览 29
已结题

如何使用 packed_accessor64 访问tensor上的数据?

参考了https://blog.csdn.net/weixin_43742643/article/details/116307036

和官方文档https://pytorch.org/cppdocs/notes/tensor_basics.html的访问cuda上tensor的代码,还是没有跑通:

__global__ void packed_accessor_kernel(
    PackedTensorAccessor64<float, 2> foo,
    float* trace) {
  int i=threadIdx.x
  gpuAtomicAdd(trace, foo[i][i])
}
 
torch::Tensor foo = torch::rand({12, 12});
 
// assert foo is 2-dimensional and holds floats.
auto foo_a = foo.packed_accessor64<float,2>();
float trace = 0;
 
packed_accessor_kernel<<<1, 12>>>(foo_a, &trace);

有没有哪位大佬跑通了这段代码,麻烦给个示例,谢谢了!

  • 写回答

1条回答 默认 最新

  • 微凉的衣柜 2021-09-07 16:47
    关注

    这段代码是cuda编程的代码。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日