1253 shaares
Apache Arrow est un projet qui développe des SDK dans la plupart des langages afin de manipuler efficacement des données tabulaires (vecteurs, matrices) en RAM.
Ils ont notamment des optimisations des calculs spécialement conçues pour les CPU et les GPU.
Par exemple, les données sont regroupées pour éviter les "jump" CPU et tenter de les faire tenir dans les différents caches.
Pour les GPU, Arrow utilise CUDA afin de paralléliser les calculs.
C'est utilisé dans la nouvelle version 2.0 de Pandas, la lib de référence en Python pour manipuler les données.
Les performances peuvent être jusqu'à 25x supérieurs (!)
(Merci Ocav pour le partage)