Código do mecanismo BlazingSQL SQL aberto, usando GPU para aceleração

Anunciado sobre como abrir as fontes do mecanismo SQL SQL em chamas, que usa a GPU para acelerar o processamento de dados. BlazingSQL não é um SGBD completo, mas está posicionado como um mecanismo para analisar e processar grandes conjuntos de dados, comparável em suas tarefas a Apache Spark. O código é escrito em Python e está aberto licenciado sob Apache 2.0.

BlazingSQL é adequado para realizar consultas analíticas únicas em grandes conjuntos de dados (dezenas de gigabytes) armazenados em formatos tabulares (por exemplo, logs, estatísticas do NetFlow, etc.). BlazingSQL pode executar consultas de arquivos brutos nos formatos CSV e Apache Parquet hospedados em sistemas de arquivos de rede e nuvem como HDSF e AWS S3, transferindo diretamente o resultado para a memória da GPU. Graças à paralelização das operações na GPU e ao uso de memória de vídeo mais rápida, as consultas do BlazingSQL são executadas em menos de 20 vezes mais rápido que o Apache Spark.

Código do mecanismo BlazingSQL SQL aberto, usando GPU para aceleração

Para trabalhar com GPUs, é utilizado um conjunto desenvolvido com a participação da NVIDIA aberto bibliotecas RÁPIDOS, que permite criar aplicativos de processamento e análise de dados que são executados inteiramente no lado da GPU (fornecido por Interface Python para usar primitivas CUDA de baixo nível e paralelizar cálculos).

BlazingSQL oferece a capacidade de usar SQL em vez de APIs de processamento de dados cuUDF (na base Flecha Apache) usado no RAPIDS. BlazingSQL é uma camada adicional executada sobre cuDF e usa a biblioteca cuIO para ler dados do disco. As consultas SQL são traduzidas em chamadas para funções cuUDF, que permitem carregar dados na GPU e realizar operações de mesclagem, agregação e filtragem neles. A criação de configurações distribuídas abrangendo milhares de GPUs é suportada.

BlazingSQL simplifica muito o trabalho com dados - em vez de centenas de chamadas para funções cuDF, você pode usar uma consulta SQL. A utilização de SQL permite integrar RAPIDS com sistemas analíticos existentes, sem escrever processadores específicos e sem recorrer ao carregamento intermédio de dados num SGBD adicional, mas
ao mesmo tempo que mantém total compatibilidade com todas as partes do RAPIDS, traduzindo a funcionalidade existente em SQL e fornecendo desempenho no nível cuDF. Isso inclui suporte para integração com bibliotecas XGBoostName и cuML para resolver problemas de análise e aprendizado de máquina.

Fonte: opennet.ru

Adicionar um comentário