Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MacPro(Firepro D500)时OpenCL的准确性和性能问题_Opencl_Osx Yosemite_Gpgpu_Amd - Fatal编程技术网

使用MacPro(Firepro D500)时OpenCL的准确性和性能问题

使用MacPro(Firepro D500)时OpenCL的准确性和性能问题,opencl,osx-yosemite,gpgpu,amd,Opencl,Osx Yosemite,Gpgpu,Amd,我在多台机器上运行同一个OpenCL内核时遇到了一个奇怪的问题。请参阅下文: OS OpenCL version GPU Output Accuracy LINUX 2.0 AMD-R9 290X Good Mac 1.2 Nvidia GT-750M

我在多台机器上运行同一个OpenCL内核时遇到了一个奇怪的问题。请参阅下文:

 OS                  OpenCL version           GPU            Output Accuracy

LINUX                    2.0             AMD-R9 290X              Good

 Mac                     1.2             Nvidia GT-750M           Good

 Mac                     1.2             AMD Firepro D500        Incorrect 

LINUX                    1.1             Nvidia Tesla K20         Good
我在苹果论坛上发了帖子,收到的唯一回复是我应该禁用快速路径数学。我不会在任何地方启用它

就性能而言,与列表中的其他离散GPU(特斯拉和R9)相比,Firepro上的代码运行速度慢了两倍


有人能告诉我发生了什么事吗?如果需要,我很乐意与大家分享代码


以下是OpenCL内核(一些变量/函数名不正确):

以下是如何从主机调用它:

sentence_length = 1024
num_sentences = 6
count = 0
for(sentence in textfile)
{
     sentences += sentence
     count++ 
     if(count == num_sentences - 1)
         enqueuekernel(sentences)

}
一个句子基本上是一组1024个单词。并行级别是在单词级别。我选择每个字使用128个工作项,因为这允许我在共享内存中保留neu1和neu1e。我尝试了其他组合,比如每个单词一个“layer1_大小”的工作项,或者每个单词一个波前,但这并没有提供很好的性能。即使是现在,性能也不是很好,但它在R9和特斯拉上提供了大约2.8倍的性能(与6核Xeon相比)


如果需要更多细节,请告诉我

由于核心数量和频率的原因,r9-290x的功率是D500的两倍。特斯拉的uArch和你的算法结合起来可能比D500和你的算法更好。“有人能告诉你可能发生了什么吗?如果需要的话,我很乐意分享代码。”——除非我们中间有读心术的人,否则没有人能猜出为什么一台设备会给你不正确的结果。是这样,;告诉我们您已经尝试了什么。@huseyintugrulbuyukisik,正如您从OpenCL内核中看到的,它是内存限制的。Firepro D500的峰值内存带宽为240 GBps,而特斯拉的峰值内存带宽为208 GBps。所以我希望能有更好的表现。