基于GPU FFT2差异(不同于CPU的FFT2)

2视图(30天)
你好,我注意到一个问题,Matlab FFT2不会产生相同的结果在GPU数组是“正常”的数组。
使用下面的代码,以确保我的观察是正确的。
totalDiff = 0;
循环= 0:10000
一个=兰德(2 [2]);%获得随机数
cpuResult = fft2(一个);%计算CPU上
gpuResult =收集(fft2 (gpuArray (a)));%在GPU计算
diff =总和(gpuResult (:)——cpuResult (:));%计算差异
totalDiff = totalDiff +差异;%的累计差异
结束
totalDiff / 10000%输出平均每变换矩阵
我很欣赏任何反馈关于这个问题:为什么这改变的结果被观察到,它可以最小化或删除吗?尽管这些值不是非常不同(不同1 e-17左右),我仍然想确保我的GPU和CPU之间完全平等的代码。
注:fft也改变结果基于设备用于计算;但是,对于我的系统,矩阵必须大于4 x 4观察不同。

接受的答案

本Tordoff
本Tordoff 2013年10月22日
1评论
凯文空白
凯文空白 2013年10月22日
谢谢你,这个答案是完美的,我很抱歉我搜索永远不会发现它。

登录置评。

更多的答案(0)

类别

找到更多的在GPU计算帮助中心文件交换

标签

下载188bet金宝搏

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!