[Note] Résumé relatif au module d'accélération de calcul Python (peut-être) "Numba"

Je veux exécuter des programmes Python à grande vitesse!

** "Si vous pouvez calculer 10 fois plus vite, vous pouvez faire 10 fois plus d'erreurs" ** Si vous pensez que oui, tout le monde devrait penser que ce serait bien de pouvoir effectuer des calculs rapides.

Le titre est Numba, qui est un module qui peut accélérer les calculs sur Python à l'aide du compilateur JIT (juste à temps). Cet article est une collection d'excellents articles passés sur Numba sous forme de mémorandum. Voici une brève description de Numba.

En Python, l'instruction for est la cause du retard et peut être accélérée par la notation d'inclusion. Cependant, il peut y avoir des situations où vous devez ** utiliser l'instruction for (en particulier plusieurs fois) **. Numba est un ** éventuellement ** outil qui peut accélérer les instructions avec seulement deux instructions, ʻimport numbaet@ numba.jit`.

Voici une liste des fonctions prises en charge par Numba. Numpy Support in numba

Si vous regardez attentivement, vous pouvez voir quatre règles telles que ʻaddsubtract et des fonctions simples telles que ʻexp log10 sqrt`. Les fonctions triangulaires telles que `sin cos`` tan` sont prises en charge.

Cependant, la situation actuelle est que de nombreux calculs tels que «fft» ne peuvent pas être traités (ou est-ce impossible en principe?). (* Cela ne signifie pas que vous ne pouvez pas calculer simplement parce que cela ne va pas plus vite) Les notations d'inclusion qui peuvent être calculées rapidement et les listes vides ne peuvent pas être calculées avec numba. Dans ce domaine, il semble que la fonction définie sera finement divisée et utilisée là où numba peut être utilisé.

Alors ・ Effectuez plusieurs fois des calculs simples ・ Tourner plusieurs pour les déclarations Dans un tel cas, il peut être accéléré? C'est Numba.

On peut dire qu'il est nécessaire de bien gérer l'instruction for afin de profiter de Numpy, qui peut être calculé à grande vitesse.

** Vous trouverez ci-dessous un résumé des articles traitant du contenu lié à Numba. ** **

Écrivez un programme un million de fois plus vite http://qiita.com/Akai_Banana/items/48a35d2a40d1804d3b32

Python: accélération avec Numba http://dr-kayai.hatenablog.com/entry/2014/10/09/175456

Je pensais qu'il serait lent d'utiliser l'instruction for dans NumPy, mais ce n'était pas le cas. http://qiita.com/termoshtt/items/d6cf43e777946b3c1d93

Remarques sur l'accélération du code Python avec Numba http://qiita.com/toyolab/items/b5d95bd38b3c7c66b510

Comment accélérer considérablement le code Python avec la bibliothèque de compilateur JIT Numba http://myenigma.hatenablog.com/entry/2017/03/02/155433

Ce que j'ai fait quand je voulais rendre python plus rapide -Édition Numba- http://qiita.com/open_cans/items/b6cde6c28f8eacba0ca1

Comment rendre le Python des débutants plus rapide [numpy] http://qiita.com/yukkyo1222/items/df4487bbc2767c630247

J'ai installé et utilisé Numba avec Python3.5 http://qiita.com/fujibo/items/9a776e671170137d7ade

Accélérer le code Python (premier Numba) http://fjkei.hatenadiary.jp/entry/2015/06/21/121251o

Accélérez la simulation de diffusion de réaction avec Python avec JIT https://qiita.com/kaityo256/items/3c07252ab63591256835


Recommended Posts

[Note] Résumé relatif au module d'accélération de calcul Python (peut-être) "Numba"
résumé relatif à python
Résumé relatif au traitement itératif Python
Note récapitulative sur la programmation d'apprentissage automatique Python (Jupyter)
Résumé Python
Résumé Python
Remarque: Python
Note de Python
Résumé relatif aux E / S de python et fortran