Original author(s) | George Fann, Robert J. Harrison |
---|---|
Developer(s) | Oak Ridge National Laboratory, Stony Brook University, Virginia Tech, Argonne National Laboratory |
Initial release | Forthcoming |
Operating system | Cross-platform |
Available in | C++ |
Type | Scientific simulation software |
License | GNU GPL v2 |
Website | github |
MADNESS (Multiresolution Adaptive Numerical Environment for Scientific Simulation) is a high-level software environment for the solution of integral and differential equations in many dimensions using adaptive and fast harmonic analysis methods with guaranteed precision based on multiresolution analysis and separated representations .
There are three main components to MADNESS. At the lowest level is a petascale parallel programming environment that aims to increases programmer productivity and code performance/scalability while maintaining backward compatibility with current programming tools such as the message-passing interface and Global Arrays. The numerical capabilities built upon the parallel tools provide a high-level environment for composing and solving numerical problems in many (1-6+) dimensions. Finally, built upon the numerical tools are new applications with initial focus upon chemistry , , atomic and molecular physics , material science, and nuclear structure. It is open source, has an object-oriented design, and is designed to be a parallel processing program for computers with up to millions of cores running already on the Cray XT5 at Oak Ridge National Laboratory and the IBM Blue Gene at Argonne National Laboratory. The small matrix multiplication (relative to large, BLAS-optimized matrices) is the primary computational kernel in MADNESS; thus, an efficient implement on modern CPUs is an ongoing research effort. . Adapting the irregular computation in MADNESS to heterogeneous platforms is nontrivial due to the size of the kernel, which is too small to be offloaded via compiler directives (e.g. OpenACC), but has been demonstrated for CPU–GPU systems . Intel has publicly stated that MADNESS is one of the codes running on the Intel MIC architecture but no performance data has been published yet.