问题标签 [pycuda]

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 投票
1 回答
1548 浏览

cuda - 为什么我相当琐碎的 CUDA 程序在某些参数上会出错?

我做了一个简单的CUDA程序来练习。它只是将数据从一个数组复制到另一个数组:

但是,我收到此错误:pycuda._driver.LogicError: cuLaunchKernel failed: invalid value

当我去掉double* e内核函数中的第二个参数并在没有参数的情况下调用内核时e,错误就消失了。这是为什么?这个错误是什么意思?

0 投票
2 回答
1167 浏览

cuda - 启动资源不足

我编写了以下简单的 CUDA 内核:

Python中的变量分配如下:

我正在使用 传输变量gpuarray.to_gpu,并且正在使用以下行调用 Tesla C2070 上的内核:

在哪里:

我收到错误消息:

即使我将块大小减少到类似(8, 1, 1). 我可以在 GPU 上运行其他块大小为的 CUDA 程序,(512, 1, 1)所以我相信这不是由于 GPU 配置问题。

我究竟做错了什么?谢谢你的帮助。

0 投票
1 回答
1771 浏览

cuda - Cuda中的运算符重载

我通过执行以下操作成功地在两个 float4 之间创建了一个 operator+:

但是,如果另外,我想为 uchar4 提供一个 operator+,通过对 uchar4 执行相同的操作,我会收到以下错误:“错误:多个重载函数“operator+”实例具有“C”链接“”

当我声明多个具有相同名称但参数不同的函数时,我会收到类似的错误消息。所以,两个问题:

  • 多态性:在 Cuda 中是否可以有多个具有相同名称和不同参数的函数?如果是这样,为什么我会收到此错误消息?
  • operator+ for float4:似乎这个特性已经包含在“cutil_math.h”中,但是当我包含那个(#include <cutil_math.h>)时,它抱怨没有这样的文件或目录......我应该做些什么特别的事情?注意:我使用的是 pycuda,它是 python 的 cuda。

谢谢!

0 投票
1 回答
2776 浏览

cuda - 我应该如何解释这个 CUDA 错误?

我正在用 pyCUDA 自学 CUDA。在本练习中,我想将一个简单的 1024 个浮点数组发送到 GPU 并将其存储在共享内存中。正如我在下面的论点中指定的那样,我只在一个具有 1024 个线程的块上运行这个内核。

奇怪的是,我收到了这个错误。

我试图通过更改发送到 GPU 的元素类型来调试此错误(例如,我使用 float32 而不是 float64)。我也尝试改变我的块和网格大小无济于事。

有什么问题?什么是死上下文?任何建议或想法表示赞赏。

0 投票
1 回答
99 浏览

cuda - 为什么我的数组没有设置好?

我正在尝试自学CUDA。到目前为止这并不容易,但我也不会轻易放弃:)

我创建了一个非常简单的程序。它只是从 GPU 返回一个值。

但是,我的程序打印的值是5.387879938e-315. 那肯定不像8.0。为什么 GPU 会返回错误的值?

我试过改变块大小,我认为这不应该(但谁知道)。我还检查了我发送的数据类型(float64)是否与我的内核匹配。

0 投票
1 回答
1154 浏览

pycuda - 如何使用 pycuda 将二维数组输入内核?

我创建了一个带有 shape 的 float32s numpy 数组(64, 128),我想将它发送到 GPU。我怎么做?我的内核函数应该接受哪些参数?float** myArray?

我曾尝试直接将数组原样发送到 GPU,但 pycuda 抱怨正在访问对象......

0 投票
1 回答
287 浏览

cuda - 为什么我的 CUDA 内核不改变我的阵列?

我正在从头开始自学CUDA。我制作了这个简单的内核,它将 1 加到 2D 数组中的每个相关元素。二维数组的元素源自图像的红色通道 (zebra.jpg)。

但是,然后我运行这个程序,我得到以下结果。

为什么我的原始金额与我的新金额相同?新的总和不应该更大吗?

这是斑马.jpg。

在此处输入图像描述

0 投票
1 回答
1679 浏览

cuda - 如何计算 gpu_array 的方差?

我正在尝试计算 2D gpu_array 的方差。缩减内核听起来是个好主意:

http://documen.tician.de/pycuda/array.html

但是,该文档暗示缩减内核只是将 2 个数组缩减为 1 个数组。如何将单个二维数组缩减为单个值?

0 投票
1 回答
841 浏览

cuda - Cuda C中的加法赋值运算符

我在 Cuda C 中遇到了加法赋值运算符的问题。我收到以下错误:

我的代码是:

我想要的输出是 c = [0,1.1,0.4,0.3,0,0,0,0]。任何人都可以提出解决方案吗?

0 投票
1 回答
408 浏览

cuda - 针对数组的标准化优化 Cuda 内核

我正在尝试按如下方式规范化数组。

  1. 选择数组的前两个元素,找到总和并使用该总和除以它们。
  2. 对其余元素执行相同操作。

它工作正常。但是当我增加数组的维度时,时间复杂度就会出现。我在下面给出了我的代码。

d 的结果是 [0.33333334 0.66666669 0.75 0.25 0.40000001 0.60000002 0.666666669 0.33333334]。任何人都可以提出一些优化代码的想法吗?