MIAOWの性能

そして、性能であるが、次のグラフは、バイナリサーチ、バイトニックソートなど6種の処理に関して、AMDのTahiti GPUの性能を1.0として、MIAOWの性能を相対的に表したものである。ただし、これは処理に必要なサイクル数を比較したものであり、実際のチップでの処理時間でこの性能比が得られたというわけではない。

このグラフを見ると、3つのベンチマークではほぼ同等の性能、残りの3つでは0.38から0.8の性能となっている。性能の最適化は目標としていないというプロジェクトとしては、かなり良い成績である。

なお、各ベンチマークの棒グラフについている数字は、TahitiとA10-7850K APUの性能の比で、7850Kは8CU、Tahitiは32CUであるのでピーク演算性能は4倍の開きがあるが、実際には5倍から121倍の性能比であるという。行列の転置が121倍となっているのはメモリアクセスの速度に大きな差があるのではないかと思われる。

6種のベンチマークでのTahitiとMIAOWの性能比較。数字はTahitiとAMDのA10-7850K APUの性能比較

チップ面積と消費電力

チップ面積に関してはTahitiのCUは約5.02mm2であるのに対して、MIAOWのCUは9.1mm2となっている。製造プロセスがTahitiは28nm、MIAOWは32nmであることを考慮しても若干大きめであるが、これも設計の目標ではないので、やむを無い。面積の内訳はレジスタファイルが54%、演算器が34%で、これらが大部分を占めている。

MIAOWのチップ面積の内訳

消費電力はTahitiが0.52W、MIAOWは1.1Wである。これはテクノロジが0.5世代古く。チップ面積が大きいことが効いていると考えられる。内訳では、演算器が53%、レジスタファイルが19%となっている。

なお、MIAOWはASIC設計で本当にチップを設計したわけではないので、面積や電力はなんらかの仮定に基づいて推定した値であると思われる。

MIAOWの消費電力のユニット別の内訳

まとめ

ウィスコンシン大のチームは、AMDと特別な関係を持ってAMDから内部情報を貰ったわけではなく、Webサイトに公開されている資料だけに基づいてMIAOWを開発したとのことである。このように公開情報だけで、高い互換性を持つGPUを開発できたことはチームにとっても驚きであった。そして、AMDのGPUと命令互換にしたことは、コンパイラを始めとして、ソフトウェアツールチェインが利用でき、非常に大きな助けになっている。

MIAOWの開発では実際のチップは作っておらず、物理設計はバイパスし、FPGAで設計を行ったが、FPGAのツールを使用するのも手間が掛かったという。

MIAOWを開発して勉強になったこと

MIAOWは派生品をつくることができ、GPU研究の基礎になるものである。この研究がオープンソースハードウェアの広がりにどのような役割を果たすか、オープンソースのハードウェアのチップというものが作れるのかどうかは、まだ、はっきりしないが、コミュニティからのサポートが集まればオープンソースのGPUチップが作れる筈であると結んだ。