⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 omp_matrix_multiply.c

📁 C代码。共享式存储多线程并行计算矩阵相乘代码。适合于SMP结构和多核。
💻 C
字号:
#define NRA 1000 		/* number of rows in matrix A */#define NCA 1000        	/* number of columns in matrix A */#define NCB 1000		/* number of columns in matrix B */main(){int    i, j, k;			/* misc */double a[NRA][NCA], 		/* matrix A to be multiplied */       b[NCA][NCB],      	/* matrix B to be multiplied */       c[NRA][NCB];		/* result matrix C *//* Initialize A, B, and C matrices */   for (i=0; i< NRA; i++)      for (j=0; j< NCA; j++)         a[i][j]= 1.;   for (i=0; i< NCA; i++)      for (j=0; j< NCB; j++)         b[i][j]= 1.;   for(i=0;i< NRA;i++)      for(j=0;j< NCB;j++)         c[i][j] = 0.0;/* Perform matrix multiply */#pragma omp parallel shared(a,b,c) private(i,j,k)num_threads(10){#pragma omp for nowait   for(i=0;i< NRA;i++)      for(j=0;j< NCB;j++)         for(k=0;k< NCA;k++)            c[i][j]+= a[i][k] * b[k][j];}   printf("Done\n");   printf("%f\n ", c[0][0]);   printf("%f\n ", c[NRA-1][NCB-1]);   printf ("\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -