PyOpenCL ReductionKernel仅适用于工作组

PyOpenCL ReductionKernel仅适用于工作组,opencl,pyopencl,Opencl,Pyopencl,请帮助我理解如何正确处理PyOpenCL中的ReductionKernel。我有一个二维数据数组。第一个维度是点数。第二个维度是与每个点关联的特性。 由于属性的数量相当大,让我们假设128个。我认为它是数组[工作组的数量,本地大小]。也就是说,我在一个单独的工作组中处理每个点。在操作结束时,我需要得到每个点的点积。。但是,我还没有找到一种为每个工作组分别使用ReductionKernel的方法。看起来它只适用于在输入端接收到的整个阵列。 在每个点的循环中调用它看起来是一个非常浪费的操作。有没有一

请帮助我理解如何正确处理PyOpenCL中的ReductionKernel。我有一个二维数据数组。第一个维度是点数。第二个维度是与每个点关联的特性。 由于属性的数量相当大,让我们假设128个。我认为它是数组[工作组的数量,本地大小]。也就是说,我在一个单独的工作组中处理每个点。在操作结束时,我需要得到每个点的点积。。但是,我还没有找到一种为每个工作组分别使用ReductionKernel的方法。看起来它只适用于在输入端接收到的整个阵列。 在每个点的循环中调用它看起来是一个非常浪费的操作。有没有一种方法可以在数组的块上使用ReductionKernel?在N*X数组中,每N个元素计算一个点积?或者让它像标准的enqueueNDRangeKernel一样工作,并指定本地大小?谢谢