我是靠谱客的博主 直率期待,最近开发中收集的这篇文章主要介绍矩阵加法的CUDA实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#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实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(28)

评论列表共有 0 条评论

立即
投稿
返回
顶部