GPAW - massively parallel electronic structure calculations with python-based software. Electronic structure calculations are a widely used tool in materials science and large consumer of supercomputing resources. Traditionally, the software packages for these kind of simulations have been implemented in compiled languages, where Fortran in its different versions has been the most popular choice. While dynamic, interpreted languages, such as Python, can increase the effciency of programmer, they cannot compete directly with the raw performance of compiled languages. However, by using an interpreted language together with a compiled language, it is possible to have most of the productivity enhancing features together with a good numerical performance. We have used this approach in implementing an electronic structure simulation software GPAW using the combination of Python and C programming languages. While the chosen approach works well in standard workstations and Unix environments, massively parallel supercomputing systems can present some challenges in porting, debugging and profiling the software. In this paper we describe some details of the implementation and discuss the advantages and challenges of the combined Python/C approach. We show that despite the challenges it is possible to obtain good numerical performance and good parallel scalability with Python based software.
Keywords for this software
References in zbMATH (referenced in 7 articles )
Showing results 1 to 7 of 7.
- Dexter D. Antonio, Jiawei Guo, Sam J. Holton, Ambarish R. Kulkarni: Simplifying computational workflows with the Multiscale Atomic Zeolite Simulation Environment (MAZE) (2021) not zbMATH
- Morten Gjerding, Thorbjørn Skovhus, Asbjørn Rasmussen, Fabian Bertoldo, Ask Hjorth Larsen, Jens Jørgen Mortensen, Kristian Sommer Thygesen: Atomic Simulation Recipes - a Python framework and library for automated workflows (2021) arXiv
- Simon Knapen, Jonathan Kozaczuk, Tongyan Lin: DarkELF: A python package for dark matter scattering in dielectric targets (2021) arXiv
- M. V. Klymenko, J. A. Vaitkus, J. S. Smith, J. H. Cole: NanoNET: an extendable Python framework for semi-empirical tight-binding models (2020) arXiv
- Xinming Qin, Honghui Shang, Lei Xu, Wei Hu, Jinlong Yang, Shigang Li, Yunquan Zhang: The static parallel distribution algorithms for hybrid density-functional calculations in HONPAS package (2020) arXiv
- Susi Lehtola; Conrad Steigemann; Micael J.T. Oliveira; Miguel A.L. Marques: Recent developments in libxc - A comprehensive library of functionals for density functional theory (2018) not zbMATH
- Mortensen, Mikael; Langtangen, Hans Petter: High performance python for direct numerical simulations of turbulent flows (2016)