问题标签 [opencl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何安装和运行QtOpenCl的例子,即OpenCl中的Qt?
问题是我必须运行 OpenCl 示例,如下所示:http://labs.trolltech.com/blogs/2010/04/07/using-opencl-with-qt/。
问题是我不知道从哪里开始。我下载了 QtOpenCl 的源代码,但它需要有效的 OpenCl 安装。我已经安装了 Qt。
如何安装 OpenCl?不幸的是,我家里没有 GPU,现在需要在我的 CPU 上实现它。稍后我必须做一个演示,在那里我将获得一个带有 GPU 的系统。我该如何安装 OpenCl?
opencl - 无法使用 NVidia Visual Profiler 分析 OpenCL 代码
我有一个 OpenCL 代码,它添加两个数组并打印输出。我想使用 CUDA Toolkit 3.0 附带的 NVidia Visual Profiler 来分析这个程序。我选择了适当的程序(.exe)来配置文件和程序目录。分析器成功运行代码,但无法生成分析结果。它给出了错误“在 CSV 文件中找到空标题”。这可能是什么问题?是否有必要使用 NVidia 的 CUDA 编译器构建代码才能进行分析?请在这方面帮助我。
谢谢,拉克什 K。
c++ - QtOpenCl“未定义引用”出错
所以我下载了 ATI Stream SDK。我现在没有 gpu,所以我使用“-device cpu”并通过将目录添加到 LD_LIBRARY_PATH 等来使 OpenCl 目录中的程序/示例正常工作。
现在问题出在安装 QtOpenCl 时。
配置脚本给了我:
Make给我:
使用“-no-openclgl”进行了尝试,但没有一个示例等被编译。
我正在使用从突触安装的 Qt 使用 ubuntu 10.04。
visual-studio - 关闭 *.cl、*.cu 和 *.cuh 的 VisualAssist
如何在 Visual Studio 2010 中定义受 VisualAssist 影响的文件类型?
例如,我不喜欢这个工具如何处理 openCL 和 cuda 文件,因此我想为这些文件类型关闭它(否则它会突出显示 1000 个错误)。
macos - 如何在 Mac OS X 10.6 上使用 OpenCL 1.1?
OpenCL 1.0 附带适用于 Mac OS X 10.6 的 nVidia 驱动程序。我想知道是否/如何更新头文件以利用 OpenCL 1.1 API。非常感谢提前。
c++ - 使用调试信息编译 OpenCL 内核?
如何使用调试信息编译 opencl 内核?如果我这样做喜欢听到调试
[常量字符*选项=“-g”;
clBuildProgram(*hProgram, 0, 0, options,NULL,NULL);]:
我收到以下错误:
clang:未知的命令行参数“-g”。尝试:'clang --help'
visual-studio-2010 - 为 OpenCL 设置 VisualStudio 2010 的正确方法
设置 VisualStuio 2010 以处理 *.cl 文件的正确方法是什么?我在工具/文本编辑器/文件扩展名下添加了 *.cl 并将 usertype.dat 复制到 common7/ide 文件夹中,但是 VS 强调了诸如 float4 或 cross 之类的关键字。
是否有必要在注册表中添加一些键或者有人可以提出一个教程?
提前致谢。
PS我已经问过类似的问题老一个问题,但现在我正在寻找使用vs2010的解决方案。这还不错,但确实让我很紧张并使我偏离了编程任务。
memory-management - OpenCL 的问题
我遇到了 OpenCL 的问题,我希望有人能提示可能是什么原因。以下是该程序的一个版本,减少了问题。我有一个大小为 4000 的输入 int 数组。在我的内核中,我正在进行扫描。显然,有很好的方法可以并行执行此操作,但要重现该问题,只有一个线程在执行整个计算。在扫描之前,输入 (result_mask) 只有值 0 或 1。
预期的结果将是最初具有不同于 0 的值且结果掩码中只有 5 的元素的数量。然而,事实并非如此。输出如下所示:
大约在某个地方后,我得到了这个 80 个元素的块。3200 个元素。它并不总是相同的位置,但它总是相同数量的元素 - 80。它变得更加奇怪 - 如果我将第一行更改为 if(gid == 2000) 问题就消失了。但是,在玩弄了线程 id 之后,我得出的结论是问题并没有消失,它只是移动了。使用线程 1425,我得到了一半的问题,当我得到它时,错误块位于数组的末尾。因此我假设,当我没有 0 和 1 时,该块已经“移动”得更远了。更令人兴奋的是——当我将输入大小增加到 5000 时,输出完全由 0 组成。此外,以下代码将不起作用:
而只有
将起作用(同样,可能有更大的输入,它可能不起作用)。以下是该设备的一些详细信息:
显然,我在这里错过了一些大事。我的第一个想法是这是一些内存冲突,其中 80 个元素的块被另一个“线程”覆盖。但我想得越多,它就越没有意义。
我将非常感谢任何提示!谢谢。
编辑:很抱歉回复晚了。所以我修改了代码,将其减少到最低限度以重现问题。以下是程序的c代码:
结果仍然是不确定的,我在输出中的随机位置得到 0 和 1。对于大小为 1 的本地工作组,它们位于数组的前半部分,大小为 2 - 在后半部分,大小为 4 的 200 个元素看起来不错,但对于一个问题大小为 400。此外,对于 1 的全局工作组大小,一切正常。也就是说,如果我使用两个内核 - 一个执行全局工作组大小为 [问题大小] 的并行计算,另一个执行全局工作组大小为 1 的并行计算,一切都很好。同样,我完全清楚这不是这样做的方法(运行这种顺序代码的内核),但是,我想知道为什么它不起作用,因为它看起来我错过了一些东西。
谢谢,瓦西尔
build - 从二进制文件构建 OpenCL 程序
我正在尝试测试从预编译的二进制文件构建程序的 OpenCL 功能。到目前为止,我已经设法创建了二进制文件,但我无法加载它。我正在尝试调整此代码以与 C++ 绑定一起使用:
任何人都可以帮我解决这个问题,或者建议一个我可以解决的链接(我需要使用 C++ 绑定)?
提前致谢!
matrix - 全局工作规模是否需要是 OpenCL 中工作组规模的倍数?
您好:在 OpenCL 中,全局工作大小(维度)是否需要是工作组大小(维度)的倍数?
如果是这样,是否有处理矩阵而不是工作组维度的倍数的标准方法?我能想到两种可能:
将工作组维度的大小动态设置为全局工作维度的一个因子。(这会产生寻找因素的开销,并可能将工作组设置为非最佳大小。)
将全局工作的维度增加到工作组维度的最接近倍数,保持所有输入和输出缓冲区相同,但检查内核中的边界以避免段错误,即对超出所需输出范围的工作项不做任何事情. (这似乎是更好的方法。)
第二种方法可行吗?有没有更好的办法?(或者因为工作组维度不需要划分全局工作维度,所以没有必要?)
谢谢!