丘比带来意想不到的结果

时间:2019-09-08 21:05:30

标签: cupy

我正在尝试使用cupy加速一些numpy代码,但是却得到了一些意想不到的结果。

我正在使用NVIDIA GeForce GTX 1080 Ti在Mac Pro 2013后期OSX 10.13.6上运行此程序。 我已经能够在下面显示的ipython中重现错误。在确定范数时,共轭数与其自身的乘积应为实数。在numpy中,这是预期的,但是使用cupy时,我得到了一个虚构的部分。

In [54]: import numpy as np
In [55]: import cupy as cp
In [56]: q = np.arange(4)                                                                                                                             
In [57]: q.shape=[2,2]                                                                                                                                
In [58]: q=(0.23+0.33j)*(q+0.43)                                                                                                                      
In [59]: np.dot(np.conj(q).flatten(),q.flatten())                                                                                                     
Out[59]: (3.21975528+0j)
In [60]: q_gpu = cp.asarray(q)                                                                                                                        
In [61]: cp.dot(cp.conj(q_gpu).flatten(),q_gpu.flatten())                                                                                             
Out[61]: array(3.21975528-1.93612215e-17j)
In [62]: cp.sum(cp.abs(q_gpu)**2)                                                                                                                     
Out[62]: array(3.21975528)
In [63]: sys.version                                                                                                                                  
Out[63]: '3.7.3 | packaged by conda-forge | (default, Jul  1 2019, 14:38:56) \n[Clang 4.0.1 (tags/RELEASE_401/final)]'
In [64]: sys.version_info                                                                                                                             
Out[64]: sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)

我已经意识到在cupy和numpy中运行代码之间在精度方面存在其他不一致之处。

我在做什么错了?

0 个答案:

没有答案