概述
#include <stdio.h>
#include <stdlib.h>
#include <cutil_inline.h>
#define N 2
/************************************************************************/
/* Example:矩阵加法 */
/************************************************************************/
__global__ void MatAdd(float A[N][N],float B[N][N],float C[N][N])
{
int i=blockIdx.x*blockDim.x+threadIdx.x;
int j=blockIdx.y*blockDim.y+threadIdx.y;
if(i<N&&j<N)
C[i][j]=A[i][j]+B[i][j];
}
int main(void)
{
char c;
int i,j;
float A[N][N]={{1,1},{2,2}},B[N][N]={{3,3},{4,4}},C[N][N];
//Knernel调用执行矩阵加法
dim3 dimBlock(16,16);
dim3 dimGrid((N+dimBlock.x-1)/dimBlock.x,(N+dimBlock.y-1)/dimBlock.y);
MatAdd<<<dimGrid,dimBlock>>>(A,B,C);
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%5.2f",C[i][j]);
printf("n");
}
scanf("%c",&c);
return 0;
}
最后
以上就是直率期待为你收集整理的矩阵加法的CUDA实现的全部内容,希望文章能够帮你解决矩阵加法的CUDA实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复