中国科学技術院計算技術研究所はHot Chips 23において、「Godson-T」と呼ぶメニーコアプロセサを発表した。

Godson-Tについて発表する中国科学技術院計算技術研究所のDongrui Fan氏

マイクロプロセサの自主開発は高い優先順位をもつ中国の国策である。最近の学会では命令レベル並列度やメディア処理などのデータ並列処理性能の高い「Godson-3」プロセサに関して発表が行われてきたが、今回、発表されたGodson-Tは、それとは異なりメニーコアでスレッドレベルの並列性を追求するプロセサである。ただし、実用化の進むGodson-3とは異なり、Godson-Tはリサーチプロジェクトの位置づけであるという。

しかし、最終的にはGodson-3とGodson-Tの両方をミックスしたヘテロジニアスなHPCに適用できるメニーコアプロセサを目指している。

Godson-3とGodson-Tの位置づけと将来の複合を目指すロードマップ

次の図に示すように、Godson-Tプロセサは格子状に並んだ8×8のプロセサコアをメッシュネットワークで接続し、上下左右の辺に置かれた各4個の2次キャッシュバンク、4つの角に接続されたI/Oコントローラ、そして右下に置かれたSynchronization Managerというブロックもメッシュに接続した構造となっている。

Godson-Tプロセサのアーキテクチャ

そして、それぞれのコアは、MIPS64のユーザ状態の命令セットをベースとし、それにSIMD拡張や同期の高速化命令などを追加した命令セットとなっている。

Godson-Tのプロセサコアのブロックダイヤグラムは、次の図のようになっている。8ステージのパイプライン処理という比較的短いパイプラインで処理を行っている。説明文ではスレッドごとに2命令のイシューとなっているが、図ではデコードは1命令と書かれている。

キャッシュの階層はL0の命令、データ分離キャッシュがあり、その次の階層に16KBの命令/データ共通L1キャッシュとSPMと呼ぶ16KBのローカルメモリがある。このローカルメモリは64バイトのブロックごとにFull/Emptyを示すタグビットを持っており、Producer-Consumerスタイルの同期を効率的に処理できるようになっている。

Godson-Tプロセサコアのブロックダイヤグラム

各プロセサコアはルータを持っており、プロセサ群は2次元メッシュを構成する。ルータは2つの独立なネットワークをサポートし、それぞれのネットワークは128ビット×2(双方向)となっている。

ネットワークのルーティングは固定で、XYのワームホールルーティングを行う。また、2点間のデータ伝送はインオーダ(送信順序通りに到着する)であることが保証されるという。

ネットワークの転送はData Transfer AgentがDMA転送を行う機能を持っており、転送と計算処理を並列に実行することができる。

DTAを使ったデータ転送の様子

普通は、この図のBasicと書かれた部分のように、データ転送が終わると計算処理を始め、計算処理が終わるとデータ転送を始めるという風になるが、DTAを使うと次のケースのように、先ず、DTAを起動してデータ転送を行うのは同じであるが、データ転送が終わると、また、DTAを起動して次のデータ転送を開始する。こうすると、DTAがデータ転送を行っている間に並行して計算処理を行うことができる。そして、Synchronized DTAと書かれたやり方では、SPMのFull/Emptyビットを使って、それぞれの計算に必要なデータが到着したらその計算を開始するという方法で依存関係を正しく保つことにより、データ転送の開始直後に計算処理を開始することを可能にしている。ただし、この図のように転送と演算がほぼオーバラップして進むことができるのは、到着したデータを次々と演算するというストリーム処理のようなケースである必要があると思われる。

次の図は行列積のDGEMMと1次元FFTを実行した性能比較で、行列積ではGodson-Tは95.9%という非常に高い効率を示している。同様にデータ転送用DMAを持っているCELLプロセサよりも若干効率が低いが、これはローカルメモリの容量が小さいためである。

また、1次元FFTでは33.2%と、比較に含まれている4つのプロセサの中で最高の効率を達成している。

オンチップDTAの性能向上効果

また、左下のグラフはGodson-Tで各種の条件での性能を比べたものであるが、SPMとDTAを使った場合は右端の理論性能に近い性能が得られているのに対して、1次キャッシュを使用する場合やSPMだけを使用する場合は、大幅に低い性能しか得られてらず、DTAの性能改善効果が大きいことが分かる。

Godson-Tの開発の過程

Godson-Tの開発はデータ駆動の並列性を引き出す検討から、高速の同期法の開発、高速のデータ伝送方法の開発などを経て、精度の高いシミュレーションで設計を検証してテープアウトという過程を経てきている。

Godson-T開発の現状

そして、昨年には16コアのプロトタイプチップが完成し、評価ボードが作られている。この16コアプロトタイプはSMICの130nmプロセスで作られ、230平方mmである。そして、現在は、TSMCの40nmプロセスを使った64コアの設計を評価しているとのことである。

このGodson-TはIntelの48コアのSingle Chip Cloud(SCC)実験チップに近い性格のものと考えられる。IntelはSCCを大学などに配って、色々な経験を積んで製品化の方向を見極めようとしているといわれるが、中国も、これと同様なリサーチプロジェクトを堅実に実行しているのだと思われる。日本では研究のためにこの規模のプロセサチップを開発し、ソフトウェアも開発するというプロジェクトは、まず、あり得ず、うらやましい感じで発表を聞いた。