異種コンピューティングチップCPU及びGPU / FPGA / ASIC(その2)の深さ理解

異種コンピューティングチップCPU及びGPU / FPGA / ASIC(その2)の深さ理解

3.2.1 CPUのコンピューティングパワー解析

ここでCPUパワーハズウエルは、コンピューティングユニット(乗加算融合)は、2つのアーキテクチャハズウエルFMAがあるが、各FMA 256ビットデータは乗算を行う第1のクロックサイクルで動作を追加することができ、インテル・アーキテクチャーを用いて分析し、 32ビットのパワーを計算する単精度浮動小数点に対応するため:単精度浮動小数点計算することができる(256ビット/ 32ビット)2(FMA)2(乗算及び加算)= 32 SPプ/サイクル、即ち各クロックサイクル32。

ピークのCPU浮動小数点パフォーマンス= CPUコアの数のサイクル周波数あたりのCPU浮動小数点演算を実行します。IntelのCPUタイプE5-2620V3は、第二の容量あたり= 6(CPU監査)2.4GHz帯(CPU周波数)32のSPプ/サイクル= 460.8 GFLOPS / S即ち460Gピーク浮動小数点演算ピーク計算能力を算出して。

かどうかをCPUチップアーキテクチャは、コンピューティングパワーを浮動小数点を十分に発揮することができますか?CPUの命令実行される: - >命令デコードが - 命令フェッチは、2つの期間をフェッチし、命令デコードように命令が実行されたときにのみ>命令が実行され、計算手段のみ役割を果たし、演算部は、仕事から離れるあります図に示すように。

図4 CPUの命令実行フロー

CPUの命令実行の効率を改善するために、現在の命令の実行は、いくつかの命令は、先に図に示すように、命令パイプライン処理は、命令実行の効率を改善するように、リードバックします。命令実行パイプラインとコマンドの間には相関が命令が缶内で実行される方法の先行実行の結果が知られるまで待機するコマンドではないないことを事前に条件を読み取ること。

図5 CPUの命令パイプライン

CPU汎用プロセッサ、計算および制御の両方、計算汎用性が得られ、図6に示すように、効率を向上させるために複雑なロジックおよび命令のキャッシュ制御装置を構築するために使用されるトランジスタ70%一部ができるよう高い計算上の複雑さを処理するが、一般的なコンピューティング性能インチ

図6CPU構造

CPUアーキテクチャ変形算出部(乗加算融合)FMAの数を増やす、CPUコア、CPU周波数の増加の数を増やす:分析は直接方向計算のパフォーマンスを向上させる、CPUの性能によって算出します。三の方向は、直接最大リフト量を計算するためのCPUコアの数を増加させるが、各物理コアの電力消費およびチップもたらし価格の上昇は、演算単位トランジスタのわずか30%です。CPUの周波数の増加、改善のための限られた部屋、およびCPUの周波数は、Intelや他の半導体メーカーは現在、単一のマイクロプロセッサの周波数を制限するために、あるマルチライン、なしで行くようで、過度の電力消費と過熱の問題を表示されるように、チップを引き起こす可能性が高すぎます複数のプロセッサコアは、処理性能を向上させるために集積しました。変更のCPUアーキテクチャは、より長い更新反復サイクル3年遅くする2016から、現在のインテルCPUアーキテクチャは、2年のサイクル「かちかち」に応じて調整する手段と、計算FMAの数を増加させます。

3.2.2 GPUコンピューティング能力分析

GPUは、主に、同様の画像処理を行うことで計算する、いわゆる「粗粒度並列処理(粗粒度並列)」を平行。パターン特徴量算出処理性能があまり相関している、GPUは、同時に多数の画素であると計算された高密度のニーズを計算するために高速メモリ間演算ユニット(数千台を計算)の大量かつ大量のデータを提供します並列処理。

図7は、GPUの設計構造です。GPUの設計の出発点は、計算集約GPU、マルチパラレルコンピューティングに適しています。このように、GPUはCPUデータキャッシュコントローラとプロセスとは異なり、より多くのトランジスタ手段を計算するために使用されます。この設計は、ため、データの各ユニットが同じ場合、並列計算プログラムである複雑なプロセス制御と高い計算能力の必要性を必要とせず、したがって大きなキャッシュ容量を必要としません。

