☰ Menu

06.10.2026 · Signal Titans Editorial

NVIDIA traz Green Contexts para a Runtime API do CUDA 13.1 para particionamento de GPUs

O CUDA 13.1 traz Green Contexts para a Runtime API, permitindo particionar Streaming Multiprocessors e filas de trabalho em GPUs.

Uma ilustração editorial mostrando um conduto de vidro verde-esmeralda translúcido sobre uma superfície de ardósia escura iluminada por um refletor.

A NVIDIA expandiu o suporte aos Green Contexts para a Runtime API do CUDA 13.1, oferecendo aos desenvolvedores controle explícito sobre como os recursos de hardware de GPUs são particionados em um único processo. Introduzidos originalmente na Driver API do CUDA 12.4, os Green Contexts permitem que aplicações atribuam subconjuntos dedicados de Streaming Multiprocessors (SMs) e configurem filas de trabalho isoladas, evitando que tarefas em segundo plano interfiram em cargas de trabalho sensíveis à latência.

Superando gargalos na priorização de streams

A execução padrão do CUDA depende da prioridade de streams para agendar trabalhos concorrentes, mas essa prioridade não consegue interromper blocos que já estão em execução em um SM. Quando um kernel focado em vazão satura a GPU, tarefas de alta prioridade precisam aguardar o término dos blocos ativos para que os recursos de SM fiquem disponíveis.

Os Green Contexts eliminam esse atraso ao reservar recursos de hardware dedicados para kernels críticos. Em testes de desempenho da NVIDIA em uma GPU Blackwell com 148 SMs, a execução de um kernel crítico em partições dedicadas de Green Context reduziu a latência em 20 vezes em comparação com o agendamento por prioridade de stream sem particionamento. Embora a prioridade de stream sozinha tenha proporcionado uma melhoria de 27 vezes em relação às streams padrão sem prioridade, a latência continuava vinculada ao tempo de esvaziamento dos blocos.

Controle explícito de recursos via manipuladores da Runtime

Aplicações tradicionais da Runtime do CUDA selecionam dispositivos por meio de chamadas como cudaSetDevice() e inferem os alvos de execução a partir de um estado local da thread implícito. O CUDA 13.1 introduz o tipo cudaExecutionContext_t para tornar a seleção de recursos explícita.

Desenvolvedores definem partições utilizando cudaGreenCtxCreate() e atribuem manipuladores explícitos às streams com cudaExecutionCtxStreamCreate(). Além da contagem de SMs, as aplicações podem provisionar recursos dedicados para filas de trabalho usando descritores, evitando falsas dependências e serialização de filas entre streams independentes.

Cargas de trabalho almejadas e integração

A NVIDIA destaca os Green Contexts para aplicações que exigem um isolamento preciso de desempenho, como a sobreposição de kernels de comunicação e GEMM durante o treinamento distribuído ou a execução de operadores em tempo real em plataformas de IA como o NVIDIA Holoscan. O modelo é opcional e aditivo, permitindo que os desenvolvedores mantenham o direcionamento a todo o dispositivo via cudaDeviceGetExecutionCtx() ou adotem o particionamento granular onde for necessário.

Ilustração editorial gerada por IA; não é uma fotografia documental.

Fonte: Control How Your GPU Shares Work with Green Contexts