正在加载图片...
作为主行被广播,通信时间为nt+(n+1)]logp,所以该算法总共需要的并行计算时间为 T=m2-n212-m2(m-1)2+n[t+(n+1)h]log MPI源程序请参见所附光盘。 13小结 线性代数方程组的求解在科学和工程计算中应用非常广泛,这是因为很多科学和工程问 题大多可以化为线性代数方程组来求解。本章主要讨论线性方程组的直接解法,使读者能够 了解与掌握利用矩阵变换技巧逐步消元从而求解方程组的基本方法。这种方法可以预先估计 运算量,并可以得到问题的准确解,但由于实际计算过程中总存在舍入误差,因此得到的结 果并非绝对精确,并且还存在着计算过程的稳定性问题。另外,文献[1展示了三角形方程 组求解器可在多计算机上有效地实现,[2]讨论了共享存储和分布存储结构的并行机上稠密 线性方程组的并行算法,[3]是一本很好的综述性专著,它全面地讨论了向量和并行机上线 性方程组的直接法和迭代法的并行求解方法,[4中对各类线性方程组的直接解法有更详尽 的讲解与分析,读者可以追踪进一步阅读。 参考文献 [1]. Romine C H, Ortega J M. Parallel Solution of Triangular Systems of Equations. Parallel Computing,19886:109-114 [2]. Gallivan K A, PlemmonsR J, Sameh A H. Parallel Algorithms for Dense Linear Algebra Computations. SIAM Rev., 1990, 32(1): 54-135 [3]. Ortega J M. Introduction to Parallel and Vector Solution of Linear Systems. Plenum, 1988 [4].陈国良编著.并行算法的设计与分析(修订版).高等教育出版社,2002.11 附录全主元高斯消去法并行算法的MP源程序 1.源程序 gauss.C #include"stdio. h" int N #include "stdlib. h Int #include"mpi. h #include"math. h float "B #define a(x, y)a[*M+yI p /A为MM的系数矩阵* int 1; #define A(x y)A[x*M+yl MPI Status status. #define B(x)Bx #define floatsize sizeof(float) void fatal(char *message) #define intsize sizeof(int) printf("%sln", message);作为主行被广播,通信时间为 n[ts+ (n+1)tw] logp ,所以该算法总共需要的并行计算时间为 Tp= mn2 -n 2 /2- n 2 (m -1)/2+n[ts+(n+1)tw] log。 MPI 源程序请参见所附光盘。 1.3 小结 线性代数方程组的求解在科学和工程计算中应用非常广泛,这是因为很多科学和工程问 题大多可以化为线性代数方程组来求解。本章主要讨论线性方程组的直接解法,使读者能够 了解与掌握利用矩阵变换技巧逐步消元从而求解方程组的基本方法。这种方法可以预先估计 运算量,并可以得到问题的准确解,但由于实际计算过程中总存在舍入误差,因此得到的结 果并非绝对精确,并且还存在着计算过程的稳定性问题。另外,文献[1]展示了三角形方程 组求解器可在多计算机上有效地实现,[2]讨论了共享存储和分布存储结构的并行机上稠密 线性方程组的并行算法,[3]是一本很好的综述性专著,它全面地讨论了向量和并行机上线 性方程组的直接法和迭代法的并行求解方法,[4]中对各类线性方程组的直接解法有更详尽 的讲解与分析,读者可以追踪进一步阅读。 参考文献 [1]. Romine C H, Ortega J M. Parallel Solution of Triangular Systems of Equations. Parallel Computing, 1988, 6:109-114 [2]. Gallivan K A, Plemmons R J, Sameh A H. Parallel Algorithms for Dense Linear Algebra Computations. SIAM Rev., 1990,32(1):54-135 [3]. Ortega J M. Introduction to Parallel and Vector Solution of Linear Systems. Plenum,1988 [4]. 陈国良 编著.并行算法的设计与分析(修订版).高等教育出版社,2002.11 附录 全主元高斯消去法并行算法的 MPI 源程序 1. 源程序 gauss.c #include "stdio.h" #include "stdlib.h" #include "mpi.h" #include "math.h" #define a(x,y) a[x*M+y] #define b(x) b[x] /*A 为 M*M 的系数矩阵*/ #define A(x,y) A[x*M+y] #define B(x) B[x] #define floatsize sizeof(float) #define intsize sizeof(int) int M; int N; int m; float *A; float *B; int my_rank; int p; int l; MPI_Status status; void fatal(char *message) { printf("%s\n",message); exit(1);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有