Pular para o conteúdo principal

NVIDIA anuncia o modo pandas Accelerator do cuDF

Descubra como o novo modo pandas Accelerator do cuDF da NVIDIA pode turbinar suas tarefas de manipulação de dados em Python. Veja como começar, os benefícios que ele oferece e como simplifica a codificação de alta performance com pandas.
Atualizado 17 de set. de 2026  · 8 min lido

Explorar com IA

ChatGPTClaudePerplexity

A NVIDIA anunciou um "modo pandas Accelerator" para o pacote cuDF, que permite escrever código pandas de alta performance para manipulação de dados em Python. É mais um passo rumo ao sonho de escrever código Python legível que roda rápido, mesmo com conjuntos de dados gigantes.

Neste post, vamos explicar como isso pode ajudar você, como começar e quais são as alternativas.

Rumo ao sonho do código pandas de alta performance

O problema do pandas

pandas é o pacote de manipulação de dados mais popular do Python, com 144 milhões de downloads no último mês. Grande parte dessa popularidade vem da facilidade de uso e do conjunto amplo de recursos para manipulação de dados.

Infelizmente, o longo histórico de desenvolvimento do pandas — lançado publicamente em 2011 — faz com que ele anteceda muitas inovações em computação de alta performance (HPC). Resultado: código em pandas pode rodar devagar demais para ser útil em grandes volumes de dados.

Muitas tentativas de deixar o pandas mais rápido

Várias iniciativas tentaram resolver esse problema. A meta é permitir escrever o mesmo código pandas que milhões de usuários já conhecem, mas executá-lo muito mais rápido. Algumas alternativas de alta performance ao pandas incluem o Polars, que acelera o processamento com backend em Rust; o PySpark, que oferece uma interface Python para a plataforma HPC Spark; o Vaex, que usa computação out-of-memory; e o DuckDB, que realiza o processamento dentro de um banco otimizado para analytics.

Confira estes tutoriais, que detalham algumas alternativas:

A solução da NVIDIA para um pandas mais rápido

A NVIDIA vem desenvolvendo um conjunto de ferramentas para data science de alta performance chamado RAPIDS. Esse toolbox inclui o cuDF, o pacote Python da NVIDIA para executar código no estilo pandas com alta performance. (O nome combina CUDA, o kit de ferramentas de baixo nível da NVIDIA para apps com GPU, e DataFrame, o objeto do pandas para armazenar dados analíticos. Este último inspirou o nome do podcast DataFramed da DataCamp.)

O truque do cuDF para acelerar a manipulação de dados é executar o código em GPU em vez de CPU. Embora tenham sido criadas para gráficos, as GPUs são incrivelmente eficientes para computações de data science.

O cuDF tinha problemas

Apesar do sucesso do cuDF em acelerar código estilo pandas, havia algumas questões que impediram sua adoção em larga escala.

Nem todo o pandas é suportado

Um grande entrave é que o cuDF implementa cerca de 60% da API do pandas. Ou seja, apenas em torno de 60% de todo o código possível no pandas roda no cuDF. Naturalmente, esses 60% cobrem as operações mais comuns que a maioria das pessoas quer executar no dia a dia, então, para análises rotineiras, o cuDF costuma dar conta. Mas, se você precisar de algo mais fora do padrão, pode esbarrar em limitações.

Era necessário ter uma GPU para desenvolver e testar

O cuDF só suporta execução em GPUs. Isso exige uma GPU tanto no desenvolvimento quanto nos testes. Muitas vezes isso é inviável localmente, num notebook, e caro ao rodar na nuvem.

Interagir com outros pacotes Python exigia troca de processador

Outra questão é que a grande maioria dos pacotes Python não é compatível com GPU. Para qualquer análise que use outras bibliotecas — por exemplo, praticamente qualquer workflow de machine learning — você teria de gerenciar a troca da computação entre GPU e CPU e vice-versa.

A solução existente para falta de GPU era trabalhosa

Somados, esses três problemas faziam com que você precisasse escrever duas versões do seu código: uma para quando há GPUs disponíveis e o cuDF consegue executar tudo, e outra para quando não há GPU.

A maioria dos cientistas de dados prefere focar em extrair insights dos dados, não em detalhes de infraestrutura. Historicamente, isso tornava o uso do cuDF problemático para muitas tarefas.

Como o modo pandas Accelerator melhora o cuDF

A solução trazida pelo modo pandas Accelerator é que basta uma única linha para habilitar o suporte a GPU, e então você escreve código pandas padrão.

Quando houver suporte à execução em GPU (há uma GPU NVIDIA disponível e o cuDF sabe como rodar aquele código pandas), seu código roda na GPU. Nos casos em que isso não for possível, o cuDF alterna automaticamente para CPU. Você não precisa manter duas versões do código nem fazer a troca manual entre GPU e CPU.

O modo pandas Accelerator é mais rápido que as alternativas?

Database benchmark results - From NVIDIA

Imagem com direitos autorais da NVIDIA.

A NVIDIA testou o modo pandas Accelerator contra outras ferramentas Python de alta performance para manipulação de dados no benchmark DuckDB Database-like ops. Esse conjunto de desafios mede quão bem uma tecnologia executa tarefas como estatísticas agregadas por grupos e junções entre tabelas em grandes volumes de dados.

Segundo a NVIDIA, o modo pandas Accelerator (indicado como xdf na imagem) ficou em primeiro lugar no benchmark. Isso chama atenção porque a versão padrão do cuDF atualmente falha no teste de join, já que não consegue realizar todas as operações necessárias em GPU. (Seria preciso combinar o cuDF com outra ferramenta para fechar o pipeline.)

