问题标签 [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.
cuda - 为什么我相当琐碎的 CUDA 程序在某些参数上会出错?
我做了一个简单的CUDA程序来练习。它只是将数据从一个数组复制到另一个数组:
但是,我收到此错误:pycuda._driver.LogicError: cuLaunchKernel failed: invalid value
当我去掉double* e
内核函数中的第二个参数并在没有参数的情况下调用内核时e
,错误就消失了。这是为什么?这个错误是什么意思?
cuda - 启动资源不足
我编写了以下简单的 CUDA 内核:
Python中的变量分配如下:
我正在使用 传输变量gpuarray.to_gpu
,并且正在使用以下行调用 Tesla C2070 上的内核:
在哪里:
我收到错误消息:
即使我将块大小减少到类似(8, 1, 1)
. 我可以在 GPU 上运行其他块大小为的 CUDA 程序,(512, 1, 1)
所以我相信这不是由于 GPU 配置问题。
我究竟做错了什么?谢谢你的帮助。
cuda - Cuda中的运算符重载
我通过执行以下操作成功地在两个 float4 之间创建了一个 operator+:
但是,如果另外,我想为 uchar4 提供一个 operator+,通过对 uchar4 执行相同的操作,我会收到以下错误:“错误:多个重载函数“operator+”实例具有“C”链接“”
当我声明多个具有相同名称但参数不同的函数时,我会收到类似的错误消息。所以,两个问题:
- 多态性:在 Cuda 中是否可以有多个具有相同名称和不同参数的函数?如果是这样,为什么我会收到此错误消息?
- operator+ for float4:似乎这个特性已经包含在“cutil_math.h”中,但是当我包含那个(
#include <cutil_math.h>
)时,它抱怨没有这样的文件或目录......我应该做些什么特别的事情?注意:我使用的是 pycuda,它是 python 的 cuda。
谢谢!
cuda - 我应该如何解释这个 CUDA 错误?
我正在用 pyCUDA 自学 CUDA。在本练习中,我想将一个简单的 1024 个浮点数组发送到 GPU 并将其存储在共享内存中。正如我在下面的论点中指定的那样,我只在一个具有 1024 个线程的块上运行这个内核。
奇怪的是,我收到了这个错误。
我试图通过更改发送到 GPU 的元素类型来调试此错误(例如,我使用 float32 而不是 float64)。我也尝试改变我的块和网格大小无济于事。
有什么问题?什么是死上下文?任何建议或想法表示赞赏。
cuda - 为什么我的数组没有设置好?
我正在尝试自学CUDA。到目前为止这并不容易,但我也不会轻易放弃:)
我创建了一个非常简单的程序。它只是从 GPU 返回一个值。
但是,我的程序打印的值是5.387879938e-315
. 那肯定不像8.0
。为什么 GPU 会返回错误的值?
我试过改变块大小,我认为这不应该(但谁知道)。我还检查了我发送的数据类型(float64)是否与我的内核匹配。
pycuda - 如何使用 pycuda 将二维数组输入内核?
我创建了一个带有 shape 的 float32s numpy 数组(64, 128)
,我想将它发送到 GPU。我怎么做?我的内核函数应该接受哪些参数?float** myArray
?
我曾尝试直接将数组原样发送到 GPU,但 pycuda 抱怨正在访问对象......
cuda - 为什么我的 CUDA 内核不改变我的阵列?
我正在从头开始自学CUDA。我制作了这个简单的内核,它将 1 加到 2D 数组中的每个相关元素。二维数组的元素源自图像的红色通道 (zebra.jpg)。
但是,然后我运行这个程序,我得到以下结果。
为什么我的原始金额与我的新金额相同?新的总和不应该更大吗?
这是斑马.jpg。
cuda - 如何计算 gpu_array 的方差?
我正在尝试计算 2D gpu_array 的方差。缩减内核听起来是个好主意:
http://documen.tician.de/pycuda/array.html
但是,该文档暗示缩减内核只是将 2 个数组缩减为 1 个数组。如何将单个二维数组缩减为单个值?
cuda - Cuda C中的加法赋值运算符
我在 Cuda C 中遇到了加法赋值运算符的问题。我收到以下错误:
我的代码是:
我想要的输出是 c = [0,1.1,0.4,0.3,0,0,0,0]。任何人都可以提出解决方案吗?
cuda - 针对数组的标准化优化 Cuda 内核
我正在尝试按如下方式规范化数组。
- 选择数组的前两个元素,找到总和并使用该总和除以它们。
- 对其余元素执行相同操作。
它工作正常。但是当我增加数组的维度时,时间复杂度就会出现。我在下面给出了我的代码。
d 的结果是 [0.33333334 0.66666669 0.75 0.25 0.40000001 0.60000002 0.666666669 0.33333334]。任何人都可以提出一些优化代码的想法吗?