3,985 research outputs found
TRIQS: A Toolbox for Research on Interacting Quantum Systems
We present the TRIQS library, a Toolbox for Research on Interacting Quantum
Systems. It is an open-source, computational physics library providing a
framework for the quick development of applications in the field of many-body
quantum physics, and in particular, strongly-correlated electronic systems. It
supplies components to develop codes in a modern, concise and efficient way:
e.g. Green's function containers, a generic Monte Carlo class, and simple
interfaces to HDF5. TRIQS is a C++/Python library that can be used from either
language. It is distributed under the GNU General Public License (GPLv3).
State-of-the-art applications based on the library, such as modern quantum
many-body solvers and interfaces between density-functional-theory codes and
dynamical mean-field theory (DMFT) codes are distributed along with it.Comment: 27 page
Exploiting the Parallelism Exposed by Partial Evaluation
We describe an approach to parallel compilation that seeks to harness the vast amount of fine-grain parallelism that is exposed through partial evaluation of numerically-intensive scientific programs. We have constructed a compiler for the Supercomputer Toolkit parallel processor that uses partial evaluation to break down data abstractions and program structure, producing huge basic blocks that contain large amounts of fine-grain parallelism. We show that this fine-grain prarllelism can be effectively utilized even on coarse-grain parallel architectures by selectively grouping operations together so as to adjust the parallelism grain-size to match the inter-processor communication capabilities of the target architecture
Simulating futures in extended common LISP
Stack-groups comprise the mechanism underlying implementation of multiprocessing in Extended Common LISP, i.e., running multiple quasi-simultaneous processes within a single LISP address space. On the other hand, the future construct of MULTILISP, an extension of the LISP dialect scheme, deals with parallel execution. The source of concurrency that future exploits is the overlap between computation of a value and use of the value. Described is a simulation of the future construct by an interpreter utilizing stack-group extensions to common LISP
- …