论坛
BBS
会员中心
Space
用户
登录
用户名
Email
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
本版
帖子
用户
本版
帖子
用户
CUDA
技术
工具
资源
入门
社区
论坛
开启辅助访问
切换到宽版
好友
帖子
收藏
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
论坛
›
加速计算
›
CUDA
›
查看内容
发表新帖
查看:
4690
|
回复:
0
在一个GPU上同时运行MemcpyPtoP和一个计算kernel
勾勾
勾勾
当前离线
勾勾
初入江湖
|
显示全部楼层
|
阅读模式
1
#
电梯直达
发表于 2021-4-26 11:42:14
4690
0
我有两块GPU,并在这两块GPU上开启一个异步的数据传输(cudaDeviceEnablePeerAccess()),同时多次运行一个自定义的kernel。然后发生了一个意外的现象:这两个操作可以并行,但是在这两个操作重叠的时候,两个自定义kernel间的间隔变大了。如下图。
我是在第二个设备上的stream启动的cudaDeviceEnablePeerAccess(),所以第二个设备出现了这个现象。
如果我在第一个设备上的stream启动的cudaDeviceEnablePeerAccess(),则第一个设备出现这个现象,第二个设备正常。
如果我在第三个设备上的stream启动的cudaDeviceEnablePeerAccess(),则设备1和设备2都不会出现这个现象。
因此我怀疑是同一个GPU上不同stream间的相互影响导致的这个问题,有人知道究竟为什么会出现这个情况吗,以及要怎么解决呢。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
x
使用道具
举报
回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
发表回复