SAMRAI Rapid Development Kit (SAMRAI-RDK)Developer: Kevin T. Chu
The SAMRAI Rapid Development Kit (SAMRAI-RDK) is designed to make it easier to do rapid prototyping and fast code development using the SAMRAI library. The kit consists of a small collection of C++ classes that support quick access to several commonly used SAMRAI functions and calculations common to many scientific computations (e.g. creating and allocating memory for variables, filling ghostcells, and setting boundary conditions).
SAMRAI is an excellent software library developed and maintained in the Center for Applied Scientific Computing (CASC) at Lawrence Livermore National Laboratory (LLNL). It is designed to support high-performance and scalable scientific computations on structured-adaptive meshes. For instance, SAMRAI provides functionality to
- manage parallelism,
- handle structured, adaptive mesh refinement, and
- check-point and restart calculations.
A major design goal of SAMRAI is to provide support for each of these features in a scalable manner. Furthermore, the API for SAMRAI is designed to shield the application developer from the tedious bookkeeping and memory management involved in writing code for parallel, structured adaptive mesh refinement applications. The underlying philosophy of SAMRAI is that an application developer should be able to migrate to a high-performance, parallel program with adaptive mesh capabilities with minimal effort once a satisfactory numerical algorithm has been developed for calculations on a single, simple rectangular mesh.
SAMRAI is also designed to be a very general software framework for scientific computing and provide support for a wide range of scientific applications. Unfortunately, the flexibility provided by SAMRAI can make it difficult to quickly develop new applications and imposes a steep learning curve for new users. The SAMRAI Rapid Development Kit is designed to lower the activation energy required to use and learn the SAMRAI library.
The most important class in the SAMRAI-RDK is the DataManager class which provides a single point of access for SAMRAI functions. Documentation for the usage of the SAMRAI-RDK currently consists primarily of the header file for the DataManager class and a few example codes.
- This library is still under development and has not been thoroughly tested. If you find a bug or have comments/suggestions, please send me email at ktchu AT serendipityresearch DOT org, and I will attempt to fix it in the next release of the library. Thank you for your patience during the development process.
- We are happy to have other researchers use the SAMRAI-RDK software in their work (either through collaborations or independently). We merely ask that you keep us aware of your accomplishments and that you reference SAMRAI-RDK in presentations and documents that result from your use of the library.