pyCuda和gpuarray.maximum与numpy

时间:2017-09-21 17:02:40

标签: python numpy pycuda gpuarray

也许我错过了什么。我正在使用pycuda,我有以下矩阵m_gpu:

>>> m_gpu
array([[ 0., 2., 4., 1., 3.],
       [ 2., 0., 5., 2., 1.],
       [ 4., 5., 0., 3., 2.],
       [ 1., 2., 3., 0., 4.],
       [ 3., 1., 2., 4., 0.]], dtype=float32)

我打印出第一列和第二行以进行健全性检查:

>>> m_gpu[:,1]
array([ 2., 0., 5., 2., 1.], dtype=float32)
>>> m_gpu[2,:]
array([ 4., 5., 0., 3., 2.], dtype=float32)

然后我进行元素比较以返回最大值数组,这是错误的,因为第3个元素应该是'5'但它是'1':

>>> gpuarray.maximum(m_gpu[:,1], m_gpu[2,:])
array([ 4., 5., 1., 3., 2.], dtype=float32)

可能是gpuarray.maximum中的错误?似乎不太可能。我使用常规numpy执行相同的操作,它返回正确的值.. 在windows上使用pycuda-2017.1.1 + cuda8061-cp27。 救命?感谢。

0 个答案:

没有答案