Code du moteur SQL BlazingSQL ouvert, utilisant le GPU pour l'accélération

Annoncé à propos de l'ouverture des sources du moteur SQL BlazingSQL, qui utilise le GPU pour accélérer le traitement des données. BlazingSQL n'est pas un SGBD à part entière, mais se positionne comme un moteur d'analyse et de traitement de grands ensembles de données, comparable dans ses tâches à Apache Spark. Le code est écrit en Python et est ouvert sous licence Apache 2.0.

BlazingSQL convient pour effectuer des requêtes analytiques uniques sur de grands ensembles de données (des dizaines de gigaoctets) stockés sous forme de tableaux (par exemple, journaux, statistiques NetFlow, etc.). BlazingSQL peut exécuter des requêtes à partir de fichiers bruts aux formats CSV et Apache Parquet hébergés sur des systèmes de fichiers réseau et cloud tels que HDSF et AWS S3, transférant directement le résultat vers la mémoire GPU. Grâce à la parallélisation des opérations dans le GPU et à l'utilisation d'une mémoire vidéo plus rapide, les requêtes dans BlazingSQL sont effectuées jusqu'à 20 fois plus rapide qu'Apache Spark.

Code du moteur SQL BlazingSQL ouvert, utilisant le GPU pour l'accélération

Pour travailler avec les GPU, un ensemble développé avec la participation de NVIDIA est utilisé ouvert bibliothèques RAPIDES, qui vous permet de créer des applications de traitement et d'analyse de données qui s'exécutent entièrement côté GPU (fournies par Interface Python pour utiliser des primitives CUDA de bas niveau et paralléliser les calculs).

BlazingSQL offre la possibilité d'utiliser SQL au lieu des API de traitement de données cuUDF (sur le socle Flèche Apache) utilisé dans RAPIDS. BlazingSQL est une couche supplémentaire qui s'exécute sur cuDF et utilise la bibliothèque cuIO pour lire les données du disque. Les requêtes SQL sont traduites en appels aux fonctions cuUDF, qui vous permettent de charger des données dans le GPU et d'y effectuer des opérations de fusion, d'agrégation et de filtrage. La création de configurations distribuées couvrant des milliers de GPU est prise en charge.

BlazingSQL simplifie grandement le travail avec les données : au lieu de centaines d'appels aux fonctions cuDF, vous pouvez utiliser une seule requête SQL. L'utilisation de SQL permet d'intégrer RAPIDS aux systèmes d'analyse existants, sans écrire de processeurs spécifiques et sans recourir à un chargement intermédiaire des données dans un SGBD supplémentaire, mais
tout en maintenant une compatibilité totale avec toutes les parties de RAPIDS, en traduisant les fonctionnalités existantes en SQL et en offrant des performances au niveau cuDF. Cela inclut la prise en charge de l'intégration avec les bibliothèques XGBoost и cUML pour résoudre des problèmes d’analyse et d’apprentissage automatique.

Source: opennet.ru

Ajouter un commentaire