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

时间:2015-09-14 18:51:02

标签: 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           Good

 Mac                     1.2             AMD Firepro D500        Incorrect 

LINUX                    1.1             Nvidia Tesla K20         Good

我发布在Apple论坛上,我收到的唯一回复是我应该禁用快速路径数学。我没有在任何地方启用它。

就性能而言,与列表中的其他独立GPU(Tesla和R9)相比,Firepro上的代码运行速度慢两倍。

有人可以告诉可能会发生什么吗?如果需要,我很乐意分享这些代码。

这是OpenCL内核(某些变量/函数名称不合适):http://pastebin.com/Kt4TinXt

以下是从主持人那里调用它的方式:

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_size'每个单词的工作项目,或每个单词1个波前,但这根本没有提供良好的性能。即使是现在,性能也不是那么好,但它在R9和特斯拉上给了我大约2.8倍(与6核Xeon相比)。

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

0 个答案:

没有答案