科学系・技術系シミュレーション加速サービス

 

圧倒的な計算能力でシミュレーション速度を大幅に向上し、製品開発期間の短縮、対費用効果の向上を実現

 

高度な製品開発には数値を使ったシミュレーションがつきものです。皆さんは現在どのようなシミュレーション環境を使用されていますか。Matlab®/SimuLink®、LabVIEWやOpen-CLとGPUを使用されている方が多いのではないでしょうか。そこで、私たちからの質問です。皆さんは現在のシミュレーション速度に満足していますか?シミュレーション環境を見直すだけで、シミュレーション速度を最大1000倍高速化できることをご存知ですか?

 

高度な製品開発に伴うシミュレーションの現状

IoT化の進む自動車業界におけるモーターシミュレーション、材料開発に伴う特性シミュレーション、システム検証、金融シミュレーション、流体解析、テンソル積、創薬、建築等、いずれもより高い精度が求められ、複雑化しています。また、特殊用途に対して独自にテンソル積、有限要素法(FEM)を活用したシミュレーションを使用する場合もあります。

現在、このような数値シミュレーションの現場ではMatlab/SimuLinkやLabVIEWといったソフトウェアが一般的に使用されています。これまで性能を向上させるためにプロセッサの並列数を増やしてきました。しかし、ソフトウェアの並列可能な部分が少なければ、いくらプロセッサを大量並列しても性能の向上を図ることができず、並列度を増せばその分レイテンシーが悪化するという問題がありました。

 

FPGAを利用してシミュレーション速度を最大1000倍高速化

この問題の解として、ベクトロジーはソフトウェアをハードウェアに置き換えることに注目しました。ソフトウェアをハードウェアに置き換えるって時代を逆行しているのでは?と思われるかもしれませんが、微細化に伴い非常に複雑なハードウェアの実装が可能となり、ソフトウェア向けのアルゴリズムがハードウェア向けに開発された現在、むしろハードウェアのメリットをさらに活用できるようになったと言えます。ハードウェアと言ってもスーパーコンピュータを増設するという話ではありません。専用の演算回路を実装したFPGAのご提案です。Matlab/SimuLinkやLabVIEWなどで作成したシミュレーション環境をFPGAに移植することでシミュレーション速度を最大100倍から1000倍に加速することができます。

 

なぜFPGAなのか

FPGAとは再プログラミングが可能な汎用LSIです。FPGAには特にシミュレーションに対して有用ないくつかの特長があります。

  • アルゴリズムの修正が頻繁に行うことができる モーターシミュレーション、材料シミュレーション、流体解析等、用途や目的に合わせたアルゴリズムのチューニングが低コストかつ容易に行えます。
  • CPUとの通信頻度が少なく、チップ間通信が太い ソフトウェアを使用した場合、計算途中で何度もCPUと通信を行うため演算処理が減速してしまい、これがシミュレーション速度に大きく影響を及ぼしています。一方、専用演算器を実装したFPGAの場合、FPGAは自立して計算が可能で、FPGA同士が短時間かつ、大容量で通信できるため、CPUとの通信は必要最小限に抑えることができ、演算処理時間を大幅に向上します。

 

 

 

 

 

 

 

 

 

 

  • 優れた拡張性 これまで演算処理を拡張するためにプロセッサ(GPU)を増設したとしても、プロセッサ同士では直接通信ができず、CPUを介さなければならないため、必ずしも期待する結果を得ることができませんでした。専用演算回路はFPGAの数だけ演算能力を増加するため、増設することで演算処理をさらに拡張することが可能です。
  • 計算粒度が小さい GPUは計算粒度が大きいのに対し、FPGAは計算粒度が小さいので複雑な演算を1チップで実現可能です。

既に国立大学、医療機器メーカー、自動車メーカー、通信機器メーカー等、多数のお客様が専用演算回路を実装したFPGAシミュレーショ環境を導入し、結果を出されています。 詳細なご説明やデモにご興味がおありでしたら、お気軽にお問合せください。