cuda2.zip

  • PUDN用户
    了解作者
  • C/C++
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 3
    下载次数
  • 2013-10-24 10:10
    上传日期
最简单的矩阵并行计算方法,很简单 调用CUDA计算得到的 非常简单
cuda2.zip
  • cuda2.c
    2.5KB
内容介绍
#include<stdio.h> #include <stdlib.h> typedef float elemtype; elemtype **na(int m,int n) //创建一个m行n列数组,创建成功返回首地址,创建失败则返回NULL { int i; elemtype **a=(elemtype**)malloc(sizeof(elemtype *)*m); if (!a) return NULL; else for (i = 0; i < m; i++) { a[i]=(elemtype*)malloc(sizeof(elemtype)*n); if (!a[i]) return NULL; } return a; } int input(elemtype **a,int line,int row)//用户输入初始化数组 { int i,j; if (!a) //如果创建失败,则输出错误信息并结束程序 { fprintf(stderr,"内存错误 创建失败\n"); return -1; } else { for (i=0; i < line; i++) { for (j=0; j < row; j++) { printf("请输入当前数组第%d行,第%d列元素: ",i+1,j+1); scanf("%f",&a[i][j]); putchar('\n'); } } } return 0; } void display(elemtype **a,int line,int row)//输出数组显示 { int i,j; for (i=0; i<line; i++) { for (j=0; j<row; j++) { printf("%f",a[i][j]); putchar(' '); } putchar('\n'); } } void matrix(elemtype **a,elemtype **b, elemtype **c, int linea, int rowa, int rowb)//计算矩阵乘法 并输出结果 { int i,j,k; elemtype sum; for(i=0;i<linea;i++) //初始化数组C for (j=0;j<rowb;j++) c[i][j]= 0; for(i = 0; i < linea; i++) for(j = 0; j < rowb; j++) { sum=0; for(k = 0; k < rowa; k++) sum += 1.0*a[i][k] * b[k][j]; c[i][j]=sum; } printf("矩阵A乘以矩阵B等于:\r\n"); display(c,linea,rowb); } void dela(elemtype **a,const int m) /*删除用na()函数创建的并且有m行元素的二维数组a*/ { int i; for (i = 0; i<m; i++) free(a[i]); free(a); } int main() { elemtype **a,**b,**c; int linea,rowa,rowb; printf("请输入A矩阵的line row:\r\n"); scanf("%d %d",&linea,&rowa); a=na(linea,rowa); //创建数组A if (input(a,linea,rowa)==-1) return -1;//初始化数组A 如果失败直接退出 printf("矩阵A= \r\n"); display(a,linea,rowa);//显示数组A printf("请输入B矩阵的row:\r\n");//矩阵B的line 必然等于矩阵a的row 无需输入矩阵B的line scanf("%d",&rowb); b=na(rowa,rowb); //创建数组B if(input(b,rowa,rowb)==-1) return -1;//初始化数组B 如果失败直接退出 printf("矩阵B= \r\n"); display(b,rowa,rowb);//显示数组B c=na(linea,rowb);//创建数组C matrix(a,b,c,linea,rowa,rowb);//执行A*B 并输出 dela(a,linea); //删除数组A dela(b,rowa); //删除数组B dela(c,linea); //删除数组C return 0; }
评论
    相关推荐
    • 数据库课程设计
      一个数据库课程设计,access管理工具实现,用的是窗体!
    • 数据库课程设计
      数据库课程设计十分完整有需要的请下载啊谢谢
    • 数据库课程设计
      广东工业大学数据库课程设计,可视化界面连接数据库,delphi7
    • 数据库课程设计
      数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述
    • 数据库课程设计
      数据库课程设计》由周爱武、汪海威、肖云编著,遵循数据库课程设计的具体要求,独立于具体的数据库教材,从实际应用系统的需求着手,引导读者逐步完成数据库设计全过程,重点讲解数据库系统的需求分析、概念设计、...
    • 数据库课程设计
      数据库课程设计人事管理系统 数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计...
    • 数据库课程设计
      数据库课程设计,基于visual basic自助银行管理系统,界面很清爽,实用。同学都说好,所以就上传了!!!
    • 数据库课程设计
      数据库课程设计 里面有详细的文档资料 包含数据库一切的图 以及生成的数据库表文件 期末得分为优秀
    • 数据库课程设计
      可以作为数据库课程设计,也可以作为Java的课程设计,内容全面。本资源转载的,非本人原创。用于交流学习,特此申明!
    • 数据库课程设计
      数据库课程设计蓝天大学学生管理系统 2.商店信息管理系统 3.实验室机房收费管理系统 4.图书馆资料检索系统 5.企业库存管理系统 6.仓库管理系统 7.工程项目管理系统 8.教材管理系统 9.企业人事管理系统 10.企业财务...