図7 GPU構成

計算ユニットを複数に対応する論理制御ユニット、同時に完全アップ平行にするための演算ユニット、論理制御は複雑すぎ、複雑すぎる論理制御演算部であってはならないGPUの並列を再生することはできません、例えば、過剰な場合は...そうなら分岐、並列コンピューティングは、計算ユニットを増やすことができない他の場合... ...、こんなに早く制御ユニットのGPUで複雑な制御ロジックを処理する必要はありません。

ここでストリームプロセッサ2880(ストリームプロセッサ)を含むテスラK40のNvidia、K40による分析のためにGPU計算能力、GPUストリームプロセッサ部を計算しています。各ストリームプロセッサは、乗算単精度浮動小数点および32ビット単位を含む、すなわち、各クロックサイクルは、2つの単精度浮動小数点演算を行うことができます。=浮動小数点演算を実行するストリームプロセッサGPU毎週の周波数ピークGPUの動作の浮動小数点性能の数。例において、すなわち4.29T K40、K40ピーク= 2880浮動小数点性能(ストリームプロセッサ)745MHz 2(乗算及び加算)= 4.29Tプ/ sのポイント機能をフローティング第二のピーク。

かどうかはGPUチップアーキテクチャは、コンピューティングパワーを浮動小数点を十分に発揮することができますか?同様にGPU CPUの命令実行プロセスは次のとおりです。フェッチ - 命令がデコード> - >命令は、命令が実行された場合にのみ、計算手段は唯一の役割を果たして実行されます。GPUのCPUロジック制御ユニットは非常にパイプライン処理命令を達成するため、命令実行効率を向上させるために、比較が簡単で、必要な要件演算処理自体、低複雑度は、アルゴリズム自体可能なシリアル処理データの処理から独立しています有意な減少をもたらすGPU浮動小数点演算能力。

3.2.3 FPGA分析を計算します

FPGAは、高性能、低消費電力、プログラマブルチップが行うように設計された特定のアルゴリズムに応じてカスタマイズすることができます。大量のデータを扱う際にそのため、FPGAは、CPUとGPUへの優位性を比較した:FPGAより計算効率、FPGA近いIO。

FPGAソフトウェアと命令を使用せずに、ハードウェアデバイスの団結です。ハードウェア記述言語を使用して、FPGAロジックをプログラムするために、ハードウェア記述言語は、トランジスタ回路の組み合わせに直接コンパイルすることができます。したがって、ユーザは、実際には翻訳システムによって指示することなく、直接アルゴリズムFPGAトランジスタ回路が実装されています。

FPGAの略語名の翻訳、フィールド・プログラマブル・ゲート・アレイのフルネーム、FPGAの関数の名前は、それが論理ゲートの束の組み合わせで、開示されているプログラムすることができ、再プログラム可能かもしれません。図8に示す内部プログラム可能なFPGAの概略図。

図8のFPGA内部構成。

ここで、コンピューティング能力V7-690Tザイリンクス分析とFPGA、3600 DSP(デジタル信号処理)を含むV7-690Tは、DSP FPGAは、演算手段です。各DSPは、各クロックサイクルにおいて点計算(乗算及び加算)をフローティング2つの単精度を行うことができます。FPGAピーク性能浮動小数点DSP =サイクルあたりの浮動小数点演算、周波数FPGAの数。V7-690T 250MHzの動作周波数は、ポイント機能を浮動V7-690T浮動小数点性能ピーク= 3600(DSP番号)250MHzの2(乗算及び加算)= 1.8Tプ/秒すなわち1.8T第二のピークを算出しました。

かどうかはFPGAチップアーキテクチャは、コンピューティングパワーを浮動小数点を十分に発揮することができますか?FPGAカスタムアルゴリズムので、何のCPU及びGPU命令がフェッチず、復号処理され、データは、定着動作カスタマイズアルゴリズムから直接ストリーミング、演算部は、各クロック・サイクルを実行することができ、それは完全な浮動小数点数であることができますコンピューティングパワー、CPUとGPUよりも計算効率。

3.2.4 ASICのコンピューティングパワー解析

