ハードウェア アクセラレーターとは、コンピュータの処理速度を向上させることを目的にコンピュータに追加する装置のことです。
大規模演算を必要とする現場ではコンピュータの演算スピードに課題を感じているケースが多く、近年、コンピュータが一度に処理するデータ量が飛躍的に増加したことが原因で、既存のコンピュータの汎用CPUでは演算処理が間に合わず、遅延(レイテンシ)が発生したり、CPUの発熱量が増加したり、消費電力が大きくなってしまうという問題が起きています。
ハードウェア アクセラレーターは、こうしたCPUで賄えないデータ処理を支援するため、コンピュータの電子部品として組み込む方式のアクセレーターです。
ハードウェア アクセレーターには、CPU(中央処理装置)アクセラレーターやGPUを用いたグラフィックアクセラレーター、FPGAを用いたアクセラレーターなどの種類があり、
演算方法や目的に応じ選択することで、効果的な高速演算処理が可能となります。
開発のポイントは大きく2つあります。
まず、演算方法に適したハードウェア アクセレーターを選ぶこと。そして開発期間・開発難易度などのシステム導入面と、保守メンテナンスといったシステム運用面のバランスをよく考えることです。
近年、大規模演算を必要とする現場では、システム導入のしやすさからグラフィックアクセラレーターで高速化をするのが一般的になっています。しかし実際はグラフィックアクセラレーターでは高速化が難しい演算も少なくありませんので、ハードウェア アクセラレーターの選択においては良く検討することが必要となります。
グラフィックアクセラレーターは単純な演算を高速で繰り返し行うことが得意です。一方複雑な四則演算が組み込まれたケースでは、導入しても求めていた高速化が得られないといったケースが多くあります。
解決策として、大規模演算をFPGAで高速化するという方法があります。
FPGAとは「Field Programmable Gate Array」の略称で、半導体チップの一種です。現場で内部の論理回路の構造を書きかえられるもののうち、回路規模が数万ゲート以上に及ぶ大規模で複雑なものを指します。
このFPGAの構造的特長を活かし、四則演算や条件分岐のある複雑な大規模演算を実現することができます。
当社のハードウェア アクセラレーター開発事例として、FPGAによる大規模演算を可能にしたケースがあります。さらに、FPGAでの大規模演算に必要な要素ブロックはすでに開発済みであることから、比較的短期間に複雑な大規模演算の高速化を実施できることも特長です。
●事例1「FPGAによる大規模演算の開発事例」
課題
演算高速化のためグラフィックアクセラレーターを導入したが、実施演算の大部分が、途中の演算結果でその後の演算式も変化する複雑な演算を行っていたため、GPUでは高速化できず、期待していた演算速度が得られないという課題が生じていました。
解決策
PCI Expressカード(※1)上のFPGAに演算高速化ブロックを実装する「D-CLUE FPGA高速化メソッド」を実施しました。特長として、圧倒的な大規模演算高速化を実現する演算高速化ブロックである点、開発期間を短縮するセミカスタム実装である点、Windows OSとLinux OSどちらでも対応可能である点が挙げられます。
D-CLUE FPGA高速化メソッドとGPU(NVIDIA Quadro RTX 8000)との演算時間を比較すると、約15倍高速化することが確認できています(※2)。
※1 PCI Expressインターフェースを備えたLANカードの一種。PCI Expressとは高速にデータ通信が可能なシリアル転送方式の拡張インターフェースの接続規格。
※2 GPUはCUDAを使ってプログラミング。いずれもPCからのデータ転送時間は除く
ハードウェア アクセラレーター開発のアウトソーシングはディー・クルー・テクノロジーズにお任せください。
これまで培った技術を集約し、高度な大規模演算に最適な「D-CLUE FPGA高速化メソッド」等により、
貴社の課題解決に貢献します。