米国シノプシス
テクニカル・マーケティング・マネージャー Yudhan Rajoo
機械学習を使用したアプリケーションが次々と登場する中、ニューラル・ネットワークの処理スループットを高めるためにコンピューティング・アーキテクチャの見直しが進んでいます。また、FinFET時代を迎えた現在、製品アーキテクトやシステム・オン・チップ(SoC)エンジニアは1クロック・サイクルあたりの演算の電力効率をこれまで以上に重視するようになっています。画期的なニューラル・ネットワーク・アーキテクチャの模索が進む一方で、これらの複雑な機能を実行するチップの温度は上昇傾向にあります。ただでさえ厳しいSoC設計のパワー・バジェットの中で、新しい演算ブロックの消費電力が大きな問題となっています。更に、アーキテクチャの改良を続けるとRTLコードにたびたび変更が生じ、スケジュールはますます厳しくなります。こうした消費電力と市場投入スケジュールの課題がある中で、同じダイ面積の中に収まるフルチップ・レイアウトを開発し、ミッション・モードでのスループット目標を達成することは簡単ではなくなっています。高性能な人工知能(AI)SoCの開発においては、消費電力、性能、面積(PPA)の問題は演算回路を構成する基本的なビルディング・ブロックのレベルで解決していく必要があります。ブール論理とメモリー記憶素子で構成されるこれらの基本ブロックは、一般にファウンデーションIPと呼ばれます。
ディープ・ラーニング手法として現在最も一般的なのが、畳み込みニューラル・ネットワーク(CNN)です。CNNは非圧縮のデータ・フレーム(高さh、幅w、深さdの画像など)を取り込み、フィルタを使用してこの画像を2次元に畳み込みます。こうして作成された行列値を全結合層で分類して推論を実行します。畳み込み演算は基本的には積和(MAC)演算で、図1の式で表すことができます。
以前は、MAC演算は機械学習の初期に使われていた伝統的なDSPやGPUを使用して実行していました。しかしこれでは性能、消費電力、面積のバランスをとるのが難しく、この問題に効率的に対処するには専用のアーキテクチャが必要であるという考えがすぐに主流となりました。CNN機能に関して言えば、ベクターDSPは畳み込み演算を少ない面積で実行できるものの、演算速度と電力効率は十分と言えません。GPUは高いスループットが得られますが、シェーダー・コアの数を増やすとダイ面積と消費電力が大きくなります。また、最近利用が拡大しているFPGAは、面積の要件が比較的緩やかなデータセンター・アプリケーションでの使用に限られます。こうしたジレンマを解消するのが、専用のCNNエンジンです。たとえばDesignWare® Embedded Vision Processorsに搭載されている専用のCNNエンジンは、少ない面積と消費電力で1サイクルあたり最大3520 MACs を実行できるカスタム・ロジックを備えています。
CNNエンジン(ニューラル・ネットワーク・プロセッサ)の実装には、非常に高いスキルが要求されます。ブロックの実装アプローチを誤ると、プロジェクトのスケジュールに大幅な遅れが生じることがあります。このため、製品化を成功させるには、設計サイクルの途中で軌道修正できる柔軟性を備えたファウンデーションIPブロックを使用して設計することが必要です。
フロアプランの反復
機械学習ブロックのフィジカル・デザインを実装する場合、通常はフロアプランを反復実行して、所定のダイ・エリア内でマクロおよびロジック階層の最適な配置を決定する必要があります。この反復では、低速なマクロをロジック階層の近くに配置できるように、コア・エリアとマクロ自体のアスペクト比に変更が必要になることもあります。この反復を短時間で終わらせるには、タイミングとアスペクト比のトレードオフを考慮した幅広い種類のメモリーをコンパイラで生成できる必要があります。ロジック階層の相対的配置は、これらの階層を所定のスペースに収めるために利用可能な配線トラック・リソースの影響も受けます。ブロックに対する最上位配線層の制約は既に最上位の設計者によって定義されていますが、電力回路用グランド(PG)グリッドを特定のロジック・ライブラリに合わせて調整することによって、コア密度を最適化できます。PGグリッドの設計を開始するためのレシピがないと、実装に遅れが生じることがあります。
MACの配線密集
マクロの配置が決まったら、次は単位性能あたりの消費電力の目標を達成できるようにデザインを調整しながら、ロジック・エリアにおける配置と配線の密集を管理することが課題となります。MACブロックはピン密度が通常より高く、ネット接続の数が多いため、配線密集を起こしやすいことが知られています。MACブロックを回路図で表すと、データの通過部分が三角形をしているため、多くの場合、データパス・エレメントを人手で配置した方が最適な結果が得られます。EDAツールの進歩により、これまでフルカスタム・レイアウトが必要だったMACブロックも、プロセス・デザイン・ルールの縮小を考慮しながら個々のセルの配置をアルゴリズムに基づいて決定できるようになっています。しかしEDAツールによっては、互換性のあるスタンダードセル構造がないと完全な解が得られないこともあります。要素ブロックの配置を人手で行うにせよツールに任せるにせよ、大規模な多入力加算器、マルチプレクサ、コンプレッサ、順序セルの回路トポロジとサイズが豊富に揃っていることが必要なのは言うまでもありません。
優れたPPAを短時間で達成
SoCの設計には長い時間がかかりますが、テープアウトまでのスケジュールはますます短くなっています。こうした設計サイクルの短縮により、先端プロセス・ノードで設計チームを立ち上げる時間的余裕はなくなっています。市場での競争を制するには、すぐに実装を開始できるツール・レシピを使用して、シリコン実証済み/バリデーション済みのIPを統合することが欠かせません。ノードの微細化により、AI SoCに利用できるファウンドリの選択肢も限られています。ファウンドリから提供されるロジック・ライブラリおよびメモリー・デザイン・キットの選択肢となると、更に限られます。ファウンドリが提供するデフォルトのデザイン・キットを使用したデザインが、市場においてPPAの面で優位に立てる可能性はあるでしょうか。ごく一般的な最適化手法と基本的な実装ツールキットで達成できるPPAには限度があります。これを超えるには、他とは一線を画したIPソリューションを使用するしかありません。
正しいビルディング・ブロック選びが肝要
AI SoCの開発においてPPAと市場投入スケジュールの目標を達成するには、設計エンジニアは限られた時間の中で意思決定を実行し、いくつかの障壁を乗り越える必要があります。特定用途にターゲットを絞ったロジック・ライブラリとメモリー・コンパイラを使用すると、CNNエンジンの実装課題を解決し、AI SoCの開発をスムーズに開始できます。たとえばロジック・セルの場合、EDAツールの最適化機能を利用でき、ツールの標準アルゴリズムでは不十分な場合には人手による調整も可能な柔軟性を備えたオプションが複数用意されていることが、実装の課題を解決する上で極めて重要となります。シノプシスのFoundation IPポートフォリオに含まれるHPC Design Kitには、先端ノードで任意のデザインのPPAが改善するようにEDAツールとの連携を考慮して最適化されているだけでなく、特にAIを利用したデザイン向けに最適化されたロジック・ライブラリ・セルとメモリーがいくつも用意されています。優れたPPAを達成できるシリコン実証済みのポートフォリオが充実し、個々のデザインのニーズに合わせたカスタマイズもサポートされているシノプシスのソリューションは、一般的なソリューションよりも高い柔軟性を実現しています(図2)。
設計フローの迅速なスタート
EDAベンダが提供するファウンデーションIPソリューションの最大の強みは、インターオペラビリティにあります。つまり、最先端のプロセス・ノードであっても、IPに付属するスクリプトを使用するだけですぐに設計フローを開始でき、立ち上げに無駄な時間を費やす必要がありません。また、EDAベンダ提供のファウンデーションIPには、徹底的にテストされたPGグリッドも含まれます。このPGグリッドを使用すると、デザインの検討を早期に開始でき、スタンダードセル・アーキテクチャの特別な機能も利用できます。また、信号に使用する配線トラック・リソースを増やしても、デザインのパワー・インテグリティを損なうことがありません。PGグリッドの利用が完了したら、フロアプランの試行錯誤を本格的に開始できます。
DesignWare ARC® EV6x Embedded Vision Processorコアの場合、何回か反復を繰り返せば適切なアスペクト比が得られ、500 MHzの性能に対して最適な配線トラック使用率を達成できます。その後のデザインで周波数を800 MHzまで引き上げた場合、同じアスペクト比のままフロアプランを拡大しても設計クロージャは達成できません。このような場合、アスペクト比の異なるメモリーだけでなく、ビット・サイズが大きくペリフェラル設定の異なる、より高速なメモリー・アーキテクチャも必要です。シノプシスのHPC Design Kitにはさまざまな種類のコンパイラが揃っており、500 MHzでも800 MHzでも性能レベルに合わせた最適なフロアプランが得られ、容易に性能を引き上げることができます。多岐にわたるファウンデーションIPを使用することで最適化の余地が拡大するとともに、フロアプランの反復回数が減少し、設計クロージャまでの期間が短縮されます。
ツールとの協調最適化済みセル・セットが充実
EDAツールと協調最適化されたセル・セットがライブラリにどれだけ揃っているかが、PPAの目標達成および配線密集の管理にとって非常に大きな意味を持ちます。ライブラリとツールが協調最適化されていると、ロジック・ライブラリ・アーキテクトは先進の合成および配線アルゴリズムの隠れた細部まで見渡すことができます。この結果、ライブラリ設計者はどのセルを含め、どのようにレイアウトするかを容易に判断できるようになります。また、新しいタイプのロジック・セルを利用した場合に優れた結果が得られるように、ツールのアルゴリズム・オーナーが新しい機能をツールに追加できるのも、協調最適化の利点です。このようにIPベンダとEDAベンダが密接に連携することにより、SoC設計者は負担が軽減され、それ以外の実装に専念できるようになります。ツールとライブラリの連携は、マルチパターニングFinFETノードではますます顕著になっています。特に微細なプロセス・テクノロジでSoCを設計する場合、ライブラリ・セルのピン・レイアウト(特に多入力の複雑なセルのもの)が配線ツールの最先端の機能を活用できるように最適化されているため、設計レベルで早期に配線クロージャを達成できます。合成アルゴリズムの中では、セルの面積/速度比に基づいて意思決定が実行されます。これらのアルゴリズムによって最適な回路トポロジが推論されますが、そのためにはロジック・ライブラリに十分なオプションが揃っている必要があります。シノプシスのロジック・ライブラリを使用すると、大規模かつ複雑なセルも合成時にEDAフローへシームレスに統合でき、人手での作業負担を軽減できます。いくつかのビットとコンプレッサ・セルを組み合わせた特殊なワイド・マルチプレクサにより、デザインの全体的なネット長を抑えることができます。また、ワイド・マルチプレクサによって必要な配線トラックの量が削減されるため、面積と配線密集の問題も解消されます。ライブラリにはコンプレッサ、加算器、マルチプレクサの回路トポロジが複数用意されているため、どのようなアーキテクチャであっても、さまざまなサイズの乗算器を使用して常に合成の最適解が見つかります。多ビット・フロップおよびマルチプレクサには省電力版も用意されており、配線密集を軽減するために大規模なデバイスを使用する場合も、消費電力を妥協する必要がありません。ウォレス・ツリーも、ビット数を増やしたブース・マルチプレクサと複数のブール論理を高度に最適化された1つのセルにまとめたデータパス算術演算セルを使用することによって、改良が図られています。HPC Design Kitのライブラリには、さまざまなデバイス・サイズに対応した順序回路と組み合わせ回路のオプションが幅広く用意されており、データパス構造を人手で配置することも、スクリプトの使用によりセルを入れ替えてパワー・リカバリを実行することも容易に行えます。
シノプシスHPC Design Kitは、人工知能/機械学習アプリケーション向けにさまざまな強化が図られています(図4)。この新しいキットは、汎用のファウンデーションIPソリューションに比べ、DesignWare Embedded Vision Processorの消費電力を最大39%削減できます。HPC Design Kitを使用してトレードオフを最適化すると、CNNブロックの速度が7%向上し、消費電力が28%削減されます。
先端プロセス・ノードで豊富なテープアウト実績を持ち、カスタマイズ・サービスを通じてデザインの差別化を支援するシノプシスのDesignWare HPC Design Kitは、AI SoCの開発に向けた魅力的な選択肢となります。