问题标签 [pyopencl]

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.

0 投票
1 回答
133 浏览

python-2.7 - 在 pyopencl 中写入索引数组

嗨,我在 pyopencl 中编写了这段代码以获得稀疏随机向量,但问题是我无法将任何值写入索引数组有什么问题?输出总是零!!

这是我的代码

0 投票
3 回答
6241 浏览

kernel - OpenCL - 为什么使用 READ_ONLY 或 WRITE_ONLY 缓冲区

在中,将缓冲区标记为或OpenCL是否有任何性能优势?READ_ONLYWRITE_ONLY

kernel是我经常看到的(a is READ_ONLYand b is WRITE_ONLY):

kernel似乎更好,因为它使用较少的全局内存(a is READ_WRITE):

READ_ONLYWRITE_ONLY标志只是为了帮助调试和捕获错误而存在吗?

0 投票
0 回答
547 浏览

numpy - 为什么使用 pyopencl.array.Array

PyOpenCL 有两种创建 OpenCL 缓冲区的方法:

pyopencl.Buffer接受一个 numpy 数组并将其转换为缓冲区。

pyopencl.array.Array接受一个 numpy 数组并将其转换为 PyOpenCL 数组 - 一个仍然可以像 numpy 数组一样编辑的对象,但在您调用.data它时会提供一个缓冲区。

选择其中一个是否有性能/功能原因?还是我应该只选择让我的代码更具可读性的那个?

0 投票
0 回答
521 浏览

pyopencl - pyopencl.RuntimeError: clWaitForEvents failed: 等待列表中事件的执行状态错误

每隔一段时间,我就无法继续在我的机器上运行 PyOpenCL。如果我杀死正在使用它的进程,这种情况偶尔会发生。在所有 pyopencl 脚本/内核中,包括我在网上找到的示例,我收到以下错误:

在任何形式的调用之后

或 a = kernel.(queue,gs,ls,...) a.wait()

重新启动我的机器解决了这个问题,但这是一个痛苦的解决方法。有没有人遇到过类似的事情并知道如何重置?

谢谢

0 投票
4 回答
10341 浏览

python - PyOpenCL 入门

我最近发现了 GP-GPU(通用图形处理单元)的强大功能,并希望利用它在单台机器上执行“繁重的”科学和数学计算(否则需要大型 CPU 集群)。

我知道有几个接口可以在 GPU 上运行,其中最突出的是 CUDA 和 OpenCL。后者相对于 CUDA 具有优势,可以在大多数显卡(NVIDIA、AMD、英特尔)上运行,而不是仅在 NVIDA 卡上运行。就我而言,我有一个普通的 Intel 4000 GPU,它似乎与 OpenCL 很好地配合。

现在,我需要学习如何使用 PyOpenCL 来进一步了解它!那么问题来了:

如何开始使用 PyOpenCL?有什么先决条件?我真的需要在 Python 和/或 OpenCL 方面有经验吗?

我的背景是 fortran,事实上,我需要将冗长的 fortran 代码翻译和并行化为主要处理 PDE 和对角化矩阵的 python(或 pyopencl)。

我已经阅读了两个相关网站http://enja.org/2011/02/22/adventures-in-pyopencl-part-1-getting-started-with-python/http://documen.tician.de/ pyopencl/但它们对新手(即傻瓜)并没有真正的帮助。

我只是不知道从什么开始。我并不渴望成为该领域的专家,只是想了解如何在 pyopencl 上并行化简单的数学和线性代数。

非常欢迎任何建议和帮助!

0 投票
1 回答
758 浏览

opencl - 与opencl的累积和

我尝试用 opencl 实现累积和,如下所示:

我使用 pyopencl 调用了这段代码:

但是,前 32 个数字是正确的,之后它们是错误的(太低了)。这与工作组规模有关吗?我该如何解决?

0 投票
2 回答
438 浏览

opencl - 解决 pyopencl 数组偏移限制

有没有办法解决 PyOpenCL 中的限制,即:

失败了

pyopencl.array.ArrayHasOffsetError:您尝试的操作尚不支持从缓冲区开头偏移的数组。

我试过了:

这似乎有时有效,但其他时候我得到:

pyopencl.LogicError:clCreateSubBuffer 失败:值无效

0 投票
2 回答
251 浏览

python - PyOpenCL 是否仅并行化 C++ 代码?

试图学习 PyOpenCL,但我发现的唯一例子是:

http://enja.org/2010/07/13/adventures-in-opencl-part-1-getting-started/

这似乎并行化了一个 C++ 脚本,用引号括起来。我找不到任何明确的答案。这里有没有人使用过 PyOpenCL 来加速 python 代码,或者它只用于 C++?

0 投票
0 回答
139 浏览

python - 调用 pyopencl.get_platforms() 时 Python 崩溃

我不能打电话pyopencl.get_platforms().create_some_context()没有 python 崩溃。转储文件中的异常是“威胁试图读取或写入它没有适当访问权限的虚拟地址”

有任何想法吗?

规格:Windows 7 64 Python 2.7.3 Cuda 5.5

0 投票
1 回答
373 浏览

opencl - 使用 PyOpenCL 的 argmin/argmax

我将如何使用 PyOpenCL 编写 argmin 或 argmax?我想我需要计算每个工作组的 argmin/min,然后使用后续调用来减少这些。