数据传输测试,先从主机传输到设备,再在设备内传输,再从设备传输到主机。

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

下载链接

最新文章

  1. Android核心机制
  2. 5.4-5.8webstorm css
  3. 数论 --- 费马小定理 + 快速幂 HDU 4704 Sum
  4. 【面试题003】c数组做为参数退化的问题,二维数组中的查找
  5. Android实例-解决虚拟键盘遮挡问题(XE8+小米2)
  6. MVC小系列(二)【Razor 模板引擎】
  7. 一般增广路方法求网络最大流(Ford-Fulkerson算法)
  8. 02 easyui -parser
  9. Angular 2的12个经典面试问题汇总(文末附带Angular测试)
  10. 基于Java SE的模拟双色球彩票系统
  11. Spring中的AOP开发
  12. 原生态的ajax代码
  13. mybatis的基本语句的应用
  14. MVC的App_Code这个特殊文件夹
  15. java 线程理解
  16. MRP设置自动执行
  17. poj2342 没有上司的舞会 树形dp基础
  18. [百家号]华为:最强ARM服务器芯片,华为鲲鹏920处理器发布
  19. java 大文件上传 断点续传 完整版实例 (Socket、IO流)
  20. Cow Contest---poj3660

热门文章

  1. Docker-Zerotier
  2. 项目经验:Glyphicons字体图标改造,制造适合自己项目的字体图标
  3. 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).
  4. JMeter - 如何在多个测试环境中运行多个线程组
  5. LeetCode初级算法(其他篇)
  6. JS——制作简单的网页计算器
  7. t-ora issue can&#39;t login mysql
  8. Java多线程与并发——生产者与消费者应用案例
  9. 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.
  10. android sqlite 递归删除一棵子树