The SCIRun computational steering software system
Modern software tools for scientific computing
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
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
A parallel adaptive cartesian PDE solver using space–filling curves
Euro-Par'06 Proceedings of the 12th international conference on Parallel Processing
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
Instance-based XML data binding for mobile devices
Proceedings of the Third International Workshop on Middleware for Pervasive Mobile and Embedded Computing
Hi-index | 0.00 |
Simulation codes often suffer from high memory requirements. This holds in particular if they are memory-bounded, and, with multicore systems coming up, the problem will become even worse as more and more cores have to share the memory connections. To optimise data structures with respect to memory manually is error-prone and cumbersome.This paper presents the tool DaStGen translating classes declared in C++ syntax and augmented by new keywords into plain C++ code. The tool automates the record optimisation, as it analyses the potential range of each attribute, and as the user can restrict this range further. Herefrom, the generated code stores multiple attributes within one single primitive type. Furthermore, the tool derives user-defined MPI data types for each class. Using the tool reduces any algorithm's memory footprint, it speeds up memory-bounded applications such as CFD codes, and it hides technical details of MPI applications from the programmer.