Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

GPAW - massively parallel electronic structure calculations with Python-based software.

Journal Article · · Procedia Comput. Sci.

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.

Research Organization:
Argonne National Laboratory (ANL)
Sponsoring Organization:
SC
DOE Contract Number:
AC02-06CH11357
OSTI ID:
1015952
Report Number(s):
ANL/LCF/JA-69636
Journal Information:
Procedia Comput. Sci., Journal Name: Procedia Comput. Sci. Journal Issue: 2011 Vol. 4; ISSN 1877-0509
Country of Publication:
United States
Language:
ENGLISH

Similar Records

GPAW: An open Python package for electronic structure calculations
Journal Article · Wed Mar 06 23:00:00 EST 2024 · Journal of Chemical Physics · OSTI ID:2396806

Extensible message passing application development and debugging with Python
Conference · Thu Sep 19 00:00:00 EDT 1996 · OSTI ID:459420

Library for Evolutionary Algorithms in Python (LEAP)
Conference · Wed Jul 01 00:00:00 EDT 2020 · OSTI ID:1649229