问题标签 [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.
python-2.7 - 在 pyopencl 中写入索引数组
嗨,我在 pyopencl 中编写了这段代码以获得稀疏随机向量,但问题是我无法将任何值写入索引数组有什么问题?输出总是零!!
这是我的代码
kernel - OpenCL - 为什么使用 READ_ONLY 或 WRITE_ONLY 缓冲区
在中,将缓冲区标记为或OpenCL
是否有任何性能优势?READ_ONLY
WRITE_ONLY
这kernel
是我经常看到的(a is READ_ONLY
and b is WRITE_ONLY
):
这kernel
似乎更好,因为它使用较少的全局内存(a is READ_WRITE
):
READ_ONLY
和WRITE_ONLY
标志只是为了帮助调试和捕获错误而存在吗?
numpy - 为什么使用 pyopencl.array.Array
PyOpenCL 有两种创建 OpenCL 缓冲区的方法:
pyopencl.Buffer
接受一个 numpy 数组并将其转换为缓冲区。
pyopencl.array.Array
接受一个 numpy 数组并将其转换为 PyOpenCL 数组 - 一个仍然可以像 numpy 数组一样编辑的对象,但在您调用.data
它时会提供一个缓冲区。
选择其中一个是否有性能/功能原因?还是我应该只选择让我的代码更具可读性的那个?
pyopencl - pyopencl.RuntimeError: clWaitForEvents failed: 等待列表中事件的执行状态错误
每隔一段时间,我就无法继续在我的机器上运行 PyOpenCL。如果我杀死正在使用它的进程,这种情况偶尔会发生。在所有 pyopencl 脚本/内核中,包括我在网上找到的示例,我收到以下错误:
在任何形式的调用之后
或 a = kernel.(queue,gs,ls,...) a.wait()
重新启动我的机器解决了这个问题,但这是一个痛苦的解决方法。有没有人遇到过类似的事情并知道如何重置?
谢谢
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 上并行化简单的数学和线性代数。
非常欢迎任何建议和帮助!
opencl - 与opencl的累积和
我尝试用 opencl 实现累积和,如下所示:
我使用 pyopencl 调用了这段代码:
但是,前 32 个数字是正确的,之后它们是错误的(太低了)。这与工作组规模有关吗?我该如何解决?
opencl - 解决 pyopencl 数组偏移限制
有没有办法解决 PyOpenCL 中的限制,即:
失败了
pyopencl.array.ArrayHasOffsetError:您尝试的操作尚不支持从缓冲区开头偏移的数组。
我试过了:
这似乎有时有效,但其他时候我得到:
pyopencl.LogicError:clCreateSubBuffer 失败:值无效
python - PyOpenCL 是否仅并行化 C++ 代码?
试图学习 PyOpenCL,但我发现的唯一例子是:
http://enja.org/2010/07/13/adventures-in-opencl-part-1-getting-started/
这似乎并行化了一个 C++ 脚本,用引号括起来。我找不到任何明确的答案。这里有没有人使用过 PyOpenCL 来加速 python 代码,或者它只用于 C++?
python - 调用 pyopencl.get_platforms() 时 Python 崩溃
我不能打电话pyopencl.get_platforms()
或.create_some_context()
没有 python 崩溃。转储文件中的异常是“威胁试图读取或写入它没有适当访问权限的虚拟地址”
有任何想法吗?
规格:Windows 7 64 Python 2.7.3 Cuda 5.5
opencl - 使用 PyOpenCL 的 argmin/argmax
我将如何使用 PyOpenCL 编写 argmin 或 argmax?我想我需要计算每个工作组的 argmin/min,然后使用后续调用来减少这些。