これは、従来の汎用チップはいくつかの違いを持っ​​ていると、専用のASICチップです。いくつかの特定のニーズおよびカスタマイズされたチップのため。小型、低消費電力、高性能コンピューティング、高い計算効率、チップ:パワーとASICチップの効率を計算するので、汎用チップASIC、優位以下の態様と比較して、アルゴリズムに応じてカスタマイズすることができ音量が大きいほど、コストを下げます。しかし、欠点も明らかです:アルゴリズムの変更が使用できない場合があります一度アルゴリズムは、固定されています。さまざまなアルゴリズムに適応するために行う方法を人工知能は、現在の期間の大流行である多数のアルゴリズムが注がれてきた、これまで安定したアルゴリズムの時代からある、ASIC ASIC現在のCPUとGPUのアーキテクチャは、様々なアルゴリズムに対応するためにあれば、最大の問題です、それは無い利点の同じCPU、GPUの汎用チップ、性能と消費電力と専用のASICチップになります。

FPGAとASICの間の差で見てみましょう。基本的な原理は、FPGAチップにデジタルゲートの集積回路実質的に多量、メモリ、およびユーザーがこれらのゲートとメモリとの間のリンクを定義するために、FPGAのコンフィギュレーションファイルに書き込むことができるです。これは、1回のバーンインないユーザーが今、マイクロコントローラMCUにFPGAを構成することができる、明日はオーディオコーデックに同じFPGAのコンフィギュレーションにコンフィギュレーションファイルを編集することができます。アプリケーション特定集積回路ASICは、完全な回路設計と製造が固定されており、変更することはできません一度、です。

比較FPGAとASICは、レゴとモデル比較するようなものです。たとえば、あなたは最近、スターウォーズヨーダの火の中に発見すれば、私はあなたがそれを行うだろうか、販売するマスターヨーダのおもちゃをしたいですか?

2つの方法があり、一つはレゴの乗車を使用することで、カスタムの金型工場を探しているがあります。レゴは限り完成おもちゃの設計形状は、レゴのセットを購入することができますよう、それを取ります。そして、材料などのおもちゃはおもちゃは、高温で溶融するかどうか、悪臭を発する、というように、そのおもちゃが準備作業よりも、レゴを使用する必要があるかどうか、あなたは多くのことを行う必要があるおもちゃの外形形状に仕上げ、その後、工場出荷時の金型の設計を見つけますはるかに少ないそれを作るためにモデルを見つけるための工場から、設計から完成時にもはるかに高速レゴで市場のことができるようにするために必要。

FPGAとASICであればVerilogコードを用いて完成しFPGAを達成することができるように行う検証と物理設計(ESD、パッケージ、等)、それ以上のことがASICニーズを設計するために、ハードウェアアクセラレータFPGAベンダが提供するツールを使用し、そして、同じです時間。あなたは、あなたが完全に軍用グレードの高い安定性のFPGAを購入することができ、ASICは、需要を満たすために特別に設計されるように多くの時間が必要になりますが、直接FPGAと(このような高い信頼性の要件については、軍事および産業用アプリケーションなど)特別な行事のために必要な場合開発時間の影響。しかし、設計が比較的短い時間が、いくつかのラフ(パフォーマンスの低下)におもちゃよりもレゴのおもちゃ工場のカスタマイズ(下図)から作られたが、すべての後に、オーダーメイドの金型工場です。

また、大規模な出荷あれば、おもちゃのコスト工場の量産はレゴよりも安くたくさん行います。同じことが最善の実装プロセスは、同じプロセスに5-10回を行うには速いアクセラレータFPGAの速度よりなり、量産コストがはるかにASICになります一度と同時に真のFPGAやASIC、ASICアクセラレータ速度であり、 FPGAソリューションよりも低いです。

列挙されたspeed FPGAは、ASICが遅い列挙し、開発するために多くの時間を必要とし、時間コスト(製造コストリソグラフィマスク)much高いFPGAよりも、平均的コストと量産よりFPGA性能がFPGAよりも低いです。ターゲット市場、高いコストFPGA、その価格は、などのエンタープライズ・アプリケーション、軍事、産業用電子機器、など敏感な部分、のために非常に適していません(これらの領域では、実際の必要性を再構成可能)。ASICは、低コストの民生用電子機器アプリケーションに適しているが、また、民生用電子機器の需要が質問に開いて擬似であるかどうかを設定することができます。

