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

Jussi Enkovaara, Nichols A. Romero, Sameer Shende, Jens Jørgen Mortensen

Research output: Contribution to journalConference articleResearchpeer-review

Abstract

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.
Original languageEnglish
JournalProcedia Computer Science
Volume4
Pages (from-to)17-25
ISSN1877-0509
DOIs
Publication statusPublished - 2011
EventInternational Conference on Computational Science 2011 - Singapore, Singapore
Duration: 1 Jun 20113 Jun 2011
http://www.iccs-meeting.org/iccs2011/

Conference

ConferenceInternational Conference on Computational Science 2011
CountrySingapore
CitySingapore
Period01/06/201103/06/2011
Internet address

Keywords

  • Density-functional theory
  • Numpy
  • Python
  • MPPI

Cite this

@inproceedings{4d8c2700fe00463c90c846c76a9c9729,
title = "GPAW - massively parallel electronic structure calculations with Python-based software",
abstract = "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 = "Density-functional theory, Numpy, Python, MPPI",
author = "Jussi Enkovaara and Romero, {Nichols A.} and Sameer Shende and Mortensen, {Jens J{\o}rgen}",
year = "2011",
doi = "10.1016/j.procs.2011.04.003",
language = "English",
volume = "4",
pages = "17--25",
journal = "Procedia Computer Science",
issn = "1877-0509",
publisher = "Elsevier",

}

GPAW - massively parallel electronic structure calculations with Python-based software. / Enkovaara, Jussi; Romero, Nichols A.; Shende, Sameer; Mortensen, Jens Jørgen.

In: Procedia Computer Science, Vol. 4, 2011, p. 17-25.

Research output: Contribution to journalConference articleResearchpeer-review

TY - GEN

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

AU - Enkovaara, Jussi

AU - Romero, Nichols A.

AU - Shende, Sameer

AU - Mortensen, Jens Jørgen

PY - 2011

Y1 - 2011

N2 - 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.

AB - 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.

KW - Density-functional theory

KW - Numpy

KW - Python

KW - MPPI

U2 - 10.1016/j.procs.2011.04.003

DO - 10.1016/j.procs.2011.04.003

M3 - Conference article

VL - 4

SP - 17

EP - 25

JO - Procedia Computer Science

JF - Procedia Computer Science

SN - 1877-0509

ER -