OWN NEWS GATHER
← 戻る
NVIDIA Technical Blog

NVIDIA、GPUリソースを分割制御する「Green Contexts」のCUDA Runtime対応を発表

要点

  • NVIDIAは、GPUの実行リソースをプロセス内で明示的に分割できる「Green Contexts」をCUDA 13.1のRuntime APIに対応させた。

  • 演算ユニットであるSMやワークキューを特定タスクに割り当て、バックグラウンド処理との干渉を防げる。

  • 148基のSMを備えたBlackwell GPU上での検証では、重要処理の遅延が0.140ミリ秒から0.007ミリ秒へ大幅に短縮した。

  • ハンドルを渡す明示的なプログラミングモデルを採用しつつ、既存アプリケーションへの段階的な導入に対応する。

  • 米NVIDIAは2026年10月6日、同社の公式技術ブログにて、GPUリソースを単一プロセス内で明示的に分割・割り当てできる機能「Green Contexts(グリーンコンテキスト)」がCUDA 13.1のRuntime APIに対応したと発表した。従来はCUDA 12.4のDriver API(ハードウェアに近い低水準インターフェース)に限定されていたが、一般的な開発で広く使われる高水準なRuntime APIへ拡張された形だ。複数処理の同時実行に伴うリソース競合を抑えることで、低遅延タスクの待機時間を大幅に短縮できるとしている。

単一プロセスにおけるリソース競合の課題

近年のGPUアプリケーションでは、単一プロセス内で複数の独立した処理を並行稼働させる構成が一般的になっている。高い応答性を求める低遅延処理と大量処理を担うバックグラウンドタスクの併用や、AIモデルの推論とデータ前処理の同時実行などがその典型例だ。

しかし、同一GPU内での共有制御は難しく、処理同士が予期せず干渉し合う問題があった。従来のCUDAコンテキスト(GPU上で動作するプログラムのリソースを管理する基本単位)は、1つの主要タスクがGPUを占有していた時代の設計に基づいている。そのため構造が重量級で、ハードウェアのコンテキストスイッチに伴うオーバーヘッドも大きく、細やかなリソース分割には対応しづらかったという。

SM分割とワークキューの独立制御

Green Contextsは、GPUの実行リソースの一部を明示的に選び、投入する処理をそのリソースへ直接割り当てる仕組みだ。

中核となる機能が、SM(Streaming Multiprocessor:GPUの演算処理を担う基本ユニット)の分割である。特定のSM群をGreen Contextに割り当てることで、投入された処理をそのSM上だけで実行できる。これにより、タスク同士が同じ演算ユニットを奪い合うことなく、同一GPU上で独立して並行処理を行えるようになる。

また、ワークキューリソースの明示的な確保にも対応した。従来のモデルでは、ストリームごとに独立した処理であっても内部で同じ下位ワークキューに割り当てられ、リソースに余裕があっても意図しない直列化が生じるケースがあった。ワークキューを明示的に確保することで不要な依存関係を排除し、本来の並行性を引き出せるとしている。なお、コンテキスト自体の生成や破棄は軽量で、他の処理を暗黙的に同期させない仕様となっている。

Blackwell環境で遅延を0.140msから0.007msへ短縮

このリソース分離の効果として、NVIDIAは具体的な検証数値を公表している。148基のSMを備えたBlackwellアーキテクチャのGPUにおいて、専用SMを割り当てたGreen Contextを使用した場合、重要カーネル(GPU上で実行される処理の単位)の実行遅延が劇的に改善したという。

大量データを扱うバルク処理が稼働している状況でも、重要カーネルは先行処理の完了待ちをすることなく即座に実行を開始できる。その結果、重要カーネルのレイテンシは従来の0.140ミリ秒から0.007ミリ秒へと短縮され、約20分の1に抑えられたことが確認された。

明示的なハンドル指定と段階的な移行

プログラミングモデルも従来の暗黙的な制御から刷新された。これまでのCUDA Runtimeでは、cudaSetDevice()でデバイスを選択し、スレッドローカルな状態から暗黙的に推測してストリームを作成していた。

これに対しGreen ContextsではcudaExecutionContext_t型を用い、cudaGreenCtxCreate()で取得したハンドルをcudaExecutionCtxStreamCreate()などのAPIへ直接渡してストリームを作成する。投入された処理は、コンテキストのリソースに明確に関連付けられる。

NVIDIAは、本機能が既存コードを一括置換する必要のないオプトイン方式の追加機能であると説明している。従来のストリームによる作業フローを保ちつつ、細かな制御が必要な箇所へ段階的に導入できる設計となっている。

元URL