Next:
List of Figures
Up:
Techniques used to
Previous:
Acknowledgements
Contents
List of Figures
List of Tables
Introduction
Background
An overview of SymPLA
Parallel programming tools
Parallel programming languages
High Performance Fortran
MasPar Programming Language
Parallel C++
pC++
Compositional C++
Message passing environments
PVM
MPI
NX
BLACS
Numerical libraries
BLAS
LAPACK
SCALAPACK
The SymPLA class library
Properties
Basic foundations
Design and implementation
Matrix declaration
Matrix algebra
Accessing the matrix size
Maximal or minimal elements
How to store the matrix data
Modifications in other structures
Submatrices
IndexLists
Practical submatrices
Factorization and system solving
Implementation details
Input and output of data in matrices
Data in files
Data in memory
Constants
The Identity matrix
The diagonal matrix
Element functions
Vectors
Summary of techniques
Implementations
Sequential version
Parallel versions
SIMD implementation
MIMD implementation
Experiences
Performance
LAPACK version
Addition
Multiplication
LU factorization
Overhead
ScaLAPACK version
Addition
Multiplication
LU factorization
Overhead
Scalability
MasPar version
Addition
Multiplication
LU factorization
Overhead
Ease of use
A conjugated gradient routine
Portability and extensions
Conclusions and future work
A complete, standard Matrix class library
Parallel extensions
Conclusions
References
Source code: SymPLA header files
Source/include/Matrix.h
Source/include/MatrixHandler.h
Source/include/SolverCollection.h
Source/include/LUsolver.h
Source/include/Permute.h
Source/include/TriangularSolver.h
Source/include/Minimax.h
Source/include/Matrixdefs.h
Source/include/Vector.h
Source/include/VectorHandler.h
Source/include/TransposedVector.h
Source/include/TransposedVectorHandler.h
Source/include/OuterProduct.h
Source/include/IndexList.h
Source/include/Exception.h
Source/include/Diag.h
Source/include/Special.h
Source code: SymPLA Library
Source/library/Matrix.C
Source/library/MatrixHandler.C
Source/library/LUsolver.C
Source/library/Permute.C
Source/library/TriangularSolver.C
Source/library/MatMinimax.C
Source/library/Vector.C
Source/library/VectorHandler.C
Source/library/TransVector.C
Source/library/TransVectorH.C
Source/library/VecMinimax.C
Source/library/OuterProduct.C
Source/library/IndexList.C
Source/library/Special.C
Source/library/Exception.C
Source code: LAPACK version
Source/single/Matrixscope.h
Source/single/Vectorscope.h
Source/single/blas.h
Source/single/MatrixScope.C
Source/single/VectorScope.C
Source code: SCALAPACK version
Source/client/Matrixscope.h
Source/client/Vectorscope.h
Source/client/Scala.h
Source/client/Scalaprocid.h
Source/client/Clientcount.h
Source/client/ScalaException.h
Source/client/pblas.h
Source/client/scalapack.h
Source/client/MatrixScope.C
Source/client/VectorScope.C
Source/client/ScalaClient.C
Source/client/ScalaCBLACS.C
Source/client/ScalaServer.C
Source/client/distribution.C
Source/client/ScalaServerBLACS.C
Source/client/Scaladescr.C
Source/client/Scalaparam.C
Source/client/Clientcount.C
Source/client/functiondef.C
Source code: MasPar version
Source/maspar/Matrixscope.h
Source/maspar/Vectorscope.h
Source/maspar/Maspar.h
Source/maspar/MatrixScopeMaspar.C
Source/maspar/VectorScopeMaspar.C
Source/maspar/functiondef.C
Source/maspar/DPUmatrixserver.m
About this document ...