所有GPU是否都使用相同的体系结构?

路卡斯

我在nVIDIA CUDA上有一些经验,现在也在考虑学习openCL。我希望能够在任何GPU上运行我的程序。我的问题是:每个GPU是否都使用与nVIDIA相同的架构(多处理器,SIMT结构,全局内存,本地内存,寄存器,现金等)?

非常感谢你!

布鲁斯·迪恩

从您设定的目标开始:

“我希望能够在任何GPU上运行我的程序。”

然后,是的,您应该学习OpenCL。

为了回答您的总体问题,其他GPU供应商确实使用了与Nvidia GPU不同的体系结构。实际上,单个供应商提供的GPU设计可能会有所不同,具体取决于型号。

这是一个给定的OpenCL代码在一个GPU和另一个GPU的性能可能完全不同(取决于您的性能指标)的原因之一。实际上,为了在任何GPU上实现最佳性能,应通过更改(例如)本地内存大小来“分析”算法,以找到给定硬件设计的最佳算法设置。

但是,即使存在这些硬件差异,OpenCL的目标仍是提供所有设备(CPU,GPU,FPGA等)支持的一定级别的核心功能,并包括允许厂商提供独特硬件功能的“扩展”。尽管OpenCL不能掩盖硬件上的重大差异,但可以保证可移植性。这使开发人员更容易从针对一个设备调整的OpenCL程序开始,然后开发针对另一种体系结构优化的程序。

为了使识别硬件差异更加复杂,CUDA使用的术语与OpenCL使用的术语不同,例如,以下含义大致相同:

CUDA:OpenCL: 
线程工作项
线程块工作组
全局内存全局内存
恒定内存恒定内存
共享内存本地内存
本地内存私有内存

在这里可以找到更多的比较和讨论

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否有任何CPU体系结构都使用元数据?

来自分类Dev

所有GPU是否都使用相同的架构?

来自分类Dev

QEMU是否使用Tiny Code Generator,甚至主机和目标(来宾)都是相同的体系结构?

来自分类Dev

是否有没有使用二进制补码表示负值的体系结构?

来自分类Dev

如何为所有依赖于使用cocoapods添加的其他框架的体系结构构建可可触摸框架?

来自分类Dev

所有证书都使用相同的certSigningRequest吗?

来自分类Dev

静态链接的c ++二进制文件是否可以在具有相同体系结构的每个系统上工作?

来自分类Dev

使用WCF的面向服务的体系结构

来自分类Dev

使用消息队列的项目体系结构

来自分类Dev

使用GitHub是否需要所有文件结构相同?

来自分类Dev

编译适用于所有体系结构的PJSIP 2.5库

来自分类Dev

如何从Debian安装中删除所有i386体系结构软件包?

来自分类Dev

如何列出针对特定体系结构安装的所有软件包?

来自分类Dev

汇编语言在一种体系结构与另一种体系结构之间是否有所不同?

来自分类Dev

是否有专门用于业务逻辑层的JavaEE体系结构?

来自分类Dev

是否有LLVM的替代库,用于为体系结构特定代码编译特定的IR?

来自分类Dev

如何检查是否所有图片都使用jquery下载?

来自分类Dev

如何检查是否所有图片都使用jquery下载?

来自分类Dev

带有控制器的体系结构的名称,而非MVC的体系结构的名称

来自分类Dev

是否应使用条件编译来解决不同体系结构上CGFloat的差异?

来自分类Dev

是否应使用条件编译来应对不同体系结构上CGFloat的差异?

来自分类Dev

Windows 8 / 8.1上的Modern IE10 / 11是否使用多进程体系结构?

来自分类Dev

如果使用dpkg -l表示已在所有体系结构中安装,如何检查软件包的安装版本?

来自分类Dev

是否可以在具有WebAPI服务的三层体系结构的SQL Server数据库中使用Windows身份验证?

来自分类Dev

如何使用仅具有数字输出的批处理查找OS体系结构?

来自分类Dev

来自lscpu的此CPU体系结构信息是否正常?

来自分类Dev

计算机BIOS是否特定于体系结构

来自分类Dev

在子接口中声明具有相同声明的通用方法的体系结构重要性是什么

来自分类Dev

为什么相同的gcc编译选项在不同的计算机体系结构上会有不同的表现?

Related 相关文章

  1. 1

    是否有任何CPU体系结构都使用元数据?

  2. 2

    所有GPU是否都使用相同的架构?

  3. 3

    QEMU是否使用Tiny Code Generator,甚至主机和目标(来宾)都是相同的体系结构?

  4. 4

    是否有没有使用二进制补码表示负值的体系结构?

  5. 5

    如何为所有依赖于使用cocoapods添加的其他框架的体系结构构建可可触摸框架?

  6. 6

    所有证书都使用相同的certSigningRequest吗?

  7. 7

    静态链接的c ++二进制文件是否可以在具有相同体系结构的每个系统上工作?

  8. 8

    使用WCF的面向服务的体系结构

  9. 9

    使用消息队列的项目体系结构

  10. 10

    使用GitHub是否需要所有文件结构相同?

  11. 11

    编译适用于所有体系结构的PJSIP 2.5库

  12. 12

    如何从Debian安装中删除所有i386体系结构软件包?

  13. 13

    如何列出针对特定体系结构安装的所有软件包?

  14. 14

    汇编语言在一种体系结构与另一种体系结构之间是否有所不同?

  15. 15

    是否有专门用于业务逻辑层的JavaEE体系结构?

  16. 16

    是否有LLVM的替代库,用于为体系结构特定代码编译特定的IR?

  17. 17

    如何检查是否所有图片都使用jquery下载?

  18. 18

    如何检查是否所有图片都使用jquery下载?

  19. 19

    带有控制器的体系结构的名称,而非MVC的体系结构的名称

  20. 20

    是否应使用条件编译来解决不同体系结构上CGFloat的差异?

  21. 21

    是否应使用条件编译来应对不同体系结构上CGFloat的差异?

  22. 22

    Windows 8 / 8.1上的Modern IE10 / 11是否使用多进程体系结构?

  23. 23

    如果使用dpkg -l表示已在所有体系结构中安装,如何检查软件包的安装版本?

  24. 24

    是否可以在具有WebAPI服务的三层体系结构的SQL Server数据库中使用Windows身份验证?

  25. 25

    如何使用仅具有数字输出的批处理查找OS体系结构?

  26. 26

    来自lscpu的此CPU体系结构信息是否正常?

  27. 27

    计算机BIOS是否特定于体系结构

  28. 28

    在子接口中声明具有相同声明的通用方法的体系结构重要性是什么

  29. 29

    为什么相同的gcc编译选项在不同的计算机体系结构上会有不同的表现?

热门标签

归档