【问题标题】:OpenCL code on Nvidia GEFORCE using Visual Studio 2010使用 Visual Studio 2010 在 Nvidia GEFORCE 上的 OpenCL 代码
【发布时间】:2014-07-25 01:55:53
【问题描述】:

我是 OpenCL 新手,我一直在尝试在 Nvidia 上测试运行 OpenCL 代码。我已经安装了 CUDA 6.0 工具包,并在 Visual Studio 2010 中添加了 .cu 和 .cl 扩展名。我在项目属性的 Linker 选项卡中包含了 OpenCL.lib。我已经在 Visual Studio 2010 中包含了所需的库。但是,当我编译我的代码时,我收到一个错误“nvcc:致命错误:不知道如何处理 matvec.cl”。有人可以对这个问题有所了解。在过去的两天里,我一直在做这件事。之前有相关的问题,但是没有一个问题的回复,这里是链接: Cannot run OpenCL on an NVIDIA Card ( 'CL/cl_platform.h': No such file or directory) 另一个回复中的链接由于某种原因不起作用,这是链接: How to configure OpenCL in visual studio2010 for nvidia's gpu on windows? 如果有人也可以提供此问题的链接,将不胜感激。提前谢谢。

【问题讨论】:

    标签: parallel-processing opencl gpu nvidia


    【解决方案1】:

    您似乎已将 Visual Studio 配置为使用 nvcc 编译 .cl 文件。这是您应该对 CUDA 文件 (.cu) 执行的操作,但 OpenCL 内核源代码是在运行时编译的,不应在应用程序构建时由任何东西编译。只需删除此配置选项,您就可以开始使用了。

    可能想要对.cl 文件做的一件事是将它们自动复制到应用程序二进制目录中,以便应用程序在需要加载它们时可以轻松找到它们。这只是一个偏好问题。

    【讨论】:

    • 感谢您的回复。阅读您的答案后,我为我的 matvec.cl 文件选择了属性选项,并为 itemtype 选择了“不参与构建”选项,这是否正确。很抱歉,您能否详细说明如何为我的“matvec.cl”文件删除此配置选项。
    • @Steve 是的,这个选项听起来是正确的——只要 Visual Studio 不尝试编译文件,你应该没问题。
    • 感谢您的及时答复。还有一个问题,我正在尝试编译一个矩阵向量乘法程序。如果我运行程序,它会显示“矩阵向量乘法不成功”。您能否提及需要包含在 Visual Studio 中以处理 OpenCL 代码的确切库。
    • @Steve 如果程序完全运行,那么您拥有正确的库配置。该错误消息过于模糊,无法诊断问题 - 任何给定的 OpenCL 失败都有大量潜在原因。您需要尝试找出该错误的来源(例如,哪个 OpenCL 函数调用失败)。如果您发布一些代码或指向您正在尝试的示例的链接(可能是在一个新问题中?),我们也许可以提供帮助。
    • 谢谢。我会再试一次,看看问题是否可以解决,否则我将发布一个带有代码的新问题以及问题。再次感谢您的帮助,Jprice。
    猜你喜欢
    • 2012-03-17
    • 2017-08-07
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    相关资源
    最近更新 更多