この開発プロジェクトは、10PFlops級のスパコンを作るためのアーキテクチャ研究ということで2006年に開始された。最初の3年は、各種のアプリケーションの分析を行い、メニーコアのShenweiアーキテクチャの提案を行い、アーキテクチャや性能、プログラミングモデルのロードマップの策定を行った。BlueLightに使われたSW1600プロセサである。TaihuLightスパコンとそれに使われたSW26010プロセサであるという。Shenweiプロセサの開発の歴史。BlueLightのSW1600、引き続き、TaihuLightのSW26010を開発したTaihuLightが解くべきターゲットのアプリケーションは、空間的、時間的にマルチスケールの問題、複数のコンポーネントが相互作用を持つ問題、物理的な性質から負荷バランスが悪い問題など、解きにくい問題を解くことに重点が置かれている。追求するものを目指したという。主要なアプリケーションの分析結果を次の表に示す。取り上げたアプリケーションは、行列乗算のDGEMM、疎行列の乗算のSPMV、高速フーリエ変換を行うFFT、天体の重力相互作用などを計算するNbody、暗号化のAES、グラフのサーチを行うBF-Searchである。次の表では、必要な計算量とメモリアクセス回数、それらの比(演算回数/メモリアクセス回数)を纏めている。DGEMMの演算回数はO(n3)、メモリアクセス回数はO(n2)であり、結果として演算回数/メモリアクセス回数はO(n)となる。行列のサイズnが大きくなると、それに比例して1回のメモリアクセスで実行できる演算数が増加する。このため、計算規模の割にはメモリバンド幅は小さくても良い。SPMVの場合は計算量もメモリアクセス回数もO(n)であり、大量の計算を行うためには、それに比例したメモリバンド幅が必要になる。このため、ピーク演算性能の高いTaihuLightでは、メモリバンド幅が律速になり演算性能は余ってしまう。グラフ処理のBF-Searchも計算とメモリアクセス回数の比がO(1)の問題である。FFT、Nbody、AESはこの比がO(log(n))の問題であり、LINPACKとSPMVの中間となる性質の問題である。主要な7種のアプリケーションの計算とメモリアクセス回数の比をまとめた表。DGEMMは演算ネックであるが、SPMVはメモリアクセスがネックになる問題であるSW26010プロセサは、次のような構造になっている。Element(CPE)のクラスタが描かれている。Element(IMPE)があり、IMPE経由でメインメモリが接続されている。Interface(SI)が出ている。SW26010プロセサチップのハイレベルアーキテクチャ。OSを動かすMPE、計算処理を担当するCPEクラスタ、メモリを制御するIMPEがチップ内ネットワークで接続されているアーキテクチャ的に、MPEの個数やCPEクラスタの個数やサイズなどはフレキシブルに変えることができるが、SW26010チップでは、MPEの数は4個、CPEクラスタの数も4個、IMPEも4個である。CPEクラスタのサイズは8×8である。これらのプロセシングエレメント間を接続するチップ内ネットワークはクロスバ構造となっている。SW26010の各エレメントの数とCPEクラスタのサイズCPEクラスタは8×8のアレイとなっており、2次元メッシュネットワークで接続されている。各CPEにはスイッチが付いており、クレディットベースのワームホールルーティングを行う。CPEクラスタの下側にはクラスタコントローラが描かれている。クラスタコントローラは、DMAを行うストリーミングエンジン、CPE間の同期を高速に実行する機構、MPEのキャッシュとのコヒーレンシを維持する機構などが入っている。CPEクラスタは8×8のアレイとなっており、2次元メッシュネットワークで接続されている。クラスタコントローラは、DMAを行うストリーミングエンジン、CPE間の同期を高速に実行する機構、MPEのキャッシュとのコヒーレンシを維持する機構などが入っている※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。