Accélération de Python avec Numba

Magazine
Marque
GNU/Linux Magazine
Numéro
240
Mois de parution
septembre 2020
Domaines


Résumé

L’usage de Python est croissant depuis une dizaine d’années. L’engouement pour la fouille de données (data mining) et les réseaux de neurones profonds (deep learning) explique en partie ce dynamisme. L’un des rares reproches faits à Python est sa relative lenteur.


Plusieurs solutions sont possibles pour accélérer Python ([1] et [2]). Numba, l'une de ces solutions, propose un bon compromis entre la complexité d’utilisation et l'amélioration des performances. Numba utilise LLVM pour compiler « à la volée » (Just In Time) des portions de code Python afin d’accélérer les programmes. Il est aussi possible de compiler du code CUDA pour profiter des performances des cartes NVIDIA. Dans cet article, plusieurs optimisations vont être proposées afin d’améliorer grandement les temps de calcul de Python.

Les codes sources sont présentés dans des dépôts sur https://github.com/jbvioix/python-numba.git et https://gitlab.com/jbvioix/python-numba.git.

1. Configuration de la machine de test

La machine utilisée a été assemblée fin 2014, elle n’est donc pas équipée des toutes dernières technologies, mais l’exemple proposé va montrer que de telles machines peuvent encore avoir de très bonnes capacités de...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Les environnements virtuels : pourquoi et comment les utiliser

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Si vous êtes un Pythoniste débutant, vous en avez probablement entendu parler et si vous êtes confirmés, ils sont forcément tout le temps dans votre boite à outils.Aujourd’hui, ils sont faciles à utiliser, intégrés aux IDE et permettent une économie de temps considérable dans la gestion et la maîtrise de l’environnement de nos applications.

Comment arrêter un ordinateur sans crise de nerfs ?

Magazine
Marque
GNU/Linux Magazine
Numéro
240
Mois de parution
septembre 2020
Domaines
Résumé

Quoi de plus normal qu'un enfant qui joue ? Le problème n'est pas pendant qu'il joue, c'est plutôt au moment de l'arrêt : que l'on ait accordé 1 h ou 2 h, cela se termine toujours par des cris « J'ai à peine fait 2 parties ! Ça fait même pas 10 mn que je joue ! ». La solution : ne plus intervenir directement !

Python « moderne » : comment coder en Python en 2020 ?

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Le langage Python évolue progressivement, version après version et de nouvelles fonctionnalités voient le jour et changent la manière dont le langage peut être appréhendé.Au-delà de la curiosité que ces changements provoquent, ils sont des révolutions silencieuses ayant un impact réel sur le style de codage.