pyopencl array sum 添加一个数组

Posted

技术标签:

【中文标题】pyopencl array sum 添加一个数组【英文标题】:Pyopencl array sum to add an array 【发布时间】:2017-11-03 15:43:31 【问题描述】:

我是 opencl 和 pyopencl 的新手。我正在尝试编写一个基本程序来添加。我遇到了this 文档并在 python 中尝试了这个小代码。显然,它不起作用。

import pyopencl as cl
import pyopencl.tools
import pyopencl.array
import numpy

context = cl.create_some_context()
queue = cl.CommandQueue(context)

h_a = numpy.random.rand(3,3)
d_a = cl.Buffer(context, cl.mem_flags.READ_ONLY | 
cl.mem_flags.COPY_HOST_PTR, hostbuf=h_a)
print cl.array.sum(d_a, dtype=None, queue=queue)

如您所见,我不确定如何使用这些预定义函数。

【问题讨论】:

【参考方案1】:

我的 PyOpenCl 教程有一个数组求和示例,其中内联 cmets 解释了每一行的作用:https://github.com/benshope/PyOpenCL-Tutorial

试试看,希望对你有帮助!

【讨论】:

以上是关于pyopencl array sum 添加一个数组的主要内容,如果未能解决你的问题,请参考以下文章

在 pyopencl 中添加复杂的 3D 数组

PyOpenCL 多维数组

在 pyOpencl 中传递向量数组

pyopencl 在数组中返回错误的 float3 值

将值放入数组并使用 array_sum

如何使用 PyOpenCL 将带有数组和变量的 C 结构传递给 OpenCL 内核