SlideServe
Menu
Préférences
© SlideServe · v2026

Efficient Parallelization of Backsolve Algorithms in Matrix Computations

clark-madden avatar
12 diapositives · 217 Views · Nov 07, 2014

This project focuses on parallelizing the backsolve algorithm for upper triangular matrices, solving equations efficiently. It covers the challenges, solution techniques, and implementation using parallel processing with MPI for improved performance.

Efficient Parallelization of Backsolve Algorithms in Matrix Computations - slide 1
01 / 12Efficient Parallelization of Backsolve Algorithms in Matrix Computations
1 / 17

Télécharger la présentation

Efficient Parallelization of Backsolve Algorithms in Matrix Computations
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. PARALLELIZATION OF MULTIPLE BACKSOLVES Project #2 James Stanley April 25, 2002

  2. PARALLELIZATION OF MULTIPLE BACKSOLVESProject #2 • Introduction (Backsolve) • Challenge • Example (m = 5) • Problem Description • Solution Technique • Parallel Implementation • Results

  3. Introduction (Backsolve) If R is an upper triangular matrix, a backsolve is a solution of the equation, Rx=b Where b is a vector of length m. The formulas for the solution are

  4. bm ___ mth equation: rmmxm = bm => xm= rmm Introduction (Backsolve) cont. from mth equation m-1th equation: rm-1,m-1xm-1 + rm-1,mxm = bm-1 bm-1- rm-1,* xm __________________ => xm-1 = rm-1

  5. Introduction (Backsolve) cont. rii,xi + ri,i+1xi+1 + …+ rim,xi = bi , for 0  i  m-1 ith equation: =>

  6. Challenge Storage: To avoid storing zeros, store n(n+1)/2 nonzero elements of R1in a 1-Dimensional array by rows, and the m(m+1)/2 Nonzero elements of R2 in a 1-Dimensional array by rows.

  7. Example Suppose m = 5, then or,

  8. Example cont. Solving for the xi’s provides in memory 

  9. Problem Description Given RHS matrix H to solve for the nxmunknown matrix Y : R1YR2T = H Where R1 is a square upper triangular matrix of order nxn and R2is a square upper triangular matrix of order mxm.

  10. (2) Let Z =R1Y • Then R1YR2T = ZR2T • ZR2T = H Solution Technique  R2ZT = HT Parallel Solution of (1) and (2): (1) R2T=HT = (h1,h2,…,hn) (2) R1Y =Z = (z1,z2,…,zm) 1rst solve (1) for the mxn matrix ZT. 2nd take the Transpose of ZT to get Z. 3rd solve (2) for the nxm solution matrix Y.

  11. Parallel Implementation • Generate HT and R2, R1 on Process 0, using a Random Number Generator. • Move all of R2 to all processes with the MPI_BCAST. (If there are p processors, then make sure n/p and m/p are integers. • Ship the n/p of the rows of H to each process with MPI_Scatter. • On each process solve n/p equations for local Z. • Ship all of the columns of Z using MPI_Gather to process 0. • Perform the transpose of Z on process 0. • Ship m/p of the rows of ZT to each process with MPI_Scatter. • On each process solve m/p equations for local Y. • Ship all of the m/p columns of local Y to process 0 and print the solution on process 0. Denotes communication time Denotes computation time

  12. Results