腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
CUDA
中
的
threadIdx.x
值
总是
从
0
开始
?
我正在使用
CUDA
进行图像处理,我需要知道哪个线程是第一个线程(第一个像素),但如果我使用少于最大可能线程数
的
线程调用内核函数,则可能没有线程
0
。我找不到任何文档。有人对这个问题有把握吗?
浏览 185
提问于2021-04-10
得票数 0
1
回答
CUDA
并行扫描算法共享内存竞争条件
我正在阅读“编程大规模并行处理器”(第3版)一书,其中介绍了Kogge-Stone并行扫描算法
的
实现。这个算法是由单个块运行
的
(这只是一个初步
的
简化),下面是实现。[
threadIdx.x
] += XY[
threadIdx.x
- stride]; // Race condition here?} } 不管算法
的
工作方式如何,我都对行XY[
threadIdx.x
] += XY
浏览 9
提问于2021-12-14
得票数 2
回答已采纳
1
回答
每个区块
的
库达总和。我得到
的
数字是
0
。怎么啦?
、
、
之和
总是
返回
0
。有人能帮上忙吗。但是这个总和不适用于布洛克。我被困住了。有人能帮上忙吗。#include <stdio.h> #include <
cuda
.h> //#define__global__ void add( float * i
浏览 5
提问于2014-05-07
得票数 2
回答已采纳
1
回答
pycuda - memcpy_dtoh,没有给出似乎已经设置
的
内容
、
、
我有一个非常简单
的
函数,其中我传递一个char数组并进行一个简单
的
字符匹配。我希望返回一个1/
0
的
数组,具体取决于匹配
的
字符。问题:虽然我可以看到,当int数组
从
设备复制回来时,
值
已经在数据结构中被设置(当我在函数中将其赋值后打印出来时),但是
值
并不像预期
的
那样。 我肯定这是件很愚蠢
的
事。if( q[
threadIdx.x
* chrSize] == 'a' || q
浏览 4
提问于2021-02-08
得票数 0
回答已采纳
3
回答
在使用
CUDA
时,如何测量每个块
的
执行时间?
、
、
clock()不够精确。
浏览 1
提问于2010-08-24
得票数 4
1
回答
在
CUDA
线程块
中
可能出现负指数吗?
、
我有一个非常简单
的
一维
CUDA
内核进行包含和,也就是说,如果我们有一个输入
的
一维数组输出将是下面所示
的
内核实际上并没有完全完成这个任务,另一方面它在每个块内完成了它
的
工作。无论如何,我
的
问题不是如何完全实现包含和,但我认为在线程计算过程
中
可能会出现负索引错误。te
浏览 4
提问于2014-08-20
得票数 0
回答已采纳
1
回答
为什么我
的
CUDA
程序
的
输出不可靠?
我正在用
CUDA
提供
的
编程指南自学
CUDA
。int halfScan = blockDim.x / 2; if (sharedDatareturnedMaximum[
0
] = sharedData[
0
];myArrayFromCPU是大小为1024
的
浮点
值
的</e
浏览 1
提问于2012-11-04
得票数 0
回答已采纳
3
回答
在
CUDA
内核
中
搜索有序数组
、
我正在编写一个
CUDA
内核,每个线程必须完成以下任务:假设我有一个有序数组a of n无符号整数(第一个
总是
0
)存储在共享内存
中
,每个线程必须找到数组索引i,以便a[i]≤
threadIdx.x
和a[i+ 1] >
threadIdx.x
。一个天真的解决办法可能是: if (a[i + 1] >
threadIdx.x
) break; 但我想这不是最好
的
浏览 4
提问于2014-02-09
得票数 3
1
回答
使用
CUDA
的
主机设备
中
的
char到int转换
、
、
、
在我
的
CUDA
程序
的
主机函数
中
,我遇到了
从
单个字符到整数
的
转换问题。在这行之后-我使用
cuda
-gdb检查tokenj
的
值
,我
总是
得到似乎没有模式
的
不同数字。我也尝试过简单
的
强制转换,不是乘以10(我在另一个线程中看到
的
),也不是减去
浏览 0
提问于2014-03-25
得票数 0
1
回答
将视频帧数据移动到GPU
的
最有效方法是什么?
、
、
我目前正在我
的
GPU (
CUDA
/C++)上实现一个运动跟踪算法,到目前为止我看到了非常强大
的
速度。然而,正如人们可能预料
的
那样,主要
的
瓶颈是
从
CPU到GPU
的
帧(图像)数据
的
实际传输。然而,OpenCV在表单RRGGBB RRGGBB ...
中
以打包字节
的
形式返回帧,或者用其他术语来说,每个像素都对齐到24位边界。这不允许我使用合并内存访问,这会在GPU上造成严重
的
性能损失。实际上,我只
浏览 0
提问于2013-04-03
得票数 3
回答已采纳
1
回答
CUDA
内存不返回主机
、
、
、
、
好吧,所以我正在尝试学习
CUDA
为‘新
的
’FX570我买了15美元;D现在在代码
中
没有错误,array1_host以它
的
值
开始
正确,但当我
从
设备复制内存到主机时,
值
保持不变。如果我清空第二个内核调用(在这个项目中尝试多个内核),同样
的
事情也会发生。我很困惑,所以感谢您
的
帮助,我可以实现:)#include <iostream&g
浏览 1
提问于2013-03-13
得票数 0
回答已采纳
1
回答
将全局变量声明为本地变量。
、
、
device__ int m_myvar; {} 我想将m_myvar声明为使用它
的
函数
的
本地函数
浏览 4
提问于2013-12-20
得票数 0
回答已采纳
2
回答
关于
CUDA
Warps
的
简单代码
我在
Cuda
Documentaion
中
读到,在
Cuda
Documentaion
中
,每个块线程在一批称为warps
的
32个线程
中
执行,每个线程指向相同
的
指令,但可以访问多个数据,我
的
任务是测试语句
的
真实性我将创建一个大小为32
的
共享变量,并将其赋给然后将该变量
浏览 2
提问于2014-02-03
得票数 0
1
回答
cuda
中
的
双离子排序错误
的
一些
值
、
、
、
我正在为一个更大
的
项目在
CUDA
上做一个排序算法,我决定实现一种双离子排序。我将排序
的
元素数将永远是2
的
幂,实际上是512。适应度是我要排序
的
数组,numElements是元素
的
数量,orden最初是一个空数组,numElements位置将在一
开始
就以orden[i]=i
的
方式填充。我
的
问题是,有些
值
没有得到正确
的
排序,直到现在,我还不知道我有什么问题。#include "
cuda
浏览 6
提问于2016-06-27
得票数 1
回答已采纳
1
回答
CUDA
共享内存阵列-奇怪
的
行为
、
、
、
在
CUDA
内核
中
,我有类似于下面的代码。我尝试计算每个线程一个分子,并在块上累加分子以计算分母,然后返回比率。然而,
CUDA
将denom
的
值
设置为具有最大
threadIdx.x
的
块
中
的
线程为numer计算
的
任何
值
,而不是块中所有线程计算
的
numer
值
的
总和。有人知道这是怎么回事吗?extern __shared__ float s_shared[
浏览 6
提问于2009-07-01
得票数 3
回答已采纳
1
回答
如何在
CUDA
中使用同步扫描算法(Hillis-Steele)
、
、
、
、
{ int new_value = addresses[
threadIdx.x
] +
0
:
0
times 2- 3 : 2 times 8- 15 : 4 times 64-127 : 7 times 2
浏览 0
提问于2018-01-21
得票数 0
回答已采纳
2
回答
GPU上
的
动态内存分配
在内核
中
动态分配GPU
的
全局内存是可能
的
吗? 我不知道我
的
答案会有多大,因此我需要一种方法来为答案
的
每个部分分配内存。
CUDA
4.0允许我们使用RAM...这是个好主意还是会降低速度??
浏览 5
提问于2011-03-10
得票数 5
回答已采纳
2
回答
在
CUDA
__device__内核中生成一个char数组
的
所有组合
、
、
、
我
开始
用
CUDA
(2.3 / 3.0beta)编写一个普通
的
蛮力/密码猜测器。我尝试了不同
的
方法来生成定义
的
ASCII字符集
的
所有可能
的
纯文本“候选”。在这个示例代码
中
,我希望生成所有74^4种可能
的
组合(并将结果输出回主机/stdout)。#include <stdio.h> __device__ uchar4
浏览 0
提问于2009-11-23
得票数 1
1
回答
访问不同
CUDA
内核
中
的
类成员
、
我有一个只有GPU类
的
T,我想在GPU上创建,但是在CPU上有一个引用,所以我可以将链接作为参数发送到不同
的
CUDA
内核。__global__ void kernel(T* obj, int* out) if(blockIdx.x * blockDim.x +
threadIdx.x
==
0
) {(T* obj) if(blockIdx.x * blockDim.x +
threadIdx.x
==
0
) { obj = new
浏览 1
提问于2017-12-15
得票数 1
回答已采纳
1
回答
增大阵列尺寸时
的
计算误差码77
、
、
我很难用
CUDA
代码解决这个问题。 我基本上是在用增加
的
数组大小
从
gems3计算nbody问题。粒子在__global__ void ParticleAmplification()内核
中
的
特定数组dev_Ionisation
中
创建,并通过宿主函数DynamicAlloc()添加到全局数组
中
。它给出了错误代码77,它似乎归因于()在__device__ float3 computeBodyAccel函数
中
的
外部共享变量大小extern
浏览 11
提问于2015-02-12
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
从0开始的python世界 基础篇0
Kotlin开发从0开始(二)——类的介绍
Java Web项目开发从0开始的要点!
从0开始的python世界——基础篇01
从0开始的python世界——基础篇02
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券