SAI-Lab Blog

「ヒトとAIの共生」がミッションの企業、SAI-Lab株式会社のブログです。

Metal、GPU関連のスライドを2つ紹介

Metal、GPU関連で最近印象に残ったスライドを2つ紹介します。

1. Metal と Vulkan を用いた水彩画レンダリング技法の紹介

OpenGL ESでは、シェーダーの字句解析、構文解析、最適化、命令コードの生成の全てはドライバがランタイム上で実行している
・Metal、Vulkanなどがある低レベルAPIは、コンシューマ機では一般的であった
・Tile Based Rendering: レンダリング時は可能な限りシステムメモリへのアクセスを避ける。高速なOn-Chip上のメモリに置かれたタイルバッファへの読み書きを行う。
・Metal、VulkanはこのTBRアーキテクチャに最適化されている
・Metal、Vulka世代では、明示的にValidation Layerを有効にすることで、API呼び出しのエラーチェックを実施する。

2. GPU最適化入門

GPUを知る上で欠かせない3つの特徴は、1. レンダリング理論、2. 長いパイプライン処理、3. 並列性
GPUは、レンダリング方程式[1986 Kajiya]を概念的に近似して実装している
GPUの最適化は、GPUパイプラインを円滑に流すことに集約できる
GPUはパイプラインが長いため、どこかが詰まると、すべてが滞留してしまう