首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用HIP C++的AMD上使用“What”操作的要求是什么?

在使用HIP C++的AMD上使用“What”操作的要求是什么?
EN

Stack Overflow用户
提问于 2017-02-26 13:16:27
回答 1查看 472关注 0票数 1

AMD HIP C++,非常类似于CUDA C++。此外,AMD还创建了Hipify,将CUDA C++转换为HIP C++ (便携式C++代码),该代码可以在nVidia GPU和AMD:https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP上执行。

对nvidia的要求 使用此应用程序时,请确保您有一个3.0或更高版本的设备,以便使用warp操作,并在Makefile中添加-gencode arch=compute=30、code=sm_30 nvcc标志。

此外,HIP还定义了可移植的查询体系结构特性的机制,并支持更大的64位波形大小的,它将交叉车道函数的返回类型从32位ints扩展到64位ints。

但是,哪个AMD支持shfl功能,或者哪个AMD支持shfl,因为它是在AMD上使用本地内存实现的,没有硬件指令寄存器到寄存器?

nVidia GPU需要3.0或更高的计算能力(CUDA CC),但是使用HIP C++在AMD上使用shfl操作有什么要求?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-02 17:58:49

  1. ,在GPU GCN3 (如ds_bpermuteds_permute )中有新的指令,可以提供__shfl()等功能。
  2. 这些ds_bpermuteds_permute指令只使用本地内存路由(LDS8.6TB/s),但实际上不使用本地内存,这允许加快线程之间的数据交换:8.6TB/s<<51.6TB/s:http://gpuopen.com/amd-gcn-assembly-cross-lane-operations/

他们使用LDS硬件在波前的64车道之间路由数据,但实际上并不写入LDS位置。

  1. 此外,还有一些数据--并行基元(DPP) --当您可以使用它时,它特别强大,因为op可以直接读取相邻工作项的寄存器。也就是说,DPP可以全速访问相邻线程(工作项)~51.6tb/s。

http://gpuopen.com/amd-gcn-assembly-cross-lane-operations/

现在,大多数矢量指令都可以在完全吞吐量的情况下进行跨车道读取.

例如,wave_shr-instruction (波前右移)用于扫描算法

更多关于GCN3:Architecture.pdf的信息

新指令

  • “SDWA”-子Dword寻址允许访问VGPR的字节和字的值指令。
  • “DPP”--数据并行处理允许价值指令从相邻车道访问数据。
  • DS_PERMUTE_RTN_B32,DS_BPERMPUTE_RTN_B32.

..。

DS_PERMUTE_B32向前变换。不编写任何LDS内存。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42468984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档