【问题标题】:OpenCL Simple "Hello World!" program compiles correctly but spits out garbage when executedOpenCL 简单的“Hello World!”程序编译正确,但执行时会吐出垃圾
【发布时间】:2015-01-24 02:47:04
【问题描述】:

正如标题所示,我从 Fixstar 的在线 OpenCL 书籍 http://www.fixstars.com/en/opencl/book/OpenCLProgrammingBook/first-opencl-program.html 中逐字复制了 hello.clhello.c 文件,但无法获得正确的输出。

我使用编译程序 gcc -lOpenCL hello.c -o hello.

我正常执行 ./hello.

但我的输出内容类似于 ��。

我运行 Arch Linux 并安装了 OpenCL、标头和 NVIDIA 实现。我想继续学习 OpenCL,但如果我的程序无法运行,我就无法继续。有人对正在发生的事情有任何想法吗?此外,如果有人对如何调试有任何建议,我将非常高兴。

编辑:我使用的是 Nouveau 驱动程序而不是 Nvidia 驱动程序。 Nouveau 不支持 OpenCL。这就是问题所在。

【问题讨论】:

  • 您是否已采取所有必要的步骤来确保正确安装? thebigblob.com/getting-started-with-opencl-and-gpu-computing。您是否看过这个旨在在 Arch linux 上运行的特定示例? sublimated.wordpress.com/2010/07/27/…
  • 您的系统上是否有正确运行的教程应用程序?
  • 不,我没有正确运行。我确实相信我正确地完成了安装过程,根据 OpenCL 的wiki.archlinux.org/index.php/GPGPU,我确实看到了您推荐 anathonline 的两个站点(虽然谢谢),但我相信问题可能是这样的:Nvidia implementation is available in额外/opencl-nvidia。它仅支持运行 nvidia 内核模块的 Nvidia GPU(nouveau 尚不支持 OpenCL)。
  • 您应该将其添加为答案并接受它,以便其他人在寻找时可以找到它。哦,除了 OpenCL 之外,还要在您的问题中添加诸如 arch-Linux 之类的适当标签,因为这与此处相关。

标签: opencl archlinux


【解决方案1】:

Nouveau 还不支持 OpenCL。将 nouveau 替换为 nvidia 并检查以确保正确安装了 libcllibcl-headersopencl-nvidia

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-13
    • 1970-01-01
    • 2019-10-05
    • 2012-10-24
    • 1970-01-01
    • 2011-03-21
    相关资源
    最近更新 更多