GPU && CUDA:主机和设备间数据传输测试
2024-08-24 17:54:03
数据传输测试,先从主机传输到设备,再在设备内传输,再从设备传输到主机。
H-->D
D-->D
D-->H
// moveArrays.cu
//
// demonstrates CUDA interface to data allocation on device (GPU)
// and data movement between host (CPU) and device. #include <stdio.h>
#include <assert.h>
#include <cuda.h>
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
int main(void)
{
float *a_h, *b_h; //指向主机的指针
float *a_d, *b_d; //指向设备的指针 int N = ;
int i;
//在主机端申请内存
a_h = (float *)malloc(sizeof(float)*N);
b_h = (float *)malloc(sizeof(float)*N);
//在设备端申请存储
cudaMalloc((void **)&a_d, sizeof(float)*N);
cudaMalloc((void **)&b_d, sizeof(float)*N);
//主机端数据初始化
for (i = ; i < N; i++) {
a_h[i] = .f + i;
b_h[i] = .f;
}
//将数据从主机端传送到设备端:a_h-->a_d
cudaMemcpy(a_d, a_h, sizeof(float)*N, cudaMemcpyHostToDevice); //在设备内传输数据
cudaMemcpy(b_d, a_d, sizeof(float)*N, cudaMemcpyDeviceToDevice); //将数据从设备端传输到主机:b_d-->b_h
cudaMemcpy(b_h, b_d, sizeof(float)*N, cudaMemcpyDeviceToHost); //核对结果
for (i = ; i < N; i++)
assert(a_h[i] == b_h[i]); //释放主机端存储
free(a_h);
free(b_h);
//释放设备端存储
cudaFree(a_d);
cudaFree(b_d);
}
测试环境:
Win7+VS2013+CUDA6.5
最新文章
- Android核心机制
- 5.4-5.8webstorm css
- 数论 --- 费马小定理 + 快速幂 HDU 4704 Sum
- 【面试题003】c数组做为参数退化的问题,二维数组中的查找
- Android实例-解决虚拟键盘遮挡问题(XE8+小米2)
- MVC小系列(二)【Razor 模板引擎】
- 一般增广路方法求网络最大流(Ford-Fulkerson算法)
- 02 easyui -parser
- Angular 2的12个经典面试问题汇总(文末附带Angular测试)
- 基于Java SE的模拟双色球彩票系统
- Spring中的AOP开发
- 原生态的ajax代码
- mybatis的基本语句的应用
- MVC的App_Code这个特殊文件夹
- java 线程理解
- MRP设置自动执行
- poj2342 没有上司的舞会 树形dp基础
- [百家号]华为:最强ARM服务器芯片,华为鲲鹏920处理器发布
- java 大文件上传 断点续传 完整版实例 (Socket、IO流)
- Cow Contest---poj3660
热门文章
- Docker-Zerotier
- 项目经验:Glyphicons字体图标改造,制造适合自己项目的字体图标
- Error: Attribute application@allowBackup value=(false) from AndroidManifest.xml:14:7-34 is also present at [:react-native-qq] AndroidManifest.xml:14:18-44 value=(true).
- JMeter - 如何在多个测试环境中运行多个线程组
- LeetCode初级算法(其他篇)
- JS——制作简单的网页计算器
- t-ora issue can&#39;t login mysql
- Java多线程与并发——生产者与消费者应用案例
- Authentication to host &#39;***‘&#39; for user &#39;root&#39; using method &#39;mysql_native_password&#39; failed with message: Reading from the stream has failed.
- android sqlite 递归删除一棵子树