正文内容 评论(0)
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资源,甚至不再需要额外的转换。
本文收录在
#快讯
- 热门文章
- 换一波
- 好物推荐
- 换一波
- 关注我们
-
微博:快科技官方
快科技官方微博 -
今日头条:快科技
带来硬件软件、手机数码最快资讯! -
抖音:kkjcn
科技快讯、手机开箱、产品体验、应用推荐...