Vale observar que os testes foram feitos na GPU topo de linha NVIDIA A100 80GB, e a CPU utilizada não foi especificada. Seu desempenho vai variar conforme o hardware, o dataset e os cálculos que você quer fazer.

Como usar o modo pandas Accelerator?

Veja como começar a usar o Accelerator Mode no pandas:

Como instalar a versão mais recente do cuDF

A versão mais recente do cuDF, que inclui o modo pandas Accelerator, é chamada cudf-cu11. Ela está disponível via pip padrão, com a ressalva de que, por enquanto, você precisa instalar a partir do repositório PyPi da NVIDIA.

Execute este comando para instalar o pacote.

pip install cudf-cu11 index-url=https://pypi.nvidia.com

Se você estiver em um notebook Jupyter, prefixe o comando com um ponto de exclamação

!pip install cudf-cu11 index-url=https://pypi.nvidia.com

Como habilitar o modo pandas Accelerator em um notebook Jupyter

Para habilitar o modo pandas Accelerator em um notebook Jupyter, adicione a linha abaixo em uma célula perto do início do notebook.

%load_ext cudf.pandas

Como habilitar o modo pandas Accelerator pelo terminal

Para habilitar o modo pandas Accelerator pelo terminal, substitua o comando padrão de execução do script Python

python script.py

with 

python -m cudf.pandas script.py

O que mais eu preciso fazer?

Basta ter uma GPU habilitada e escrever/rodar seu código pandas como de costume.

Posso fazer profiling de código com o modo pandas Accelerator?

  • Em um notebook, adicione %%cudf.pandas.profile à célula que você quer analisar.

  • Você recebe estatísticas (por chamada de função ou linha a linha) sobre o número de chamadas à GPU e à CPU, além do tempo gasto em cada processador.

Se você usa cuDF, é provável que o tempo de execução do seu código seja importante. Para otimizar, é preciso medir. A técnica para medir o tempo de execução é chamada de profiling. O modo pandas Accelerator oferece uma ferramenta de profiling para código executado em notebooks Jupyter.

Para fazer o profiling do código de uma célula, adicione a seguinte linha ao início da célula.

%%cudf.pandas.profile

Ao executar, você verá estatísticas, por função ou linha a linha, de quanto tempo foi gasto em GPU e em CPU.

Todo o código pandas é suportado?

No momento do anúncio, todo o código pandas era suportado com duas exceções: DataFrames do pandas 2.0 baseados em Apache Arrow ainda não eram suportados, embora já houvesse desenvolvimento em andamento. Além disso, código pandas compilado gerado por Numba ou Cython não tem suporte total.

Em ambos os casos, o código não suportado pelo cuDF será executado na CPU.

Continue aprendendo

Se você quer saber como cientistas de dados usam o cuDF, ouça este episódio do DataFramed: Becoming a Kaggle Grandmaster, com Jean-Francois Puget, Distinguished Engineer na NVIDIA e Kaggle Grandmaster.

Você pode aprender a trabalhar com big data em Python usando PySpark na trilha de habilidades Big Data with PySpark.

Por fim, fique por dentro das novidades da NVIDIA, que anunciou aceleração por GPU no scikit-learn, UMAP e HDBSCAN. Leia e descubra como fazer suas bibliotecas de machine learning em Python rodarem em GPUs. 


Richie Cotton's photo
Author
Richie Cotton
LinkedIn

Richie ajuda indivíduos e organizações a melhorar o uso de dados e IA. Ele é cientista de dados desde antes de o termo ser chamado de ciência de dados, escreveu dois livros e criou muitos cursos DataCamp sobre o assunto. Ele é apresentador do podcast DataFramed e dirige o programa de webinars do DataCamp.

Tópicos
Aprendizado de máquina

Comece sua jornada com pandas hoje!

Curso

Manipulação de dados com pandas

4 h
564.5K
Saiba como importar, tratar dados, calcular estatísticas e criar visualizações com o pandas.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado
data-frames-in-python-banner_cgzjxy.jpeg

Tutorial

Pandas Tutorial: DataFrames em Python

Explore a análise de dados com Python. Os DataFrames do Pandas facilitam a manipulação de seus dados, desde a seleção ou substituição de colunas e índices até a remodelagem dos dados.
Karlijn Willems's photo

Karlijn Willems

15 min

Tutorial

Tutorial do Python pandas: O guia definitivo para iniciantes

Você está pronto para começar sua jornada com os pandas? Aqui está um guia passo a passo sobre como você pode começar.
Vidhi Chugh's photo

Vidhi Chugh

15 min

Tutorial

Perfilamento do Pandas (ydata-profiling) em Python: Um guia para iniciantes

Saiba como usar a biblioteca ydata-profiling em Python para gerar relatórios detalhados para conjuntos de dados com muitos recursos.
Satyam Tripathi's photo

Satyam Tripathi

9 min

Tutorial

Como usar SQL no pandas Usando consultas pandasql

Liberte o poder do SQL no pandas e saiba quando e como usar consultas SQL no pandas usando a biblioteca pandasql para uma integração perfeita.
Elena Kosourova's photo

Elena Kosourova

8 min

Tutorial

Tutorial de seleção de colunas em Python

Use o Python Pandas e selecione colunas de DataFrames. Siga nosso tutorial com exemplos de código e aprenda diferentes maneiras de selecionar seus dados hoje mesmo!
DataCamp Team's photo

DataCamp Team

7 min

Tutorial

Otimização em Python: Técnicas, pacotes e práticas recomendadas

Este artigo ensina a você sobre otimização numérica, destacando diferentes técnicas. Ele discute os pacotes Python, como SciPy, CVXPY e Pyomo, e fornece um notebook DataLab prático para você executar exemplos de código.
Kurtis Pykes 's photo

Kurtis Pykes

11 min

Ver MaisVer Mais