eBPFをGPUデバイスおよびドライバのコンテキストに拡張することで、GPU向けの拡張可能なOSポリシーインターフェースを構築する提案を行っている。これは、静的なポリシー設計の限界やデバイスブラックボックス化の問題を克服するためのものである。
拡張は主に以下の2つの要素で構成される:
1. **[[2025__arXiv__gpu_ext - Extensible OS Policies for GPUs via eBPF|gpu_ext]]**:Linux GPUドライバにeBPF機能を拡張するもので、メモリ管理用のアタッチポイント(UVMフックによるページアウト/プリフェッチ処理)とスケジューリング用のフック(TSGライフサイクルフック)を追加する。標準的なeBPF検証機構と`struct_ops`を採用しており、ポリシーが助言を行い、カーネルが最終的な判断を下すという安全かつ限定的なインターフェースを実現している。
2. **`Device eBPF`([[bpftime]])**:eBPF処理をGPUデバイス自体にオフロードする機能で、eBPFコードをPTX/SPIR-V形式にコンパイルする。デバイス側には専用のフック機構とGPUカーネルへの動的計測機能を実装しており、これにより異なるレイヤ間でのeBPFマップの共有が可能となる。
主な活用事例として、LLM推論などの単一アプリケーションワークロードの最適化(例:プリフェッチとLFUページアウトを組み合わせた場合、llama.cppで約4倍のデコード速度向上を実現)や、マルチプロセス環境におけるスケジューリングとメモリ優先度の改善(例:異なるタイムスライス割り当てによりP99値を95%削減)が挙げられる。GPU eBPFはさらに、GPUカーネル内部での詳細なプロファイリングと実行時適応制御を可能にする。本プレゼンテーションでは、このアプローチがホスト側ポリシーにとって重要なデバイスレベルの可視性と制御を提供するものであると主張している。