Matrix-free methods for stiff systems of ODE's
SIAM Journal on Numerical Analysis
GMRES: a generalized minimal residual algorithm for solving nonsymmetric linear systems
SIAM Journal on Scientific and Statistical Computing
ACM Transactions on Mathematical Software (TOMS)
A set of level 3 basic linear algebra subprograms
ACM Transactions on Mathematical Software (TOMS)
Efficient management of parallelism in object-oriented numerical software libraries
Modern software tools for scientific computing
The C++ standard library: a tutorial and reference
The C++ standard library: a tutorial and reference
Local rectangular refinement with application to nonreacting and reacting fluid flow problems
Journal of Computational Physics
Basic Linear Algebra Subprograms for Fortran Usage
ACM Transactions on Mathematical Software (TOMS)
A Discipline of Programming
Self-Avoiding Walks over Adaptive Unstructured Grids
Proceedings of the 11 IPPS/SPDP'99 Workshops Held in Conjunction with the 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing
Generic Graph Algorithms for Sparse Matrix Ordering
ISCOPE '99 Proceedings of the Third International Symposium on Computing in Object-Oriented Parallel Environments
Reducing the bandwidth of sparse symmetric matrices
ACM '69 Proceedings of the 1969 24th national conference
Globalized Newton-Krylov-Schwarz Algorithms and Software for Parallel Implicit CFD
International Journal of High Performance Computing Applications
Lifting sequential graph algorithms for distributed-memory parallel computation
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Effecting parallel graph eigensolvers through library composition
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Science of Computer Programming
Ownership passing: efficient distributed memory programming on multi-core systems
Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programming
Hi-index | 0.00 |
We present case studies that apply generic programming to the development of high-performance parallel code for solving two archetypal PDEs. We examine the overall structure of the example scientific codes and consider their generic implementation. With a generic approach it is a straight-forward matter to reuse software components from different sources; implementations with components from ITL, MTL, Blitz++, A++/P++, and Fortran BLAS are presented. Our newly-developed Generic Message Passing framework is used for communication. We compare the generic implementations to equivalent implementations developed with alternative libraries and languages and discuss not only performance but software engineering issues as well.