双精度浮点计算在GPU高性能计算中的重要性我就不说了。这个不是可以有,是必须有。
CUDA在GPU计算可以说是风头尽显,全世界有200多所大学在教CUDA。遗憾的是CUDA是NVIDIA的显示卡的专利,别人不可以。随着微软DX11的推出,去年AMD推出了支持DX11 ComputeShader5 的ATI5000系列显卡。随后NVIDIA也推出了支持DX11的480/470系列显卡。微软据说也计划将GPU计算命名为Direct Compute。尝试ATI GPU计算的念头冒了出来,说干就干,于是就开始了下面的尝试之旅。DX11需要Win7,首先弄了个AMD955的机子,显示卡用的ATI5750,Win7 装好,一切正常。接下来安装了DX11 SDK,使用Compute Shader 5做了一些实验,貌似一切正常。后来发现不能进行双精度浮点运算,一查资料,ATI5750不支持双精度浮点运算。没办法,又弄来一块 ATI的5850,重复上述实验,问题又出现了。先是有双精度计算的表达式的HLSL语句里面如果有除法,编译的时候就被明确告知双精度不能进行除法计算,我晕,没有除法那还叫双精度计算了?更离奇的还在后面,
double x= Buffer0[DTid.x].x;
double y= Buffer0[DTid.x].y;
BufferOut[DTid.x].lon = x*0.01745329251994;
BufferOut[DTid.x].lat = y*0.01745329251994;
x、y无论是什么值,BufferOut里面输出结果一律是0,如果
float x;
float y;
就能得到正确的结果,这不就是说根本就不支持双精度浮点运算么?看起来这是DX11 ComputeShader5的问题,HLSL语言的问题,这帐不应该记在AMD头上吧?或者说ComputeShader5不完善,有待进一步发展吧。等微软继续完善Direct Compute还是随大流上CUDA? 如果是你,你怎么选?大家多发点意见。同时征询有关DirectX、GPU计算以及相关硬件、软件方面信息,来者有分。另:http://topic.csdn.net/u/20100407/03/1c246b75-45d7-4ddc-9243-c67f58768571.html 这个麻烦哪位帮我顶上来,我连续回了3次不让回了,没几个人回的200分的贴呢,有分奖励。 呵呵 :)
CUDA在GPU计算可以说是风头尽显,全世界有200多所大学在教CUDA。遗憾的是CUDA是NVIDIA的显示卡的专利,别人不可以。随着微软DX11的推出,去年AMD推出了支持DX11 ComputeShader5 的ATI5000系列显卡。随后NVIDIA也推出了支持DX11的480/470系列显卡。微软据说也计划将GPU计算命名为Direct Compute。尝试ATI GPU计算的念头冒了出来,说干就干,于是就开始了下面的尝试之旅。DX11需要Win7,首先弄了个AMD955的机子,显示卡用的ATI5750,Win7 装好,一切正常。接下来安装了DX11 SDK,使用Compute Shader 5做了一些实验,貌似一切正常。后来发现不能进行双精度浮点运算,一查资料,ATI5750不支持双精度浮点运算。没办法,又弄来一块 ATI的5850,重复上述实验,问题又出现了。先是有双精度计算的表达式的HLSL语句里面如果有除法,编译的时候就被明确告知双精度不能进行除法计算,我晕,没有除法那还叫双精度计算了?更离奇的还在后面,
double x= Buffer0[DTid.x].x;
double y= Buffer0[DTid.x].y;
BufferOut[DTid.x].lon = x*0.01745329251994;
BufferOut[DTid.x].lat = y*0.01745329251994;
x、y无论是什么值,BufferOut里面输出结果一律是0,如果
float x;
float y;
就能得到正确的结果,这不就是说根本就不支持双精度浮点运算么?看起来这是DX11 ComputeShader5的问题,HLSL语言的问题,这帐不应该记在AMD头上吧?或者说ComputeShader5不完善,有待进一步发展吧。等微软继续完善Direct Compute还是随大流上CUDA? 如果是你,你怎么选?大家多发点意见。同时征询有关DirectX、GPU计算以及相关硬件、软件方面信息,来者有分。另:http://topic.csdn.net/u/20100407/03/1c246b75-45d7-4ddc-9243-c67f58768571.html 这个麻烦哪位帮我顶上来,我连续回了3次不让回了,没几个人回的200分的贴呢,有分奖励。 呵呵 :)
解决方案 »
- 请问怎么在vs2008 console application中添加.lib库
- 求助。void CMainFrame::OnClose(),如何关闭 CHtmlView的m_wndBrowser?只关闭窗口,没关闭m_wndBrowser,再打开就出现JS错误。
- 怎样使CMainFrame右上角的关闭按钮无效?
- 对话框中加载SOCKET的问题
- 紧急求助:vc中如何求两个__int64相除所得的商和余数
- 100分问题:如何按照创建的时间顺序列出目录内的文件
- 求算法,帮帮忙了!
- 怎样调试动态链接库?
- 感觉VC的编译器设置如此重要,重金向大家寻求有没有详细讲解VC中编译器设置的书!!!
- 这个问题好奇怪啊!
- Putcollect 是否类型
- ?■■那些把视频生成EXE 的软件是怎么做的?
我看网上说HD5000系列不是针对DX11设计的显卡,Geforce400系列才是。
DX11是微软发明的,AMD和NVIDIA是根据微软设计的API来设计硬件,所以问题不会出在微软的DX11身上吧。