saii-lab

「知性のルーツを発見する」がテーマのブログ。人工知能(AI)、プログラミング教育などの幅広いトピックを扱います。

MetalでGPUコンピューティング(6)

Metal Advent Calendar2016の9日目の記事を投稿しました。

本記事では、前回に引き続きAppleが提供するサンプルコードの解説を行います。
扱うサンプルコードは、前回と同じライフゲームのアプリ、MetalGameOfLifeです。
MetalGameOfLife

今回は、サンプルコード内のMTLCommandQueueについて解説を行います。
MTLCommandQueueはコマンドバッファ(MTLCommandBufferのオブジェクト)のキューです。また、MTLCommandBufferのオブジェクトの生成にも用いられます。
コマンドバッファはGPUに引き渡されるエンコードされた命令を格納しています。
MTLCommandQueueはクラスではなくプロトコルです。
コマンドキューはスレッドセーフで、複数のコマンドバッファを同時にエンコードすることができます。

詳細は、以下の記事をご覧ください。
[iOS]MetalでGPUコンピューティング(6)