当前位置:网站首页>cudaMemcpy学习笔记
cudaMemcpy学习笔记
2022-07-31 01:46:00 【AI视觉网奇】
主机是电脑Host
Device是gpu设备。
cudaMemcpy用于在主机(Host)和设备(Device)之间往返的传递数据,用法如下:
主机到设备:cudaMemcpy(d_A,h_A,nBytes,cudaMemcpyHostToDevice)
设备到主机:cudaMemcpy(h_A,d_A,nBytes,cudaMemcpyDeviceToHost)
注意:该函数是同步执行函数,在未完成数据的转移操作之前会锁死并一直占有CPU进程的控制权,所以不用再添加cudaDeviceSynchronize()函数
示例:
void VectorReal_copyBuffer(realVecHandle* addr, float hostArr[],long buffer, bool tohost, int copyMode)
{
realVecHandle * native =addr;
float * host = hostArr;
if ( copyMode == 0 ) {
if (!tohost) {
cudaMemcpy( native->data,host, native->size, cudaMemcpyHostToDevice) ;
} else {
cudaMemcpy( host, native->data, native->size, cudaMemcpyDeviceToHost) ;
}
}
}//显存上分配空间
CUDA_SAFE_CALL(cudaMalloc((void**)&Dst_d,sizeof(float3) * totalPNum));
//显存上传输数据
CUDA_SAFE_CALL(cudaMemcpy(Dst_d, Srcdata0_h, sizeof(float3) * numdata0, cudaMemcpyHostToDevice));
CUDA_SAFE_CALL(cudaMemcpy(Dst_d + numpoint0, Srcdata1_d, sizeof(float3) * numdata1, cudaMemcpyDeviceToDevice));
CUDA_SAFE_CALL(cudaMemcpy(Dst_d + numpoint0 + numpoint1, Srcdata2_d, sizeof(float3) * numdata2, cudaMemcpyDeviceToDevice));
数据传输过程中,目的地址在源地址之前(地址可能有偏移计算,数据源不同目的相同时),对应后面参数,devicetohost 或者 hosttodevice.
原文链接:https://blog.csdn.net/xiaoheibaqi/article/details/44001273
边栏推荐
- 数字图像隐写术之JPEG 隐写分析
- 软件测试基础接口测试-入门Jmeter,你要注意这些事
- 黄东旭:TiDB的优势是什么?
- Ticmp - 更快的让应用从 MySQL 迁移到 TiDB
- Bert usage and word prediction based on Keras_bert model
- leetcode-128: longest continuous sequence
- .NET 跨平台应用开发动手教程 |用 Uno Platform 构建一个 Kanban-style Todo App
- 【genius_platform软件平台开发】第七十四讲:window环境下的静态库和动态库的一些使用方法(VC环境)
- CV-Model [3]: MobileNet v2
- 勾股数元组 od js
猜你喜欢

1782. Count the number of point pairs Double pointer

Set the browser scrollbar style

leetcode-1161:最大层内元素和

黄东旭:TiDB的优势是什么?

pycharm重命名后无法运行(报错: can‘t open file......No such file or directory)

"Cloud native's master, master and vulgar skills" - 2022 National New College Entrance Examination Volume I Composition

case语句的综合结果,你究竟会了吗?【Verilog高级教程】

九州云获评云计算标准化优秀成员单位

MySQL的分页你还在使劲的limit?

仿牛客网项目总结
随机推荐
"Real" emotions dictionary based on the text sentiment analysis and LDA theme analysis
蛮力法/邻接矩阵 广度优先 有向带权图 无向带权图
Multiplication, DFS order
Charging effect simulation
GCC Rust获批将被纳入主线代码库,或将于GCC 13中与大家见面
力扣每日一题-第46天-704. 二分查找
VSCode Plugin: Nested Comments
C语言_结构体指针数组函数选票系统
Meta元宇宙部门第二季度亏损28亿 仍要继续押注?元宇宙发展尚未看到出路
rpm install postgresql12
最大路径和
数字图像隐写术之JPEG 隐写分析
Gateway routing configuration
GCC Rust is approved to be included in the mainline code base, or will meet you in GCC 13
简易表白小页面
Distributed. Idempotency
link与@import的区别
87. Convert String to Integer
uniapp uses 3rd party fonts
蛮力法/邻接表 广度优先 有向带权图 无向带权图