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

📄 badloop.c

📁 并行计算的演示程序
💻 C
字号:
/*DESCRIPTION:		Parallelizing an inner loop with dependences		Backward dependency		 			for (i=0; i<VSIZE-1; i++) {				V[i] = ( V[i] + V[i+1] ) / 2;			}		 		Method: Try direct parallelization with PARALLEL FOR		Result: NON-CORRECT!!!*/#include<stdio.h>#include<stdlib.h>#include<omp.h>#define NUM_THREADS 4 #define VSIZE  100void main(){     int V[ VSIZE+1 ],i,U[VSIZE+1];   for (i=0; i<VSIZE+1; i++) {	V[i]=  i ;        U[i] = i ;	}   for(i=0;i<VSIZE;i++) U[i] = U[i] + U[i+1];   printf("Before Parallel Loop\n");/*   for( i = 0 ; i<10;i++) printf("V[%d]=%d ",i,V[i]); */   printf("\n");      omp_set_num_threads(NUM_THREADS);#pragma omp parallel for default(none) shared(V) private(i) schedule(static)	for (i=0; i<VSIZE; i++) {		V[i] = V[i] + V[i+1];		}   printf("After Parallel Loop\n");	/*   for( i = 0 ; i<10;i++) printf("V[%d]=%d ",i,V[i]); */   printf("\n");   for( i=0;i<VSIZE;i++)     if ( V[i] != U[i] ) printf("Found V[%d] error\n", i);}

⌨️ 快捷键说明

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