Multigrid
C++2MPI: A Software Tool for Automatically Generating MPI Datatypes from C++ Classes
PARELEC '00 Proceedings of the International Conference on Parallel Computing in Electrical Engineering
SableCC, an Object-Oriented Compiler Framework
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Hardware-oriented numerics and concepts for PDE software
Future Generation Computer Systems
Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level
Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level
Numerical Simulation of Particle Transport in a Drift Ratchet
SIAM Journal on Scientific Computing
Extended MPICC to generate MPI derived datatypes from C datatypes automatically
PVM/MPI'07 Proceedings of the 14th European conference on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Editorial: Special section: Tools for program development and analysis in computational science
Future Generation Computer Systems
Instance-based XML data binding for mobile devices
Proceedings of the Third International Workshop on Middleware for Pervasive Mobile and Embedded Computing
PRACE DECI (distributed european computing initiative) minisymposium
PARA'12 Proceedings of the 11th international conference on Applied Parallel and Scientific Computing
Hi-index | 0.00 |
A PDE solver's value is increasingly co-determined by its memory footprint, as the increase of computational multicore power overtakes the memory access speed, and as memory restricts the maximum experiment size. Tailoring a code to require less memory is technical challenging, error-prone, and hardware-dependent. Object-oriented code typically consumes much memory, though developers favour such high-level languages offering meaningful models and good maintainability. We augment the language C++ with new keywords branding records to be memory-critical. Our precompiler DaStGen then transforms this augmented specification into plain C++ optimised for low memory requirements. Hereby, it encodes multiple attributes with fixed range within one variable, and it reduces the number of bits per floating point value. The tool also generates one user-defined MPI data type per class and, thus, facilitates the construction of parallel codes with small messages.