Parallel program design: a foundation
Parallel program design: a foundation
Numerical computation of internal & external flows: fundamentals of numerical discretization
Numerical computation of internal & external flows: fundamentals of numerical discretization
How to write parallel programs: a guide to the perplexed
ACM Computing Surveys (CSUR)
Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
Crystal: theory and pragmatics of generating efficient parallel code
Parallel functional languages and compilers
High performance Fortran languages: advanced applications and their implementation
Future Generation Computer Systems - Special double issue: high performance computing and networking (HPCN)
On the portability and efficiency of parallel algorithms and software
Parallel Computing
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering
Parallelisation of a hydrodynamic model for the Northwest European continental shelf
HPCN Europe '95 Proceedings of the International Conference and Exhibition on High-Performance Computing and Networking
Parallel Programming Using Skeleton Functions
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
Functional Development of Massively Parallel Programs (Invited Paper)
Proceedings of the International Conference on Formal Methods in Programming and Their Applications
Irregular applications in PROMOTER
PMMP '95 Proceedings of the conference on Programming Models for Massively Parallel Computers
Large scale computing at Rijkswaterstaat
Parallel Computing
Hi-index | 0.00 |
A formalism is proposed for describing finite difference calculations in an abstract way. The formalism consists of index sets and stencils, for characterizing the structure of sets of data items and interactions between data items (“neighbouring relations”). The formalism provides a means for lifting programming to a more abstract level. This simplifies the tasks of performance analysis and verification of correctness, and opens the way for automatic code generation. The notation is particularly useful in parallelization, for the systematic construction of parallel programs in a process/channel programming paradigm (e.g., message passing). This is important because message passing, unfortunately, still is the only approach that leads to acceptable performance for many more unstructured or irregular problems on parallel computers that have non-uniform memory access times. It will be shown that the use of index sets and stencils greatly simplifies the determination of which data must be exchanged between different computing processes.