cuda——数组相加(矢量和)

#include 
#define N 65535//数组长度
#define M 128//指定的每个线程块的线程数量
int a[N],b[N],c[N];
__global__ void add(int* a,int* b,int* c){
	int tid = threadIdx.x+blockIdx.x*blockDim.x;//计算线程索引
	while(tid < N){
		c[tid] = a[tid]+b[tid];
		tid += gridDim.x*blockDim.x;
	}
}
int main(){
	int i;
	int *d_a,*d_b,*d_c;
	for(i = 0;i>>(d_a,d_b,d_c);
	//将数组c从GPU复制到CPU	
	cudaMemcpy(c,d_c,N*sizeof(int),cudaMemcpyDeviceToHost);
	for(i = N-10;i

你可能感兴趣的:(cuda)