私たちは、市場の状況も真である参照:FPGA-加速深い学習の使用は、主にビジネスユーザーを行うには、Baiduは、マイクロソフト、IBMなどの企業は、FPGAスタートアップTeradeepのターゲット市場をしながらFPGAプログラムを加速行うには、サーバー用の特別なチームを持っていますまた、サーバー。ASICは、主なMovidiusなどの家電、を目指しています。モバイル端末は、民生用電子機器の分野に属し、そのスキームの将来の使用はASICベースに基づいている必要がありますので。

3.3プラットフォームの性能と消費電力の比較

商業的に実行可能なチップが表示されていないため、異なるチップ生産技術、パワーチップの性能を、ASICチップがでたり、クローズ処理に同じプロセスと比較してここに影響されており、Googleの自身の使用のみTPUなし外部情報、代表として:ここでのASICチップは、「ユビキタス機械学習のための小フットプリントハイスループットアクセラレータDianNao」に掲載された学術論文で使用されます。

このような観点の比較から、エネルギー消費の観点より:計算集約的なアルゴリズムのために、およびデータ操作効率よりも高いエネルギーでより高い移動:ASIC> FPGA> GPU> CPU、ルートは、この結果の原因。ASICやFPGAは近いIO、高い計算効率と高いデータ移動が、FPGAトランジスタと冗長接続、低い動作周波数、したがってないエネルギー比ASICの底部にあります。GPU及びCPUは、汎用プロセッサであるフェッチする必要がある、命令デコード、命令実行処理、このようにマスク処理IO、このようなデカップリング・ハードウェアおよびソフトウェアの底部が、それが移動する操作データをもたらすと高い効率を達成することができないので、何のASIC、FPGAの消費電力が高くありませんがあります。キャッシュ論理及び制御ユニットに用いられるトランジスタの大部分は、GPUは、CPUと比較することをGPUとCPU、メインCPUとの間のギャップよりもエネルギー同時計算集約型アルゴリズム低い計算複雑性、冗長性のためにトランジスタは、エネルギーが前のCPUのGPUよりも小さい、機能しません。

4まとめと展望

プロセッサチップは、彼らの長期的発展、市場の一部を形成し、特色の使用を処理します。オープンソース・ソフトウェアとアプリケーション・ソフトウェアのCPU&GPUフィールドがたくさんある、任意の新しい技術意志CPUとの最初のアルゴリズム、豊富な資源と簡単にアクセスでき、低開発コストと開発サイクルをプログラミングCPU。FPGA実装、FPGAチップの特性のより完全な理解を開発する必要がありますが、高い並列性の性質は、多くの場合、順序は、サービスのパフォーマンスを向上させるために作ることができる人をVerilogの/ VHDLおよび他の低レベルのハードウェア記述言語を使用して、動的なFPGAながら、データセンターに配備されたとき、異なる論理ハードウェアアクセラレーションを達成するために、様々な形態で構成することができるサービスに応じて、再構成することができ、例えば、現在のFPGAボードの観点からサーバ画像圧縮ロジック上に配備され、QQのビジネスサービス;リアルタイムの広告見積容量がより多くのFPGAは、シンプルなFPGAの再構成処理を経由して大量の展開のために非常に適した、リアルタイムの見積もりに広告を表示するために「新しい」ハードウェアに変換することができますFPGAボードをコンピューティング・リソースを取得するために必要とされる時。しかしAISC偉大な開発リスク、時間の長い期間、コストの価格でなく、また、開発から市場に確実にするために十分な大きさの市場を持っている必要があります。ASICチップは、最適な性能、すなわち高い面積効率、高速、低消費電力化を図ることができますこのようCNNや他の深い学習アルゴリズムなどの分野に適していない高速な反復です。

話そんなに、あなたが遭遇したヘテロジニアス・コンピューティングチップ事業のボトルネックを必要とするとき、あなたはそれが適切なチップチップの事業特性や性質に基づいて選択することができますか?

チップの様々なタイプの特性の完全な分析、そして、ここにフォーカス!

