@Article{MiranaStep:2021:CoHPAp,
author = "Mirana, Eduardo Furlan and Stephany, Stephan",
affiliation = "{Instituto Nacional de Pesquisas Espaciais (INPE)} and {Instituto
Nacional de Pesquisas Espaciais (INPE)}",
title = "Common HPC Approaches in Python Evaluated for aScientific
Computing Test Case",
journal = "Revista Cereus",
year = "2021",
volume = "13",
number = "2",
pages = "84--98",
keywords = "High performance computing, Python language, Finite-difference
method, Scientific computing, Performance comparison.",
abstract = "A number of the most common high-performance computing approaches
available in the Python programming environment of the LNCC Santos
Dumont supercomputer, are compared using a specific test case.
Python includes specific libraries, development tools,
implementations, documentation and optimizing/parallelizing
resources. It provides a straightforward way to program in a high
level of abstraction, but parallelization resources to exploit
multiple cores, processors or accelerators like GPUs are diverse
and may be not easily selectable by the programmer. This work
makes a comparison of common approaches in Python to boost
computing performance. The test case is a well-known 2D heat
transmission problem modeled by the Poisson partialdifferential
equation, which is solved by a finite difference method that
requires the calculation of a 5-point stencil over the domain
grid. Their serial and parallel implementations in Fortran 90 were
taken as references in order to compare their performance to some
serial and parallel Python implementations of the same algorithm.
Besides performance results, a discussion about the trade-off
between easiness of programming versus processing performance is
included. This work is a primer for the use of HPC resources in
Python.",
doi = "10.18605/2175-7275/cereus.v13n2p84-98",
url = "http://dx.doi.org/10.18605/2175-7275/cereus.v13n2p84-98",
issn = "2175-7275",
language = "en",
targetfile = "miranda_common.pdf",
urlaccessdate = "11 jun. 2024"
}