Codi del motor SQL BlazingSQL obert, utilitzant la GPU per a l'acceleració

Anunciat sobre obrir les fonts del motor SQL BlazingSQL, que utilitza la GPU per accelerar el processament de dades. BlazingSQL no és un SGBD complet, però es posiciona com un motor per analitzar i processar grans conjunts de dades, comparable en les seves tasques a Apache Spark. El codi està escrit en Python i obert amb llicència d'Apache 2.0.

BlazingSQL és adequat per realitzar consultes analítiques individuals sobre grans conjunts de dades (desenes de gigabytes) emmagatzemats en formats tabulars (per exemple, registres, estadístiques de NetFlow, etc.). BlazingSQL pot executar consultes des de fitxers en brut en formats CSV i Apache Parquet allotjats en sistemes de fitxers de xarxa i núvol com HDSF i AWS S3, transferint directament el resultat a la memòria de la GPU. Gràcies a la paral·lelització de les operacions a la GPU i l'ús de memòria de vídeo més ràpida, les consultes BlazingSQL s'executen en menys de 20 vegades més ràpid que Apache Spark.

Codi del motor SQL BlazingSQL obert, utilitzant la GPU per a l'acceleració

Per treballar amb GPU s'utilitza un conjunt desenvolupat amb la participació de NVIDIA obert biblioteques RÀPIDS, que us permet crear aplicacions de processament i anàlisi de dades que s'executen completament al costat de la GPU (proporcionada per Interfície Python utilitzar primitives CUDA de baix nivell i paral·lelitzar càlculs).

BlazingSQL ofereix la possibilitat d'utilitzar SQL en lloc d'API de processament de dades cuUDF (a la base Apache Arrow) utilitzat a RAPIDS. BlazingSQL és una capa addicional que s'executa a la part superior de cuDF i utilitza la biblioteca cuIO per llegir dades del disc. Les consultes SQL es tradueixen en trucades a funcions cuUDF, que us permeten carregar dades a la GPU i fer-hi operacions de fusió, agregació i filtrat. S'admet la creació de configuracions distribuïdes que abasten milers de GPU.

BlazingSQL simplifica enormement el treball amb dades: en lloc de centenars de trucades a funcions cuDF, podeu utilitzar una consulta SQL. L'ús d'SQL permet integrar RAPIDS amb els sistemes d'anàlisi existents, sense escriure processadors específics i sense recórrer a la càrrega intermèdia de dades en un SGBD addicional, però
tot mantenint la compatibilitat total amb totes les parts de RAPIDS, traduint la funcionalitat existent a SQL i proporcionant rendiment a nivell de cuDF. Això inclou suport per a la integració amb biblioteques XGBoost и cuML per resoldre problemes d'anàlisi i aprenentatge automàtic.

Font: opennet.ru

Afegeix comentari