问题标签 [cupy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
62 浏览

python - cupy.split (cuda100-6.5.0) 返回a是否正常代替?

作为 python 和 cupy 的初学者,我正在尝试使用 AORUS RTX 2070 GAMING BOX 作为外部 GPU 来处理来自 RF 接收器的 complex64 IQ 数据。目标是获得比我从 CPU 获得的更快的解调和视图。

脚本的一部分的一般步骤是:
1- 使用 numpy 从文件中获取一组复杂数据
2- 将该数组拆分为更小的部分,为多个 FFT 做准备。
3- 执行 FFT

我想用 cupy 做大部分操作来加速这个过程,但似乎 cupy.split() 返回一个 type<class 'list'>而不是 type <class cupy.core.core.ndarray'>,它会“留在”GPU中。

<class 'list'>当我期望一个类型时, cupy.split() 返回一个类型是否正常<class 'cupy.core.core.ndarray'>

似乎 cupy.split() 使用了 cupy.array_split(),它使用了 cupy.core.array_split()。

我希望得到类型<class 'cupy.core.core.ndarray'>形式 cupy.split(),但得到了类型<class 'list'>.

0 投票
1 回答
2370 浏览

python-2.7 - TypeError:不支持的类型

我需要在 GPU 中使用cupy而不是numpy. 所以,我只对这一行进行了注释,# import numpy as np并使用了这一行而不是它import cupy as np

完整代码:

如何修复此错误以便使用 cupy。

数据在这里

请,您的想法或任何建议?

0 投票
2 回答
1987 浏览

python - 如何将 CuPy 数组传输到 tensorflow

我正在使用 CuPy 在 GPU 上生成一些基本事实 + 网络输入数据,我想通过标准 API 将其发送到 TensorFlow 网络:

但是,TensorFlow 1.15 需要 NumPy 而不是 CuPy,我收到此错误:

尝试使用将 CuPy 数组转换为 NumPy 数组

我得到错误:

有没有办法将 CuPy 数据传递给 tensorflow ?

0 投票
1 回答
160 浏览

python - 如何在 CuPy 中分配倾斜的 2D 内存?

在 CuPy 中,可以在主机上分配多维ndarray,然后使用 CUDA 将其复制到 GPU。我的问题是:

  • CuPy 分配的内存是否对设备上的矩阵(2D 数组)具有很好的合并内存访问属性,如果是,它与cupy.ndarray.strides. 如果不是,为什么不呢?
  • 为什么 CuPy 不使用cudaMalloc2D, cudaMalloc3D, cudaMallocPitch

我的目标是将二维数组复制width到全局内存(不是height纹理内存 -支持)。在 C++ 中,我可以这样做:

但是我在 CuPy 中找不到一种方法,它似乎可以保证我在自定义内核中需要的倾斜属性。我试图“使用源,卢克”来找出真正发生的事情,但找不到对 CUDA 代码的调用来实现这样的结果。

0 投票
0 回答
38 浏览

cupy - 支持 np.digitize

我看到 np.digitize 的 cupy 版本尚不支持。是否有计划让这个功能在 cupy 中工作?如果没有,是否有一个简单的解决方案来实现 cupy 数组的功能?

0 投票
0 回答
602 浏览

neural-network - Cupy 错误:cudaErrorIllegalAddress - 遇到非法内存访问

使用 Chainer 在 GPU 上训练前馈网络。训练一些批次后,出现错误“CUDARuntimeError:cudaErrorIllegalAddress:遇到非法内存访问”。

11GB gpu 内存中只有 1.5GB 正在使用。一旦遇到错误,尝试创建一个小的cupy数组也会失败并出现同样的错误。

Chainer:v6.5.0 Cupy:v6.5.0

0 投票
1 回答
934 浏览

python - 如何解决“cuDNN 未启用”

我在 Windows 机器(Win10 Pro 64bit、i7-7700、8GBMemory、GTX-1060-6GB)中使用 Cupy 和 Spyder3.3.6 和 Python 3.7.5。
Cupy、chainer、cuda 和 cuDNN 的版本分别为 6.0.0、5.3.0、10.1.243 和 7.6.4。

当我导入cupy时,出现了这个错误:

不过,试试

再次,错误没有发生,cupy 运行良好。(即在代码中写“import cupy”2 次)
然而,cupy 确实在工作,我觉得很奇怪。
我已经尝试重新安装相关软件包,但问题没有解决。

我该如何解决这个问题?

0 投票
1 回答
59 浏览

python - 使用 `cupy.nanstd` 和 `cupy.nanvar` 时的`TypeError`

cupyTypeError在 Windows 10 上运行以下代码时引发。

错误如下所示:

以下是有关我的设备的一些信息:

操作系统:Windows 10 64 位

Python:3.7.5(默认,2019 年 10 月 31 日,15:18:51)[MSC v.1916 64 位 (AMD64)]

numpy 版本:1.74.4

CuPy 版本:7.0.0

CUDA 根目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

CUDA 构建版本:10000

CUDA 驱动程序版本:10020

CUDA 运行时版本:10000

cuBLAS 版本:10000

cuFFT 版本:10000

CURAND 版本:10000

cuSOLVER 版本 : (10, 0, 0)

cuSPARSE 版本:10000

NVRTC 版本 : (10, 0)

cuDNN 构建版本:7605

cuDNN 版本:7605

NCCL 构建版本:无

NCCL 运行时版本:无

提前感谢任何可以提供帮助的人!

0 投票
2 回答
837 浏览

python - 将结构传递给cupy中的原始内核

我有 CUDA 内核,它采用 float3、int2 等结构作为参数。我似乎无法通过 cupy rawkernel 接口正确地将参数传递给这些内核。我尝试为 float3 参数传递 3 个浮点数的 1d Cupy 数组,但该参数在内核中未正确解释。我试过传递一个 ctypes 结构,但得到了一个不受支持的类型错误。是否可以将自定义结构发送到 cupy 中的原始内核?如果是这样,怎么做?

我尝试使用 ctype 结构如下:

这绕过了 cupy 的类型检查,但仍然没有正确地将值传递给内核。如果您检查一下cupy源代码中的功能模块,它似乎应该可以工作。它只是传递结构的指针。我还尝试了 id(v) 和 ctypes.POINTER(float3)(v) 而不是 ctypes.addressof 来获取结构的地址,但这也不起作用。

我可以通过编写接受数组作为输入的内核包装器来解决这个问题,然后将数组转换为结构以调用我的常规内核。这对我来说很丑陋。如果这不能做到,那么不提供将结构传递给内核的能力似乎是一个很大的疏忽。

0 投票
1 回答
302 浏览

python-2.7 - TypeError:lowerb 不是 numpy 数组,也不是标量

我需要在 GPU 中使用cupy而不是numpy. 所以,我只对这一行进行了注释,# import numpy as np并使用了这一行而不是它import cupy as np

完整代码:

如何修复此错误以便使用 cupy。

我认为我们不能将 numpy 的某些应用程序与 cupy 一起使用。

请,您的想法或任何建议?