DPUは16FFプロセスで作られ、16K個のプロセサと8192個のDPU 演算ユニットを集積している。演算性能は、ピークでは181Topsで、バイセクションバンド幅は7.25TB/sに達する。

メモリには3D積層のHybrid Memory Cubeを4個使っており、メモリバンド幅は270GB/sである。また、メモリ容量を増やすため、DDR4のインタフェースも2チャネル装備している。

8192演算器で積和演算を行って181Topsというのは、演算器は11.05G演算/秒という計算になる。推測であるが、64bit演算器を2分割して、5.5GHzクロックで動かしているのではないかと思われる。

そして、16レーンのPCI ExpressでホストCPUと接続される。

チップの動作はGALS(Globally Asynchronous Locally Synchronous)であり、プロセスの変動、電圧や温度の変動にも強い構造になっている。このアーキテクチャはDMA駆動であり、データ転送と計算処理がオーバラップして実行されるようになっている。

右側の図に見られるように、チップには24個のAXIがあり、24個の計算コアがある。

DPUは16ffプロセスで作られ、16K個のプロセサと8KこのDPU演算ユニットを集積する。高速メモリとしてHMCを4個使用している

次の図は現状のDPUボードを示すものであるが、4個のDPUチップと16個のHMCメモリと8枚のDIMMを搭載し、それらがインタコネクトチップで接続されている。また、HMCはルーティング機能をもっており、隣接するDPU同士はHMC間の接続を介してメモリアクセスができるようになっている。

この4DPUボードは、65,536 CGRA処理エレメントを持っている。そして、複数のDPUボードを接続して、さらに大規模なシステムを作ることができる。4DPUボードに使われている32GBのHMCや512GBのDDR4 DIMM、高速通信を行うFPGA(インタコネクトチップ)などは市販の標準部品を利用している。

4DPUを搭載するボード。合計65,536 CGRAプロセサを持つ。DPU以外のHMCやDDR4、FPGAなどは市販品を利用している

Wave Computingは、4DPUボードを搭載するサーバだけでなく、多数のDPU搭載サーバを使うシステムも視野に入れている。

Wave Computingは4DPUボードを搭載したサーバだけでなく、サーバをキャビネットに収容し、キャビネットを並べた大規模システムまで視野に入れている。また、GoogleのTensorFlowが使える環境が提供される

次の図はDataflow Processing Element(PE)のブロックダイヤグラムであるが、演算ユニット(ARITH)はb、c、dを隣接PEから入力を受け取り、Accumulatorの出力を隣接するb、c、dのPEに送れる構造になっている。円弧の矢印で示されたこのパスは、配線も短く、高速で算術演算を行うことができる。その他のPEやスイッチ、RAMなどはMUXやDEMUXを経由するので、より長い時間が掛かると考えられる。

PEの構造。a,b,c,dの4つのPE間は配線も短く密に接続されており、高速に演算ができる。256エントリの命令RAMと1KBのデータRAMを持つ

Wave ComputingのDPUでは、16個のPEが1つの単位で、フルカスタムのレイアウト単位となってで作られている。この図に見られるように、演算ユニットは2個のPEで共用されており、16PEに対して8個の演算ユニットという構成になっている。この演算ユニットは、データドリブンで、データが到着すると演算を行うようになっている。

この演算器は、分割して、8/16/24/32/64bitの演算を行うことができるようになっている。また、浮動小数点演算のエミュレーションを行うこともできる。

各クラスタはECC付きの16KBのデータRAMと16個の命令RAMを持っている。これらのRAMもグローバルには非同期で動作する。

16個のPEがクラスタを構成し、クラスタはフルカスタムのレイアウトで作られている。DPU演算器は8個であり、2PEで共用されている

そして、それぞれのクラスタは命令で駆動されるパイプライン構造のワードレベルのスイッチを持っている。また、次の右下の図に示すように、4つの独立に動作するバイトスイッチと4つのQuadの演算コアを持っている。

さらに、左下の図のように、これらのスイッチを持つ粗粒度の演算ユニットを2次元メッシュ接続して、データを集約するFan-in処理やデータを分配するFan-out処理を行わせることができる。

16PEクラスタを使ってワードスイッチと4個のバイトスイッチ、そして4個のPE Quadからなる粗粒度(Coarse grain)のユニットが作れる。これを2次元メッシュで接続したハイブリッドな再構成可能アレイを作ることができる

ワードスイッチのファブリックは常にアクティブになっており、Validなデータがスイッチに到着し、スイッチがそのデータをどれかのQuadに送る命令を実行すると、PEはWake upする。そして、実行する命令のPCをワードスイッチから読んで、PEとバイトスイッチのiRAMに送る。それに続いて、入力に到着するデータをPEに送る。

そして、処理が終わってPEがsleep命令を実行すると、すべてのPEとバイトスイッチは動作を止める。