双精度浮点运算的4个要点 NVIDIA公司将会根据CUDA和G80架构,抓住在high-performance处理(HPC)上成功的机会。
对于NVIDIA公司来说,对双精度浮点运算提供支持将会是不可或缺的要素。
因为基于HPC的应用软件必须要支持双精度运算。
因此可以说适合GPU处理的Tesla系列产品,双精度计算功能将会是关键。
NVIDIA在强调必要性时表示“到现在为止,双精度的难点在于还无法移植更多的应用软件。
不过问题是现在的图形运算,根本不需要高于单精度(32-bit)以上的浮点运算。
因此到目前为止还没有实现GPU单精度演算单元以外的支持,比如GPU的双精度运算。
这里有几点疑问: (1)基于IEEE 754。
这个是是否成为通用应用软件的重要分歧点。
(2)双精度的实现方式和性能。
(3)单精度和双精度的性能比率。
(4)实现成本 ●IEEE 754特性介绍 (1)至于IEEE 754,根据NVIDIA公司的介绍列出了下面有关双精度运算和单精度的运算名单。
这里NVIDIA强调了其大体上基于的是IEEE 754。
特别是Intel SSE和Cell Broadband Engine(Cell B.E.)与其他的SIMD浮点运算架构相比,在IEEE 754上的支持上差不多处于相同的水准。
NVIDIA公司是倾向于IEEE 754,但是为了保证GPU的双精度运算性能则没有基于IEEE 754标准。
对此NVIDIA公司表示“我们将会尽量提供最广的支持,不过『Flag』是例外。
至于原因,是因为Flag是浮点运算处理器,是与整数运算分离的CPU产品时代的遗物。
浮点处理器需要CPU在最后处理才会进行flag处理。
因此NVIDIA公司的Sumit Gupta先生则认为整数运算和浮点运算单片设计的架构已经失去了作用。
GT200是在最高速度下运行,但是不支持Flag,而另一方面CPU也在低速处理“Denormal handling”。
至于NVIDIA公司双精度运算单元是否实用,则需要通过应用软件来进行判断。
不过目前开发商们表示应用基本没有问题 几个图片你看下:。