今日のFPGAは、優れたパフォーマンスの可能性、サポート、可変深度パイプライン構造、大規模な並列コンピューティングリソースを持って、クロック・サイクルが非常に複雑な機能を完了します。このようなデバイスは、カスタム設計のコプロセッサ不在や待ち時間の問題のコストを、アプリケーションソフトウェアの特別なニーズを満たすことができるFPGAのプログラマビリティを保証します。FPGAは、再プログラムされた、それは単一のチップで複数のアプリケーションのための機能をコプロセッシング非常に柔軟なカスタマイズを提供することが可能です。持っているFPGAは、ビジネスは無限の可能性を持っています。同一の半導体技術は、双方が限界にプロセッサの性能を活用するために、FPGAは、高性能プログラマブル・アーキテクチャに開発された単純なグルー・ロジック・コントローラ、とすることができます。HPC市場、「4P」の需要を満たすためにFPGAに完全にできます。

FPGAの内蔵メモリも素晴らしいパフォーマンス上の利点です。例えば、メモリチップの論理手段は、ピンの数は、デバイスI O /を限定することなく、メモリアクセス帯域幅をコプロセッサ。また、メモリと演算ロジック密接に、外部の高速メモリバッファを使用することはもはや必要。このように、また、バッファアクセス大きな力と一貫性を避けるために。内部メモリを使用すると、コプロセッサは、それによって設計を簡素化し、メモリ容量へのアクセスを増やすために、追加のI / Oピンを必要としないことを意味します。

FPGA開発の難しさとその態度についての長い開発サイクルとホールド疑問に多くの人が、良いニュースは、より完璧な、多くのアプリケーションはより高いパフォーマンスを得ることができ、両方の直接の高水準言語を使用HLSとOpenCLの言語です。

業界の成功事例

よりよく満たすためにパフォーマンスを計算するための要件は、世界の主要IT企業の多くは、FPGA上のレイアウトと実践アクセラレーションハードウェアを行いました。

インテル:

インテルはFPGAメーカーのアルテラの$ 16.7億ドルで買収することを決めました。インテルは2020年までに、サーバのCPUチップの30%以上は、FPGAコプロセッサが装備されることを期待します。

IBM:

IBMとザイリンクスは、複数年の戦略的協業を行って、より高いパフォーマンス、よりエネルギー効率の高いデータセンターのアプリケーションを作成するために、ワークロード処理技術を加速するためにIBM POWERシステムでザイリンクスのFPGAを使用することを発表しました。

マイクロソフト:

早ければ2014年のように、MicrosoftはBingの検索事業におけるアルテラFPGAの使用は、ビングは29%で、検索時間の量を倍増するプロセスを検索します。2015年までに、マイクロソフトさらにFPGAは、深い学習の分野で使用されます。トップレベルの会合マイクロマイクロソフトアーキテクチャ「Aクラウドスケール・アクセラレーション・アーキテクチャ」を示し、データセンターアーキテクチャでの野心に発表された2016、。次のように今、すべてのMicrosoftのデータセンターに各サーバー上のFPGAボードで、基本的なアーキテクチャは、次のとおりです。

アプリケーションのシナリオに関連した論文は、次のとおりです。

1.加速ネットワーク(例えば、ネットワーク・パケットの暗号化)

2.ローカルアプリケーションアクセラレーション(ビング加速度、DNNの遅延に敏感なトラフィックの加速度)

3. FPGA、FPGAとの間の支持通信は、リソースプール、ハードウェアサービスとしてサーバを提供する概念を計算し、FPGAを切り離さ。

フェイスブック:

2016年には、Facebookはまた、Xeonプロセッサ、FPGAプラットフォームとデータセンターの建設のためにインテルと協力することを誓いました。

Baiduの:

Baiduはまた、オンラインサービスを利用して、Baiduの脳FPGAの国内版を立ち上げ、百度のFPGA版は、音声認識、広告のクリックスルー率の予測モデル、DNA配列の検出および無人車両事業を含め、脳に適用されています。などBaiduの脳、音声オンラインサービス、広告のクリックスルー率の予測モデルの計算性能のバージョンのアプリケーションは4回に3を改善していることが理解されます。

転載この記事Tengyun裁判所は、著作者の許可されています。

公開された63元の記事 ウォン称賛52 ビュー40000 +

おすすめ

転載: blog.csdn.net/weixin_41521681/article/details/105158812