科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道服务器组件GPU通用计算:ATI向左NVIDIA向右?

GPU通用计算:ATI向左NVIDIA向右?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文历数AMD与NVIDIA最近几代的GPU架构设计,并重点探讨了Fermi架构的设计,或许我们能从中理解两家厂商的不同理念以及他们对未来的发展设想。

来源:驱动之家 2009年12月31日

关键字: NVIDIA Fermi

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共15页)

  12.二代并行线程指令 完整编译环境支持

  Fermi也是首款支持第二代PTX(Parallel Thread eXecution,并行线程执行)指令的GPU架构,PTX是NVIDIA用以支持并行线程处理器的低级虚拟机和ISA(Instruction-Set Architecture),每当程序运行时PTX指令都会通过GPU驱动转变为机器指令。设计PTX主要目的是为了提供一个机器无关的支持C、C++、Fortan等语言的编译器ISA,并能超越GPU架构与核心数目差异而充分发挥GPU性能的编程环境,在G80、GT200发布之时并未见到NVIDIA大张旗鼓地宣传这一指令,而在Fermi架构中,PTX 2.0指令有了明显改进,重要性也不可同日而语。

  PTX 2.0指令提升了可编程性、精确度以及性能,完整支持IEEE 32位浮点精度,所有变量及指针拥有统一寻址空间,支持64位寻址,支持OpenCL与DirectCompute(DX11中的通用计算)新指令,最重要的一点则是统一寻址空间完全支持C++语言。

统一寻址空间不再需要指定具体的寻址位置

  在PTX 1.0中Load/store操作时需要从local、shard以及global三处寻址空间中指定一个,由于C/C++语言中所有变量和函数都是通过指针才能确定的对象中,编译时分离的寻址空间无法确定指针的位置导致不能支持C/C++语言。在PTX 2.0中loca、shard以及global寻址空间得以统一,load/store操作不再需要指定具体寻址空间因而解决了不支持C/C++语言的难题。

  另外PTX 1.0的寻址长度为40-bit,可以支持TB以上的寻址空间,到了PTX 2.0中Load/store操作的寻址长度进一步提升到64-bit,未来的寻址空间要求再高也不会出现寻址空间不够的问题了。

  Fermi架构要想拓宽远大的通用计算之路,良好的编译环境是少不了的。除了NVIDIA自家力推的CUDA之外,NVIDIA的显卡也支持OpenCL、OpenGL、DirectCompute、Python、Fortran、C/C++(CUDA本身就是基于C语言的)等多种编程环境,Fermi还有一个名为Nexus的小插件,安装此插件之后程序员可以在MS VS2008中直接调用GPU资源,甚至不再需要额外的转换。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章