Parallel netCDF: A High-Performance Scientific I/O Interface
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
An unsplit Godunov method for ideal MHD via constrained transport
Journal of Computational Physics
The CCA component model for high-performance scientific computing
Concurrency and Computation: Practice & Experience - Computational Frameworks
Managing complex data and geometry in parallel structured AMR applications
Engineering with Computers
IBM Journal of Research and Development
Development of cactus driver for CFD analyses in the grid computing environment
EGC'05 Proceedings of the 2005 European conference on Advances in Grid Computing
Functional Partitioning to Optimize End-to-End Performance on Many-core Architectures
Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis
Experiences using smaash to manage data-intensive simulations
Proceedings of the 20th international symposium on High performance distributed computing
Optimization of multigrid based elliptic solver for large scale simulations in the FLASH code
Concurrency and Computation: Practice & Experience
Data-intensive management and analysis for scientific simulations
AusPDC '11 Proceedings of the Ninth Australasian Symposium on Parallel and Distributed Computing - Volume 118
Fault tolerance using lower fidelity data in adaptive mesh applications
Proceedings of the 3rd Workshop on Fault-tolerance for HPC at extreme scale
Pragmatic optimizations for better scientific utilization of large supercomputers
International Journal of High Performance Computing Applications
Multiphysics simulations: Challenges and opportunities
International Journal of High Performance Computing Applications
Hi-index | 0.00 |
FLASH is a publicly available high performance application code which has evolved into a modular, extensible software system from a collection of unconnected legacy codes. FLASH has been successful because its capabilities have been driven by the needs of scientific applications, without compromising maintainability, performance, and usability. In its newest incarnation, FLASH3 consists of inter-operable modules that can be combined to generate different applications. The FLASH architecture allows arbitrarily many alternative implementations of its components to co-exist and interchange with each other, resulting in greater flexibility. Further, a simple and elegant mechanism exists for customization of code functionality without the need to modify the core implementation of the source. A built-in unit test framework providing verifiability, combined with a rigorous software maintenance process, allow the code to operate simultaneously in the dual mode of production and development. In this paper we describe the FLASH3 architecture, with emphasis on solutions to the more challenging conflicts arising from solver complexity, portable performance requirements, and legacy codes. We also include results from user surveys conducted in 2005 and 2007, which highlight the success of the code.