Acelerando código científico en Python usando Numba

En la actualidad, Python es uno de los lenguajes más utilizados en diversas áreas de aplicación. Una de ellas es el ámbito científico, donde resulta habitual la existencia de algoritmos numéricos que requieren un gran costo computacional. Sin embargo, Python presenta limitaciones a la hora de poder...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Milla, Andrés, Rucci, Enzo
Formato: Objeto de conferencia
Lenguaje:Español
Publicado: 2021
Materias:
HPC
Acceso en línea:http://sedici.unlp.edu.ar/handle/10915/126012
Aporte de:
id I19-R120-10915-126012
record_format dspace
institution Universidad Nacional de La Plata
institution_str I-19
repository_str R-120
collection SEDICI (UNLP)
language Español
topic Ciencias Informáticas
Python
Numba
N-body
HPC
multi-threading
Shared memory algorithms
spellingShingle Ciencias Informáticas
Python
Numba
N-body
HPC
multi-threading
Shared memory algorithms
Milla, Andrés
Rucci, Enzo
Acelerando código científico en Python usando Numba
topic_facet Ciencias Informáticas
Python
Numba
N-body
HPC
multi-threading
Shared memory algorithms
description En la actualidad, Python es uno de los lenguajes más utilizados en diversas áreas de aplicación. Una de ellas es el ámbito científico, donde resulta habitual la existencia de algoritmos numéricos que requieren un gran costo computacional. Sin embargo, Python presenta limitaciones a la hora de poder paralelizar esta clase de código. Para solucionar esta problemática surge Numba, un compilador JIT que traduce Python en código de máquina optimizado a través de LLVM. Esta herramienta cuenta con primitivas para paralelizar algoritmos, autovectorización mediante instrucciones SIMD, entre otras características. En este estudio, se analizan algunas capacidades y limitaciones de Numba para acelerar algoritmos numéricos, utilizando como caso de estudio N-Body, un problema popular en simulación y con alta demanda computacional. Partiendo desde una implementación base desarrollada en Python con NumPy, se muestra como la integración de diferentes opciones de Numba la mejoran hasta 687x, presentando rendimientos cercanos a una implementación de C+OpenMP en una arquitectura multicore Intel de 56 núcleos.
format Objeto de conferencia
Objeto de conferencia
author Milla, Andrés
Rucci, Enzo
author_facet Milla, Andrés
Rucci, Enzo
author_sort Milla, Andrés
title Acelerando código científico en Python usando Numba
title_short Acelerando código científico en Python usando Numba
title_full Acelerando código científico en Python usando Numba
title_fullStr Acelerando código científico en Python usando Numba
title_full_unstemmed Acelerando código científico en Python usando Numba
title_sort acelerando código científico en python usando numba
publishDate 2021
url http://sedici.unlp.edu.ar/handle/10915/126012
work_keys_str_mv AT millaandres acelerandocodigocientificoenpythonusandonumba
AT ruccienzo acelerandocodigocientificoenpythonusandonumba
bdutipo_str Repositorios
_version_ 1764820450012037120