cuda之两个数求和运算
cuda之两个数求和运算
断桥残雪断桥残雪 发表于2年前
cuda之两个数求和运算
  • 发表于 2年前
  • 阅读 285
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 本博文主要介绍了使用cuda进行两个数相加的程序以及内存管理。

1.cuda程序简介

cuda是nvidia公司推出的为了提高计算性能在GPU上执行快速运算的工具,由于要使用GPU进行运算,因此我们在程序执行时,要兼顾CPU和GPU上的数据共享。本节只讨论最简单的两个数相加的程序。

2.cuda代码


#include<iostream>
#include<cstdlib>
using namespace std;
#define N 1
__global__ void add(int *a,int *b,int *c) {
	*c = *a + *b;
}

int main() {
	int a,b,c;
 	a=1;
	b=9;
	int *d_a,*d_b,*d_c;
        /* allocate memory on device */
	cudaMalloc((void **)&d_a,N*sizeof(int));	
	cudaMalloc((void **)&d_b,N*sizeof(int));	
	cudaMalloc((void **)&d_c,N*sizeof(int));	
	cudaMemcpy(d_a,&a,N*sizeof(int),cudaMemcpyHostToDevice);
	cudaMemcpy(d_b,&b,N*sizeof(int),cudaMemcpyHostToDevice);
	add<<<1,1>>>(d_a,d_b,d_c);
	cudaMemcpy(&c,d_c,N*sizeof(int),cudaMemcpyDeviceToHost);
	cout<<"c:"<<c<<endl;
	cudaFree(d_a);
	cudaFree(d_b);
	cudaFree(d_c);
	return 0;
}




共有 人打赏支持
粉丝 50
博文 125
码字总数 94909
×
断桥残雪断桥残雪
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: