最近,我在tx2上安装了CUDA10.0和cupy。我在一篇文章中读到,它说cupy比numpy快10倍。所以我运行了这个程序: ### Numpy and CPU
s = time.time()
x_cpu = np.ones((100,100,100))
e = time.time()
print(e - s)
### CuPy and GPU
s = time.time()
x_gpu = cp.ones((100,100,100))
cp.cuda.Stream.null.synchronize()
e = time.time()
print(e - s) 我得到的结果非常不同。Nu
我目前正在尝试弄清楚如何有效地使用CuPy streams。下面的代码通过重复的矩阵乘法计算矩阵的幂。我希望下面的代码将大部分时间花在同步行上,但它似乎大部分时间都花在matmul行上。这是CuPy中的一个错误,还是我错误地使用了CuPy流? #!/usr/bin/env python
"""
stream_example.py
Inefficiently calculates a matrix power through repeated matrix multiplication.
"""
import numpy as np
im
我是cupy的新手,我一直在尝试使用numpy和cupy来比较执行时间。
import cupy
import cupyx
import numpy as np
import time
def test_cupy(a0,a1,ind_i,ind_j):
t1=time.time()
for i in range(300):
cupyx.scatter_add(a0,(ind_i,ind_j),cupy.exp(-(ind_i+ind_j)))
cupyx.scatter_add(a1,(ind_i,ind_j
我是Python编程的新手,我尝试运行一些DCGAN训练脚本
在使用conda创建了我的环境并构建了所有依赖项之后,我在运行py程序时仍然有一个问题:
RuntimeError: CUDA environment is not correctly set up
(see https://github.com/chainer/chainer#installation).CuPy is not correctly installed.
If you are using wheel distribution (cupy-cudaXX), make sure that the version of
我在Windows中使用了带有Spyder3.3.6和Python3.7.5的cupy (Win10 Pro 64位,i7-7700,8GBMemory,GTX-1060-6GB)。
cupy、chainer、cuda和cuDNN的版本分别为6.0.0、5.3.0、10.1.243和7.6.4。
当我导入cupy时,发生了以下错误:
C:\Users\(username)\Anaconda3\envs\gpgpu\lib\site-packages\chainer\backends\cuda.py:98: UserWarning: cuDNN is not enabled.
Please re
我附上了错误信息,因为我不知道从哪里开始。我尝试过更新setuptools以及清除和重新安装pip。
我正在运行Linux 19.3肉桂4.4.8。
如果有人经历过这个问题,或者有任何解决方案的建议,答案是非常感谢的。
Building wheels for collected packages: cupy
Building wheel for cupy (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import sy
我正在尝试在CUPY中使用多个GPU并行化多个矩阵乘法。 Cupy加速矩阵乘法(例如$A\times B$)。我想知道我是否有四个方阵A,B,C,D。我想在两个不同的本地GPU上计算AB和CD。如何在CUPY中完成此操作? 例如,在tensorflow中, for i in xrange(FLAGS.num_gpus):
with tf.device('/gpu:%d' % i): 在CUPY中也有类似的方法吗?关于Cupy的事情是,它直接执行代码,所以它不能运行下一行(例如$C\times D$),直到当前行结束(例如$A\times B$)。 谢谢Tos的帮助。现在新
我试图使用CuPy来加速目前主要使用NumPy的python函数。我在上安装了CuPy,安装了CUDA 10.0。
CuPy函数似乎工作得很好,但是,它们是,比它们的NumPy功能慢得多。例如,我从运行了第一个具有破坏性结果的示例:
import numpy as np
import cupy as cp
import time
### Numpy and CPU
s = time.time()
x_cpu = np.ones((1000,1000,1000))
e = time.time()
print(e - s) # output: 0.9008722305297852
### Cu
我正在尝试用GPU在chainer上运行神经网络。但它似乎就是不起作用。我已经尝试了一些版本的cuda,9.0,10.1,10.0。在我遇到cupy安装问题之前。现在我只是通过Anaconda环境安装cupy。cuda.to_gpu和cupy.array似乎可以正常工作 我现在对这个问题一无所知。 Exception in main training loop: module 'cupy.cudnn' has no attribute 'softmax_forward'
Traceback (most recent call last):
File
我目前正在做一些涉及cupy的工作。总的来说,它让我的代码运行得更快,因为它在我的GPU上运行所有的东西。现在,如果用户没有安装cupy,但他确实安装了numpy,我想进行必要的调整。目前,我像这样导入它们:import numpy as np; import cupy as cp。我可以对讨论的here进行检查,以测试是否没有安装cupy,所以这不是问题。但是我不想把条件放在任何地方,或者把cp改成np,因为如果真的安装了cupy,这会使事情变得复杂,我想用它来代替。因此,我测试了以下内容(理论上可以解决我的问题): import numpy as np
import numpy as c
我正在写的代码,是理想的运行在图形处理器上的速度,使用CuPy。但是,我希望代码能够使用numpy实现运行(尽管速度较慢)。目前,我正在做以下工作:
import numpy as np
if gpu_present:
import cupy as cp
else:
import numpy as cp
我担心我以后会遇到问题。这是一个很好的实践吗?
我在处理丘比特的问题。我目前正在使用丘比特,它工作在一个非常满意的高速。但是当我使用cupy.einsum()方法时,我遇到了一个问题,我在Numpy中使用了相同的语法,没有任何错误。但是当使用Cupy时,它给了我一个错误。这是代码部分
import numpy as np
A = np.random.randn(2,3,10)
B = np.random.randn(3,4)
C = np.einsum('ijk,jl->ijl',A,B)
这很好,我得到了我一直想要的结果。但是,当我用Cupy编写相同的代码时
import cupy as cp
A = cp.rand
这是一个有点奇怪的问题,因为CuPy是为GPU设计的。然而,根据我的程序的输入,我实际上想使用CPU,因为它更快。我已经试过了
if DISABLE_GPU:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
虽然它阻止了对GPU的访问,但这会导致CuPy抛出一个错误:
cupy_backends.cuda.api.runtime.CUDARuntimeError: cudaErrorNoDevice: no CUDA-capable device is detected
有没有办法强迫CuPy使用C