正在加载图片...
#define E 0.0001 total=o #define a(x,y)ax*sizetyl MPI Init( &argc, &argv) #define b(x)bx] MPI Comm size(MPI COMM WORld #define v(x)vE /A为size·sie的系数矩阵考 MPI Comm rank(MPI COMM WORLD, #define A(x y)Ax*sizetyl &my rank); #define B(x)Bx P-group size, #define V(x)VIx #define intsize sizeof(int) if(my_ rank==0) #define floatsize sizeof(float) #define charsize sizeof( char) A=fopen(datain. txt,r"); &size, &N) if(size =N-1) float *B printf("the input is wrong"); float *A exit(1); float *V. Int my ran A=(float")malloc(floatsize*size*size) malloc(floatsize*size) FILE fdA. *fdB. fdB 1 ze, i++) void Environment Finalize(float *a float *b, float v) for(=0; j< size, j+ scanf( fdA, %f, A+i*size+j) fscanf(fdA, %f, B+i); for( fscanf(fdA, " %f, V+i); int main(int argc, char **argv) printf( "Input of file I"datain. txt"ln") int i j, my rank, group size; printf("%d\%dn", size, N); int k sum for(i=0 float b for(j=0; j float*a: printf("%ft", A(i)) float "differ printf("%fn", B() float int iteration, total, loop: printf("n"); for(i=0; 1< size, 1++) printf("%ft", vO)#define E 0.0001 #define a(x,y) a[x*size+y] #define b(x) b[x] #define v(x) v[x] /*A 为 size*size 的系数矩阵*/ #define A(x,y) A[x*size+y] #define B(x) B[x] #define V(x) V[x] #define intsize sizeof(int) #define floatsize sizeof(float) #define charsize sizeof(char) int size,N; int m; float *B; float *A; float *V; int my_rank; int p; MPI_Status status; FILE *fdA,*fdB,*fdB1; void Environment_Finalize(float *a,float *b,float *v) { free(a); free(b); free(v); } int main(int argc, char **argv) { int i,j,my_rank,group_size; int k; float *sum; float *b; float *v; float *a; float *differ; float temp; int iteration,total,loop; int r,q; loop=0; total=0; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD, &group_size); MPI_Comm_rank(MPI_COMM_WORLD, &my_rank); p=group_size; if(my_rank==0) { fdA=fopen("dataIn.txt","r"); fscanf(fdA,"%d %d", &size, &N); if (size != N-1) { printf("the input is wrong\n"); exit(1); } A=(float *)malloc(floatsize*size*size); B=(float *)malloc(floatsize*size); V=(float *)malloc(floatsize*size); for(i = 0; i < size; i++) { for(j = 0; j < size; j++) fscanf(fdA,"%f", A+i*size+j); fscanf(fdA,"%f", B+i); } for(i = 0; i < size; i ++) fscanf(fdA,"%f", V+i); fclose(fdA); printf("Input of file \"dataIn.txt\"\n"); printf("%d\t%d\n", size, N); for(i = 0; i < size; i ++) { for(j = 0; j < size; j ++) printf("%f\t",A(i,j)); printf("%f\n",B(i)); } printf("\n"); for(i = 0; i < size; i ++) printf("%f\t", V(i));
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有