AMD向左NVIDIA向右?从Fermi架构看GPU发展
  • 紫竹
  • 2009年12月30日 10:33
  • 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 | 收藏0