The ALPS Project Open Source Software for Strongly Correlated Systems Matthias Troyer, ETH Zürich for the ALPS co!aboration 1 The ALPS collaboration Universität Stuttgart, Germany ETH Zürich, Switzerland • Stefan Wessel • Philippe Corboz Université de Toulouse, France • Lukas Gamper • Fabien Alet • Emanuel Gull • Lode Pollet TU Graz, Austria • Matthias Troyer • Franz Michel IRRMA Lausanne, Switzerland UC Santa Barbara, USA • Andreas Läuchli • Adrian Feiguin • Simon Trebst RWTH Aachen, Germany UC Davis, USA • Ulrich Schollwöck • Munehisa Matsumoto Universität Marburg, Germany Columbia University, USA • Reinhard Noack • Philipp Werner • Salvatore Manmana Honk Kong University, China • Siegfried Gürtler Institute of Metal Physics, Ekaterinburg, Russia • Anton Kozhevnikov University of Tokyo, Japan A. Mickiewicz University, Poznan, Poland • Ryo Igarashi • Grzegorz Pawłowski • Synge Todo University of Queensland, Australia Universität Göttingen, Germany • Ian McCulloch • Sebastian Fuchs University of New South Wales, Australia • Andreas Honecker • Fabricio Albuquerque • Thomas Pruschke 2 The ALPS project Algorithms and Libraries for Physics Simulations • open source data formats, libraries and simulation codes for quantum lattice models • download codes from website http://alps.comp-phys.org 3 Simulation codes of quantum lattice models 4 Simulation codes of quantum lattice models • The status quo • individual codes • model-specific implementations • growing complexity of methods 4 Simulation codes of quantum lattice models • The status quo • individual codes • model-specific implementations • growing complexity of methods • ALPS • community codes • generic implementations • simplified code development • common file formats 4 Simulation codes of quantum lattice models • The status quo • individual codes Key Technologies • model-specific implementations • growing complexity of methods Generic Programming in C++ • flexibility • high-performance • ALPS Standard C++ Libraries • community codes • fast development • generic implementations XML / XSLT for Input/Output • simplified code development • portability • self-explanatory • common file formats MPI/OpenMP for Parallelization 4 Three tiers of ALPS 5 Three tiers of ALPS 1. Standard data formats and interfaces to facilitate • exchange, archiving and querying of simulation results • exchange of simulation and analysis tools 5 Three tiers of ALPS 1. Standard data formats and interfaces to facilitate • exchange, archiving and querying of simulation results • exchange of simulation and analysis tools 2. Libraries • to support standard data formats and interfaces • to ease building of parallel simulation programs 5
Description: