IPAC-1000ユーザーからの声~東北大学~

はじめに

IPAC-1000はAltera®の大規模FPGA(Agilex™7 Mシリーズ)を搭載したアクセラレーションカードです。 同シリーズのFPGAを搭載したアクセラレーションカードは他社でも開発・販売されており、ハードウェアのスペックは類似しています。

では、アイベックステクノロジーが開発したIPAC-1000と、他のFPGAアクセラレーションカードはどのような点が異なるのでしょうか?

今回のブログでは、IPAC-1000と他製品の差別化の要である、開発環境「oneAPI(ワンエーピーアイ)」についてご紹介します。

また、実際にIPAC-1000を採用し、oneAPIをご活用いただいている東北大学 情報科学研究科 知能集積システム学分野 Waidyasooriya Hasitha Muthumala准教授から、採用した経緯や評価を伺いました。

高位合成環境 oneAPI とは

IPAC-1000は大規模なFPGAを搭載していますが、このハードウェアを十分に活用するためには、様々な課題があります。 そこで、ハードウェアの抽象度を高め、開発効率を向上させるため、当社ではソフトウェア基盤の開発に注力しています。

oneAPIとは、Intel®から提供される高位合成環境です。 Intel®のoneAPIに関する紹介文を引用すると、下記のとおりです。

oneAPI プログラミング・モデルは、データ並列 C++(DPC++)と呼ばれるオープンソース・プログラミング言語と最新の C++ 機能を使用して並列処理を表現することにより、CPU とアクセラレーターのプログラミングを簡素化します。DPC++ 言語は、単一のソース言語でホスト(CPU など)とアクセラレーター(GPU など)のコードの再利用を可能にし、実行とメモリーの依存関係を明確にします。DPC++ コード内のマッピング機能により、ハードウェアまたはハードウェア・セットに最適化されたワークロードを実行するためアプリケーションが移行されます。アクセラレーターを使用できないプラットフォームでも、ホストを利用することでデバイスコードの開発とデバッグを簡素化できます。

このoneAPIを使って、FPGA(Agilex™7 Mシリーズ)を扱うためには、FPGA(Agilex™7 Mシリーズ)専用にカスタマイズされたソフトウェアが必要です。

Open FPGA Stack(OFS)はFPGAを抽象化するためのオープンソースSW/HW Stackです。 これまではIntel®がFPGAごとに専用のOFSを提供していましたが、Agilex™7 Mシリーズにおいては提供されていません。よって、当社では既存のOFSをベースとして、IPAC-1000向けにAgilex™7 Mシリーズ用OFSを開発しました。

oneAPI上でC++にて書かれたコードは、RTL(Register Transfer Level)へ変換され、ASP(Accelerator Support Package)やFIM(FPGA Interface Manager)でパッケージ化されることで、FPGA(Agilex™7 Mシリーズ)に書き込まれ、プログラムを実行できるようになります。

oneAPI ASPの概要図
oneAPI ASPの概要図

Agilex™7 Mシリーズ用にFIMやASPもカスタマイズする必要があり、当社はIPAC-1000の付加価値を高める要素として、積極的な開発を行っています。

以降の「研究概要」「IPAC-1000を採用した理由」「実際にIPAC-1000を使用した評価」「今後アイベックステクノロジーへ期待すること」の章では、実際にIPAC-1000とoneAPIを活用してくださっている、東北大学 Waidyasooriya Hasitha Muthumala准教授にご寄稿いただきました。

研究概要

FPGAを活用した高性能計算システム及びアクセラレータ設計

東北大学 情報科学研究科 知能集積システム学分野では、FPGAを活用した高性能計算システム及びアクセラレータ設計に関する研究を行っています。

具体的には、汎用プロセッサであるCPU+GPUに、特定のアルゴリズムに最適化した回路を構築したFPGAを追加することで、低消費電力&高速&高効率で大規模な計算問題を解決するカスタムスーパーコンピューティングの実現を目指しています。

東北大学 情報科学研究科 知能集積システム学分野 研究室ウェブサイトより
東北大学 情報科学研究科 知能集積システム学分野 研究室ウェブサイトより

研究テーマはAI・物流・ロボティクス・科学シミュレーション

幅広い分野で研究テーマを持っており、最近では

  • 組合せ最適化問題を対象とした量子アニーリングシミュレーションの FPGA 実装
  • AIや機械学習処理の高速化
  • ロボットや物流システムにおける経路最適化
  • 科学技術計算の高速化 などが挙げられます。

研究の要はFPGA

近年、AI、量子計算シミュレーション、科学計算技術などの分野では計算量の増大に伴い、高性能かつ高電力効率な計算システムの需要が高まっています。

特定の計算処理を高速かつ省電力で実行するには、アプリケーションに特化したカスタムアクセラレータの設計が有効です。その実現手段として、回路構成を柔軟に変更できる再構成可能集積回路であるFPGAを利用しています。

近年のFPGAは高性能化、数百万規模の論理回路、数TFLOPS(Tera Floating Point Operations Per Second)級の浮動小数点演算性能、400Gbps超の高速通信インターフェースを備えているため、大規模計算を高効率かつ省電力に実行することが可能です。

IPAC-1000を採用した理由

IPAC-1000は高性能かつ、スケーラブルなFPGAアクセラレータシステムを構築するための有力な基盤であり、本研究の目的である高効率計算アクセラレータの実現を支える重要なプラットフォームとなっています。IPAC-1000を採用した主な理由は下記の3点です。

①高位設計(oneAPI)に対応

多様な応用分野に適応するためには、従来のHDLによる回路設計だけでなく、C/C++を基盤とした高位設計(High-Level Design)の活用が重要です。

特に、OpenCLやoneAPIといったプログラミングモデルを利用することで、ソフトウェア開発に近い形でハードウェア設計を行うことができ、開発効率を大きく向上させます。 単一のFPGAアクセラレータにとどまらず、複数のFPGAやCPUが混在するヘテロジニアス計算システムにおいても、統一的なプログラミングモデルの下で効率的な資源管理とデータ連携を実現できます。

こうしたアプローチは、AI 計算、量子計算シミュレーション、バイオインフォマティクスなど、大量のデータ処理と高い並列性を必要とする分野において特に有効です。

②計算性能のボトルネックを解決

計算性能のボトルネックである「メモリ帯域」「通信帯域」の制約を緩和できる特徴を持っていることも採用した理由の一つです。

広帯域メモリ(HBM2e)と高速ネットワークインターフェース(400Gbps)を搭載しているので、ハードウェア性能を最大限に活用したスケーラブルなシステム構築が可能です。

③日本国内での充実した技術サポート

後述の今後アイベックステクノロジーへ期待すること、の中でもコメントいたしますが、日本国内で安定したサポート体制と高度な技術サービスの提供を受けられることも、IPAC-1000を採用したメリットと考えます。

実際にIPAC-1000を使用した評価

従来製品との性能比較
従来製品との性能比較
従来使用していた他社FPGAアクセラレーションカードと比較して、 HBM2eメモリ帯域を活用し、メモリアクセス帯域のボトルネックを改善することで、 全結合モデルに対する量子アニーリングシミュレーションを実装時、1.58倍の高速化を実現しました。

また、HBMとDDR5メモリの両方を利用することで、1.4倍のスピン数を扱う実装が可能になりました。

他にも、Vision TransformerやMLP-MixerなどのAI処理を実装したり、 深いパイプライン型アーキテクチャを複数FPGAにまたがって実装する際にも、高いスケーラビリティを確保できています。

今後アイベックステクノロジーへ期待すること

今後、アイベックステクノロジーには、FPGAを活用した高性能計算プラットフォームのさらなる発展と、研究機関および産業界を支える技術基盤の一層の充実を期待しています。

特に、AI、量子計算シミュレーション、科学技術計算などの分野では、FPGA の高い並列性と電力効率を活かしたアクセラレータ技術の重要性が今後ますます高まると考えられます。そのため、HBMを搭載した次世代FPGAプラットフォームや、高速ネットワークを活用した大規模FPGAクラスタの構築に向けて、ハードウェアとソフトウェアの両面から継続的な技術開発が進むことを期待しています。

また、用途に応じたFPGAボードのカスタム設計や、特定アプリケーション向けに最適化されたカスタムASP(Accelerator Support Package)設計サービスなど、柔軟なシステム設計支援のさらなる拡充も重要と考えています。加えて、日本国内で迅速な技術サポートや技術的フィードバックを受けられることは、研究の継続性と効率を支える大きな利点です。

今後も研究機関との連携を深めながら、安定したサポート体制と高度な技術サービスの提供が継続されることを期待しています。

最後に

ブログ執筆にご協力いただいたWaidyasooriya Hasitha Muthumala准教授へ、心より感謝申し上げます。

当社では、特定アプリケーションに最適化したハードウェア・ソフトウェアの提供を継続して参ります。

従来のCPUやGPUで構築された計算基盤ではリソースが不足している、満足するパフォーマンスが得られない・・・などでお困りの方、ぜひFPGAを活用してみませんか?

お問い合わせフォームよりお気軽にご連絡ください。

関連記事

heroImage

IPAC-1000開発秘話~世界で選ばれる製品を目指して~

IPAC-1000の開発は当社にとって挑戦の連続でした。開発の裏側にはグループ会社の手厚いサポートがありました。

heroImage

「そのAI、育てっぱなしじゃない?」AI時代のMLOpsとは

本記事では機械学習(AI)をシステム開発に組み込み、継続的/効率的に開発運用を行うための概念である「MLOps」についてご紹介します。

heroImage

SAKURA-II AIアクセラレータでAIモデルを実行するのは簡単です

小型で省電力ながらも高性能な推論処理が可能な、エッジAI向けのアクセラレータカード SAKURA-II を動かしてみました。