【问题标题】:pyOpenCL build program failure on GPUGPU上的py​​OpenCL构建程序失败
【发布时间】:2014-04-18 19:38:32
【问题描述】:

我有一个可以在我的笔记本电脑 CPU (i5-3427U) 上完美运行的内核。我现在正试图让它在内置 GPU (HD 4000) 上运行。

完整的错误是here,但我无法理解。现在(在我看来)奇怪的部分是以下内容无法构建:

unsigned int dist_histogram[n_bins];
for (i = 0; i < n_bins; i++) {
    dist_histogram[i] = 0;
}

for (i = 0; i < n_bins; i++) {
    atomic_add(&g_r[i], dist_histogram[i]);
}

但这会构建并运行:

unsigned int dist_histogram[n_bins];
for (i = 0; i < n_bins; i++) {
    dist_histogram[i] = 0;
    atomic_add(&g_r[i], dist_histogram[i]);
}

这是怎么回事?

完整内核已粘贴here。操作系统是 64 位 OS X 10.9.2。我没有成功地尝试以其他方式弄乱底部的 3 个循环。该问题似乎与访问 distances 中的任何内容或调整 dist_histogram 中的值有关,但我不明白为什么我发布的第一个示例无法构建。

【问题讨论】:

    标签: gpu pyopencl


    【解决方案1】:

    鉴于构建日志的性质以及相同的代码在其他设备上构建得很好,这几乎可以肯定是 Apple 的 OpenCL 实现的一个错误。他们针对英特尔集成显卡家族的 OpenCL 实现还相当不成熟,很多人都发现了各种问题(包括我自己)。

    我建议生成一个重现问题的最小代码示例并使用Apple Bug Reporter 报告它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-19
      • 2013-12-19
      • 2022-06-12
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多