【发布时间】:2012-12-23 08:08:27
【问题描述】:
我有一些使用多个大型 MEX 函数的 matlab 代码,我想通过使用 openCL 来加快速度(我正在使用 openCL API 将 MEX 函数的部分代码替换为 openCL 代码)。我已经将一小部分代码翻译成一个 openCL 内核,但我已经遇到了困难。
在GPU上执行后得到的矩阵的某些元素与调用原始MEX函数时得到的矩阵的对应元素不同,误差小于0.01。这会导致最终结果出现小错误,但我担心随着我翻译更多代码,错误会累积。
这可能与 CPU 和 GPU 的计算精度不同有关。有谁知道如何确保相同的精度?我在 Ubuntu 12.04 上运行 64 位 matlab R2012b。我使用的硬件是 Intel Core2 Duo E4700 和 NVIDIA GeForce GT 520。
【问题讨论】: