正文内容 评论(0

AMD向左NVIDIA向右?从Fermi架构看GPU发展
2009-12-30 10:33:51  出处:快科技 作者:紫竹 编辑:紫竹     评论(0)点击可以复制本篇文章的标题和链接
[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++语言。

AMD向左NVIDIA向右? 从Fermi架构看GPU发展
统一寻址空间不再需要指定具体的寻址位置

在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资源,甚至不再需要额外的转换。

AMD向左NVIDIA向右? 从Fermi架构看GPU发展
Nexus插件可以让程序员在MS2008中访问GPU资源

责任编辑:

  • 支持打赏
  • 支持0

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |
本文收录在
#快讯

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...