博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CUDA_矢量相加
阅读量:5772 次
发布时间:2019-06-18

本文共 867 字,大约阅读时间需要 2 分钟。

#include<iostream>

#define N 10

 

_ _global_ _ void add(*a,*b,*c)

{

  int tid=blockIdx.x;

  if(tid<N)

 

    c[tid]=b[tid]+a[tid];

}

int main (void)

{

  int a[N],b[N],c[N];

  int *dev_a,*dev_b,dev_c;

  ///在GPU上分配内存

  cudaMalloc((void**)&dev_a,N*sizeof(int));

  cudaMalloc((void**)&dev_b,N*sizeof(int));

  cudaMalloc((void**)&dev_b,N*sizeof(int));

  for(i=0;i<N;i++)

  {

    a[i]=i;

    b[i]=i*i;

  }

  cudaMencpy(dev_a,a,N*sizeof(int),cudaMencpyHostToDevice);

  cudaMencpy(dev_b,b,N*sizeof(int),cudaMencpyHostToDevice);

  cudaMencpy(dev_c,c,N*sizeof(int),cudaMencpyHostToDevice);

  add<<<N,1>>>(dev_a,dev_b,dev_c);

  cudaMemcpy(c,dev_c,N*sizeof(int),cudaMemcpyDeviceToHost);

  for(int i=0;i<N;i++)

  {

    printf("%d+%d=%d\n",a[i],b[i],c[i]);

  }

  cudaFree(dev_a);

  cudaFree(dev_b);

  cudaFree(dev_c);

  return 0;

}

 

转载于:https://www.cnblogs.com/uestcsummer/p/4988753.html

你可能感兴趣的文章
SQL Server 2016 Alwayson新增功能
查看>>
HTTP库Axios
查看>>
CentOS7下安装python-pip
查看>>
认知计算 Cognitive Computing
查看>>
左手坐标系和右手坐标系 ZZ
查看>>
陀螺仪主要性能指标
查看>>
Java 架构师眼中的 HTTP 协议
查看>>
Linux 目录结构和常用命令
查看>>
Linux内存管理之mmap详解 (可用于android底层内存调试)
查看>>
利润表(年末)未分配利润公式备份
查看>>
Android开发中ViewStub的应用方法
查看>>
gen already exists but is not a source folder. Convert to a source folder or rename it 的解决办法...
查看>>
HDOJ-2069Coin Change(母函数加强)
查看>>
遍历Map的四种方法
查看>>
Altium Designer 小记
查看>>
【Linux高级驱动】I2C驱动框架分析
查看>>
赵雅智:js知识点汇总
查看>>
二维有序数组查找数字
查看>>
20个Linux服务器性能调优技巧
查看>>
多重影分身:一套代码如何生成多个小程序?
查看>>