Introduction¶
The module is a massively parallel implementation of the Trotter-Suzuki approximation to simulate the evolution of quantum systems classically. It relies on interfacing with C++ code with OpenMP for multicore execution, and it can be accelerated by CUDA.
Key features of the Python interface:
- Simulation of 1D and 2D quantum systems.
- Cartesian and cylindrical coordinate systems.
- Fast execution by parallelization: OpenMP and CUDA are supported.
- Many-body simulations with non-interacting particles.
- Solving the Gross-Pitaevskii equation (e.g., dark solitons, vortex dynamics in Bose-Einstein Condensates).
- Imaginary time evolution to approximate the ground state.
- Stationary and time-dependent external potential.
- NumPy arrays are supported for efficient data exchange.
- Multi-platform: Linux, OS X, and Windows are supported.
Copyright and License¶
Trotter-Suzuki-MPI is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
Trotter-Suzuki-MPI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Acknowledgement¶
The original high-performance kernels were developed by Carlos Bederián. The distributed extension was carried out while Peter Wittek was visiting the Department of Computer Applications in Science & Engineering at the Barcelona Supercomputing Center, funded by the “Access to BSC Facilities” project of the HPC-Europe2 programme (contract no. 228398). Generalizing the capabilities of kernels was carried out by Luca Calderaro while visiting the Quantum Information Theory Group at ICFO-The Institute of Photonic Sciences, sponsored by the Erasmus+ programme. Further computational resources were granted by the Spanish Supercomputing Network (FY-2015-2-0023 and FI-2016-3-0042) and the Swedish National Infrastructure for Computing (SNIC 2015/1-162 and 2016/1-320), and a hardware grant by Nvidia. Pietro Massignan has contributed to the project with extensive testing and suggestions of new features.
Citations¶
- Bederián, C. & Dente, A. (2011). Boosting quantum evolutions using Trotter-Suzuki algorithms on GPUs. Proceedings of HPCLatAm-11, 4th High-Performance Computing Symposium. PDF
- Wittek, P. and Cucchietti, F.M. (2013). A Second-Order Distributed Trotter-Suzuki Solver with a Hybrid CPU-GPU Kernel. Computer Physics Communications, 184, pp. 1165-1171. PDF
- Wittek, P. and Calderaro, L. (2015). Extended computational kernels in a massively parallel implementation of the Trotter-Suzuki approximation. Computer Physics Communications, 197, pp. 339-340. PDF