社区
CUDA
CUDA on Win
帖子详情
cuda中的结构体数据传递问题
m0_63027072
2024-04-25 16:58:56
结构体中有数组,结构体传入GPU后在核函数中分配了数组内存(new),给数组传入了数据
怎么把数据带回CPU端
...全文
768
回复
打赏
收藏
cuda中的结构体数据传递问题
结构体中有数组,结构体传入GPU后在核函数中分配了数组内存(new),给数组传入了数据 怎么把数据带回CPU端
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
CUDA
传递
结构体
数组
在把CPU的数组
结构体
传递
到GPU内存
中
需要好多
问题
,找不到太多的资料,最后只能靠自己慢慢摸索 CPU上的代码我们一般称为 Host代码 GPU上面的一般叫Device 代码,之所以这样区分是由于GPU的内存和CPU的内存是相互独立的,它们的
数据
没法直接相互调用,只能通过
cuda
的一些方法进行操作,最常用的是
cuda
Malloc和
cuda
Memcpy
cuda
Malloc是用来在GPU上申请
CUDA
编程
中
遇到的警告信息:Warning: Cannot tell what pointer points to, assuming global memory space
在写
CUDA
程序时,遇到了Warning: Cannot tell what pointer points to, assuming global memory space这样的警告,查阅了很多资料。终于,找到原因。下面是一个实例程序. /* * Copyright 徐洪志(西北农林科技大学.信息工程学院). All rights reserved. * Data: 2012-5-21 */
CUDA
结构体
或类的
传递
内存实验
我想把指针传送到
CUDA
内存区域
中
,但是遇到了一定的
问题
,最终找到了解决方法,这里进行一下记录: 一、普通
传递
没有任何
问题
:
cuda
Malloc((void**)&a_dev, 50 * sizeof(int)); a_host = (int*)malloc(sizeof(int) * 50); for(inti = 0;i < 50;i++) a_host[i] = i;
cuda
Memcpy(a_dev, a_host, 50 * sizeof(int),
cuda
Mem..
cuda
中
结构体
的赋值
#include #include #define N 10 typedef struct { int *A; int *B; }vn; typedef struct { vn *v_n; int *m; int *n; }data; __global__ void kernel(data *d, int n) { int idx = threadIdx.x; if(id
向
CUDA
中
传入多维
结构体
向
CUDA
中
传入多维
结构体
逻辑相对复杂,一些应用
中
也不一定用的上传入多维
结构体
,所以不做文字解释。一个样例程序放在这里为大家提供思路,供大家参考。如果有什么疑问欢迎大家评论,我会及时回复。 /** * Copyright 1993-2012 NVIDIA Corporation. All rights reserved. * * Please refer to the NVIDIA e...
CUDA
591
社区成员
2,925
社区内容
发帖
与我相关
我的任务
CUDA
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
复制链接
扫一扫
分享
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章