MADNESS

{{Short description|High-level software environment}}

{{Infobox software

| name = MADNESS

| author = George Fann, Robert J. Harrison

| developer = Oak Ridge National Laboratory, Stony Brook University, Virginia Tech, Argonne National Laboratory

| released = Forthcoming

| genre = Scientific simulation software

| license = GNU GPL v2

| latest release version = {{wikidata|property|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| website = {{URL|https://github.com/m-a-d-n-e-s-s/madness}}

}}

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

{{cite journal|last1 = Beylkin|first1 = Gregory|last2=Fann|first2=George|last3 = Harrison|first3 = Robert J.|last4 = Kurcz|first4 = Christopher|last5=Monzón|first5=Lucas|title = Multiresolution representation of operators with boundary conditions on simple domains|journal = Applied and Computational Harmonic Analysis|volume = 33|issue = 1|pages = 109–139|year = 2012|doi = 10.1016/j.acha.2011.10.001|doi-access = free}}

{{cite journal|last1 = Fann|first1 = George|last2 = Beylkin|first2 = Gregory|last3 = Harrison|first3 = Robert J.|last4 = Jordan|first4 = Kirk E.|title = Singular operators in multiwavelet bases|journal = IBM Journal of Research and Development|volume = 48|issue = 2|pages = 161–171|year = 2004|doi = 10.1147/rd.482.0161|s2cid = 7385463}}

and separated representations

.{{cite journal|last1 = Beylkin|first1 = Gregory|last4 = Harrison|first4 = Robert J.|last2 = Cramer|first2 = Robert|last3=Fann|first3=George|title = Multiresolution separated representations of singular and weakly singular operators|journal = Applied and Computational Harmonic Analysis|volume = 23|issue = 2|pages = 235–253|year = 2007|doi = 10.1016/j.acha.2007.01.001|doi-access = free}}

There are three main components to MADNESS. At the lowest level is a petascale parallel programming environment

{{cite journal|last1 = Thornton|first1 = W. Scott|last2 = Vence|first2 = Nicholas|last3 = Harrison|first3 = Robert E.|title = Introducing the MADNESS numerical framework for petascale computing|journal = Proceedings of the Cray User Group Conference|year = 2009|url = http://www.cug.org/5-publications/proceedings_attendee_lists/CUG09CD/S09_Proceedings/pages/authors/01-5Monday/4A-Thornton/Thornton-paper.pdf}}

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,{{cite journal|last1=Fosso-Tande|first1=Jacob|last2=Harrison|first2=Robert

|title= Implicit solvation models in a multiresolution multiwavelet basis

|journal=Chemical Physics Letters|volume=561–562|pages=179–184|year=2013

|doi=10.1016/j.cplett.2013.01.065|bibcode=2013CPL...561..179F}}

{{cite journal|last1=Fosso-Tande|first1=Jacob|last2=Harrison|first2=Robert

|title= Confinement effects of solvation on a molecule physisorbed on a polarizable continuum particle

|journal=Computational and Theoretical Chemistry|volume=1017|pages=22–30|year=2013

|doi=10.1016/j.comptc.2013.05.006}}

, atomic and molecular physics,{{cite journal|last1=Vence|first1=Nicholas|last2=Harrison|first2=Robert|last3=Krstic|first3=Predrag

|title= Attosecond electron dynamics: A multiresolution approach

|journal=Physical Review A|volume=85|issue=3|page=0303403|year=2012

|doi=10.1103/PhysRevA.85.033403|bibcode=2012PhRvA..85c3403V|doi-access=free}}

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.

{{cite book|last5 = Harrison|first5 = Robert J.|last1=Stock|first1=Kevin|last2=Henretty|first2=Thomas|last3= Murugandi |first3=I.|last4 = Sadayappan|first4=P.| title=2011 IEEE International Parallel & Distributed Processing Symposium | chapter=Model-Driven SIMD Code Generation for a Multi-resolution Tensor Kernel |pages = 1058–1067|year = 2011|doi = 10.1109/IPDPS.2011.101|isbn = 978-1-61284-372-8|s2cid = 17880870}}

.{{cite journal|first1=Jaewook|last1=Shin|first2=Mary W.|author2-link=Mary Hall (computer scientist)|last2=Hall|first3=Jacqueline|last3=Chame|first4=Chun|last4=Chen|first5=Paul D.|last5=Hovland|title=Autotuning and specialization: Speeding up matrix multiply for small matrices with compiler technology|journal=Proceedings of the Fourth International Workshop on Automatic Performance Tuning|year=2009|url=http://www-unix.mcs.anl.gov/~jaewook/papers/iwapt09.pdf}}{{dead link|date=January 2018 |bot=InternetArchiveBot |fix-attempted=yes }}

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 CPUGPU systems

.{{cite book|last1=Slavici|first1=Vlad|last2=Varier|first2=Raghu|last3=Cooperman|first3=Gene|last4=Harrison|first4=Robert J.|title=2012 IEEE International Conference on Cluster Computing |chapter=Adapting Irregular Computations to Large CPU-GPU Clusters in the MADNESS Framework |date=September 2012|pages = 1–9|doi = 10.1109/CLUSTER.2012.42|url = http://www.ccs.neu.edu/home/gene/papers/cluster12a.pdf|isbn=978-0-7695-4807-4|s2cid=5637880}}

Intel has publicly stated that MADNESS is one of the codes running on the Intel MIC architecture

{{cite web

|url=http://software.intel.com/en-us/blogs/2011/11/17/mic-architecture-support-by-software-tools-sc11-wrap-up

|title= Intel Xeon Phi coprocessor support by software tools

|author=James Reinders

|date=20 September 2012}}

{{cite web

|url=https://www.theregister.co.uk/2011/11/16/intel_mic_xeon_e5_performance/

|title= Hot Intel teraflops MIC coprocessor action in a hotel

|author=Timothy Prickett Morgan

|website= The Register

|date=16 November 2011}}

but no performance data has been published yet.

MADNESS' chemistry capability includes Hartree–Fock and density functional theory in chemistry

{{cite journal|last1 = Harrison|first1 = Robert J.|last2 = Fann|first2 = George I.|last3 = Yanai|first3 = Takeshi|last4 = Gan|first4 = Zhengting|last5 = Beylkin|first5 = Gregory|title = Multiresolution quantum chemistry: Basic theory and initial applications|journal = The Journal of Chemical Physics|volume = 121|issue = 23|pages = 11587–11598|year = 2004|doi = 10.1063/1.1791051|url = http://link.aip.org/link/?JCP/121/11587/1|pmid = 15634124|bibcode = 2004JChPh.12111587H|access-date = 2019-05-15|archive-url = https://archive.today/20130223162802/http://link.aip.org/link/?JCP/121/11587/1|archive-date = 2013-02-23|url-status = dead}}

{{cite journal|last4 = Harrison|first4 = Robert J.|last2 = George I.|first2 = Fann|last1 = Yanai|first1 = Takeshi|last3 = Gan|first3 = Zhengting|last5 = Beylkin|first5 = Gregory|title = Multiresolution quantum chemistry: Hartree-Fock exchange|journal = The Journal of Chemical Physics|volume = 121|issue = 14|pages = 6680–6688|year = 2004|doi = 10.1063/1.1790931|pmid = 15473723|url = http://link.aip.org/link/?JCP/121/6680/1|bibcode = 2004JChPh.121.6680Y|access-date = 2019-05-15|archive-url = https://archive.today/20130224003543/http://link.aip.org/link/?JCP/121/6680/1|archive-date = 2013-02-24|url-status = dead}}

(including analytic derivatives,{{cite journal|last4 = Harrison|first4 = Robert J.|last2 = George I.|first2 = Fann|last1 = Yanai|first1 = Takeshi|last3 = Gan|first3 = Zhengting|last5 = Beylkin|first5 = Gregory|title = Multiresolution quantum chemistry: Analytic derivatives for Hartree--Fock and density functional theory|journal = The Journal of Chemical Physics|volume = 121|issue = 7|pages = 2866–2876|year = 2004|doi = 10.1063/1.1768161|pmid = 15291596|url = http://link.aip.org/link/?JCP/121/2866/1|bibcode = 2004JChPh.121.2866Y|access-date = 2019-05-15|archive-url = https://archive.today/20130223084131/http://link.aip.org/link/?JCP/121/2866/1|archive-date = 2013-02-23|url-status = dead}} response properties

{{cite journal|last1 = Sekino|first1 = Hideo|last2 = Maeda|first2 = Yasuyuki|last3 = Yanai|first3 = Takeshi|last4 = Harrison|first4 = Robert J.|title = Basis set limit Hartree--Fock and density functional theory response property evaluation by multiresolution multiwavelet basis|journal = The Journal of Chemical Physics|volume = 129|issue = 3|pages = 034111–034117|year = 2008|doi = 10.1063/1.2955730|url = http://link.aip.org/link/?JCP/129/034111/1|pmid = 18647020|bibcode = 2008JChPh.129c4111S|access-date = 2019-05-15|archive-url = https://archive.today/20130223111053/http://link.aip.org/link/?JCP/129/034111/1|archive-date = 2013-02-23|url-status = dead}}

and time-dependent density functional theory with asymptotically corrected potentials

{{cite journal|last1=Yanai|first1=Takeshi|last2 = Harrison|first2 = Robert J.|last3=Handy|first3=Nicholas C.|title = Multiresolution quantum chemistry in multiwavelet bases: time-dependent density functional theory with asymptotically corrected potentials in local density and generalized gradient approximations|journal = Molecular Physics|volume = 103|issue = 2–3|pages = 413–424|year = 2005|doi = 10.1080/00268970412331319236|bibcode=2005MolPh.103..413Y|s2cid=96910088|url=https://zenodo.org/record/1234395}})

as well as nuclear density functional theory{{cite web |url=http://www.unedf.org/ |title=UNEDF SciDAC Collaboration Universal Nuclear Energy Density Functional |access-date=2012-11-19 |archive-url=https://web.archive.org/web/20130403054104/http://unedf.org/ |archive-date=2013-04-03 |url-status=dead }}

and

Hartree–FockBogoliubov theory.

{{cite journal |first1=J.C.|last1=Pei|first2=G.I.|last2=Fann|first3=R.J.|last3=Harrison|first4=W.|last4=Nazarewicz|first5=J.|last5=Hill|first6=D.|last6=Galindo|first7=J.|last7=Jia |arxiv=1204.5254 |title=Coordinate-Space Hartree-Fock-Bogoliubov Solvers for Superfluid Fermi Systems in Large Boxes|year=2012 |doi=10.1088/1742-6596/402/1/012035 |volume=402 |issue=1|journal=Journal of Physics: Conference Series |page=012035|bibcode=2012JPhCS.402a2035P|s2cid=119215739}}{{cite journal

|last1=Pei|first1=J. C.|last2=Stoitsov|first2=M. V.|last3=Fann|first3=G. I.

|last4=Nazarewicz|first4=W.|last5=Schunck|first5=N.|last6=Xu|first6=F. R.

|title = Deformed coordinate-space Hartree-Fock-Bogoliubov approach to weakly bound nuclei and large deformations

|journal = Physical Review C

|volume = 78

|issue = 6

|date=December 2008

|pages = 064306–064317

|doi = 10.1103/PhysRevC.78.064306

|arxiv=0807.3036|bibcode=2008PhRvC..78f4306P|s2cid=119281109}}

MADNESS and BigDFT are the two most widely known codes that perform DFT and TDDFT using wavelets

.{{cite journal|first1=Bhaarathi|last1=Natarajan|first2=Luigi|last2=Genovese|first3=Mark E.|last3=Casida|first4=Thierry|last4=Deutsch|first5=Olga N.|last5=Burchak|first6=Christian|last6=Philouze|first7=Maxim Y.|last7=Balakirev|title = Wavelet-based linear-response time-dependent density-functional theory |journal = Chemical Physics|volume = 402 |pages = 29–40|year = 2012|doi = 10.1016/j.chemphys.2012.03.024 |arxiv=1108.3475|bibcode=2012CP....402...29N|s2cid=96589229}}

Many-body wavefunctions requiring six-dimensional spatial representations are also implemented

(e.g. MP2{{cite journal|last1 = Bischoff|first1 = Florian A.|last2 = Harrison|first2 = Robert J.|last3 = Valeev|first3 = Edward F.|title = Computing many-body wave functions with guaranteed precision: The first-order Moller-Plesset wave function for the ground state of helium atom|journal = The Journal of Chemical Physics|volume = 137|issue = 10|pages = 104103–104112|year = 2012|doi = 10.1063/1.4747538|pmid = 22979846|url = http://link.aip.org/link/?JCP/137/104103/1|bibcode = 2012JChPh.137j4103B|access-date = 2019-05-15|archive-url = https://archive.today/20130223065104/http://link.aip.org/link/?JCP/137/104103/1|archive-date = 2013-02-23|url-status = dead}}).

The parallel runtime inside of MADNESS has been used to implement a wide variety of features, including graph optimization

.{{cite tech report|last1 = Sullivan|first1=Blair D.|last2=Weerapurage|first2=Dinesh P.|last3=Groer|first3=Christopher S.|title = Parallel Algorithms for Graph Optimization using Tree Decompositions |year = 2012|doi = 10.2172/1042920|url = https://dx.doi.org/10.2172/1042920}}

From a mathematical perspective, MADNESS emphasizes rigorous numerical precision without loss of computational performance

.{{cite journal|last2 = Fann|first2 = George I.|last1 = Harrison|first1 = Robert J.|title = SPEED and PRECISION in QUANTUM CHEMISTRY|journal = SciDAC Review|volume = 1|issue = 3|pages = 54–65|year = 2007|url = http://www.scidacreview.org/0701/html/chemistry.html|access-date = 2012-11-19|archive-url = https://web.archive.org/web/20120803155207/http://www.scidacreview.org/0701/html/chemistry.html|archive-date = 2012-08-03|url-status = dead}} This is useful not only in quantum chemistry and nuclear physics, but also the modeling of partial differential equations

.{{cite journal|last1 = Reuter|first1 = Matthew G.|last3 = Harrison|first3 = Robert J.|last2 = Hill|first2 = Judith C.|title = Solving PDEs in irregular geometries with multiresolution methods I: Embedded Dirichlet boundary conditions|journal = Computer Physics Communications|volume = 183|issue = 1|pages = 1–7|year = 2012|doi = 10.1016/j.cpc.2011.07.001|bibcode = 2012CoPhC.183....1R|url = https://zenodo.org/record/1258871}}

MADNESS was recognized by the R&D 100 Awards in 2011.{{cite news | url=http://www.rdmag.com/award-winners/2011/08/free-framework-scientific-simulation | title=Free framework for scientific simulation | work=R&D Magazine | date=14 August 2011 | access-date=November 26, 2012}}{{cite web|url=http://www.olcf.ornl.gov/2011/06/29/madness-named-rd-100-winner/ |title=MADNESS Named R&D 100 Winner}} It is an important code to Department of Energy supercomputing sites and is being used by both the leadership computing facilities at Argonne National Laboratory{{cite web|url=https://www.alcf.anl.gov/projects/accurate-numerical-simulations-chemical-phenomena-involved-energy-production-and-storage/ |title=Accurate Numerical Simulations Of Chemical Phenomena Involved in Energy Production and Storage with MADNESS and MPQC}}

and Oak Ridge National Laboratory{{cite web|url=http://www.olcf.ornl.gov/wp-content/uploads/2012/05/CrayTechOct2012Bronson2.pdf |title=Application Readiness at ORNL}} to evaluate the stability and performance of their latest supercomputers. It has users around the world, including the United States and Japan

.{{cite web

|url = http://www.jics.tennessee.edu/yukina

|title = Far from home - Japanese graduate student journeys to UT to study computational chemistry

|url-status = dead

|archive-url = https://archive.today/20121215010848/http://www.jics.tennessee.edu/yukina

|archive-date = 2012-12-15

}}

MADNESS has been a workhorse code for computational chemistry in the DOE INCITE program

{{cite web

|url = http://www.hpcwire.com/hpcwire/2011-06-01/chemistry_and_materials_simulations_speed_clean_energy_production_and_storage.html

|title = Chemistry and Materials Simulations Speed Clean Energy Production and Storage

|date = 1 June 2011

|url-status = dead

|archive-url = https://web.archive.org/web/20110806073031/http://www.hpcwire.com/hpcwire/2011-06-01/chemistry_and_materials_simulations_speed_clean_energy_production_and_storage.html

|archive-date = 6 August 2011

}}

at the Oak Ridge Leadership Computing Facility

{{cite journal|first1=A.|last1=Bland|first2=R.|last2=Kendall|first3=D.|last3=Kothe|first4=J.|last4=Rogers|first5=G.|last5=Shipman|title=Jaguar: The world's most powerful computer|journal=Proceedings of the Cray User Group Conference|year=2010|url=http://www.nccs.gov/wp-content/uploads/2010/01/Bland-Jaguar-Paper.pdf|url-status=dead|archive-url=https://web.archive.org/web/20121224203858/http://www.nccs.gov/wp-content/uploads/2010/01/Bland-Jaguar-Paper.pdf|archive-date=2012-12-24}}

and is noted as one of the important codes to run on the Cray Cascade architecture.{{cite web

|url=http://www.greencarcongress.com/2012/11/cascade-20121108.html

|title= Cray unveils 100 petaflop XC30 supercomputer

|date= 8 November 2012}}

See also

References

{{reflist|colwidth=30em}}