首页 Paddle框架 帖子详情
c++ 自定义算子开发中 如何确认核函数已经执行完成? (cuda流/同步异步)
收藏
快速回复
Paddle框架 问答学习资料 658 1
c++ 自定义算子开发中 如何确认核函数已经执行完成? (cuda流/同步异步)
收藏
快速回复
Paddle框架 问答学习资料 658 1

我在使用paddle开发自定义C算子时,碰到一些问题。

官网 文档->使用指南->自定义算子->自定义c++算子中 核函数启动方式为:

.........

PD_DISPATCH_FLOATING_TYPES( out.type(), "relu_cuda_backward_kernel", ([&] {
relu_cuda_backward_kernel<<>>(
grad_out.data(),out.data(),grad_x.data(),numel);}));

........

1.这里的  x.stream() 是指每一个tensor对象里都有一个cuda流吗,为什么反向传播函数的核函数也是 写的 x.stream()?

2.我想使用提供的c++api,我怎么确认使用时,cuda核函数执行完了呢?

3.我的自定义算子可能需要执行多次自定义核函数,是否应该使用同样的 "x.stream()"?

这些都是关于paddle框架中cuda流的问题,我尽力找过了相关资料,但都没有提到cuda流或者同步的问题.我应该在哪能找到相关文档?

0
收藏
回复
全部评论(1)
时间顺序
4
4512jjp
#2 回复于2022-10

更新一下,发现所有的  tensor.stream() 都是同一个地址,是不是说所有的核函数都共用一个流?不知道有没有官方文档说明一下这个问题

1
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户