Bittware、オープン FPGAスタック (OFS) およびインテル® oneAPI 対応アクセラレーション・カードを提供

BittWare は、オープン FPGA スタック (OFS) を使用して同社の FPGA ソリューションで oneAPI へのサポートを提供しています。

概要

  • インテル® oneAPI Accelerator Support Package (ASP) を含む OFS は、oneAPI を使用することで、C/C++ などの使い慣れたプログラミング言語や、Visual Studio や Eclipse といった開発環境を活用する選択肢を与え、開発者が再プログラム可能という FPGA のメリットを生かせるようにします。

  • BittWare は、OFS および oneAPI のサポートにより、RTL と C/C++ の両方の開発フローに対応する、最先端のインテル® Agilex™ 7 FPGA 搭載アクセラレーション・カードを提供しています。

  • BittWare では現在、OFS および oneAPI に対応したボードを 2 つ販売しています。IA-840f および IA-420f PCIe* アクセラレーターです。

  • BittWare は、OpenCL* から oneAPI へ移植されたハイパフォーマンス・コンピューティング (HPC) アプリケーションをはじめとして、oneAPI の使用例をダウンロード可能なコードで提供しています。

エグゼクティブ・サマリー

BittWare は、インテル® FPGA 搭載の、FPGA をベースとしたアクセラレーション・ボード・ソリューションを 20 年以上にわたって開発してきました。最近では最新のインテル® Agilex™ 7 FPGA に移行した BittWare は、同社の FPGA ソリューションで oneAPI へのサポートを提供することに関心を抱いています。これを行うため、BittWare は、同社のインテル® Agilex™ FPGA 搭載プラットフォーム上でハイレベルデザイン (HLD) アプリケーション・カーネルのコンパイルを可能にするオープン FPGA スタック (OFS) と、そのオープンソース oneAPI Accelerator Support Package (APS) に目を向けました。

背景と課題

インテルは、2019年にインテル® Agilex™ 7 製品ファミリーを発売しました。それ以来、インテル® Agilex™ 製品ファミリーは拡大し、さまざまなアプリケーションにおける低消費電力から高消費電力までの FPGA およびロジック集積度がいくつか含まれるようになりました。インテル® Agilex™ 7 FPGA シリーズは、オリジナルの高性能なインテル® Agilex™ FPGA ファミリーです。この FPGA シリーズは、業界最高性能の FPGA を組み込み、競合製品の最新世代 FPGA に比べワット当たり 2 倍以上のファブリック・パフォーマンス1 を発揮します。新しいインテル® Agilex™ FPGA は、より強力で消費電力が少なく、PCIe* 4.0 や 5.0 などの I/O 機能を備えており、幅広い帯域幅、コンピューティング、メモリー集約型のアプリケーションを対象としています。

こうしたパフォーマンスの改善により、BittWare は顧客に対して、エッジデバイスにおけるワット当たりのパフォーマンス向上や、データセンターのコンピューティング密度といった、より高い価値を提供しています。ハイパフォーマンス・コンピューティング (HPC) アプリケーションには、FPGA は汎用アクセラレーターよりもシリコンへのワークロードにうまく適合する、アプリケーションのカスタマイズを行います。インテルと BittWare は協力して、oneAPI により HPC ワークロードをバルセロナ・スーパーコンピューティング・センターから IA-840 カードに移植し、233 倍の高速化を達成しました。このプロジェクトは、BittWare の、次世代インテル® Agilex™ FPGA によるハイパフォーマンス・コンピューティングのオンデマンド・ウェビナーで紹介されています。

また BittWare は、ダウンロード可能なサンプルコードが付属したホワイトペーパーなどの、ハイレベルなプログラミング・ツール向けのリソースも提供しています。これらのリソースは、ハイレベルなツールが、インテル® Agilex™ 7 FPGA の高いパフォーマンスを活用しながら、開発プロセスを加速した方法を示しています。

oneAPI などのツールは、FPGA 開発の抽象化により、立ち上げやデバッグの時間を短縮できる並列プログラミング言語を提供しています。NVIDIA の CUDA* や AMD ROCm* に匹敵する oneAPI は、SYLC を実装した並列プログラミング言語、Data Parallel C++ (DPC++) を提供します。ただし、oneAPI のインテルによるディストリビューションは、GPU だけでなく CPU、FPGA、および Gaudi/Gaudi2 AI プロセッサーなどの VPU にも統一プログラミング環境、ツールセット、ライブラリーに対するソリューションを提供するよう取り組んでいます。

oneAPI を使用することで、FPGA に慣れていない開発者が、C/C++ などの使い慣れた設計言語や、Visual Studio や Eclipse などの開発環境を使いながら、FPGA 独自の柔軟で再プログラミング可能なアーキテクチャーによる恩恵を受けることができます。oneAPI を通じたハイレベルなデザインフローを使用することで、CPU、GPU、FPGA、ボードベンダーなど、アーキテクチャーにまたがるワークロードの移植性も高まります。

Molex を親会社とする BittWare は、長きにわたるインテルのパートナーであり、エンタープライズクラスの FPGA ハードウェア・アクセラレーション製品を設計・製造して、顧客が迅速かつ低リスクでソリューションを導入できるようにしています。FPGA アクセラレーション業界で 20 年にわたる市場リーダーとして、BittWare は、初期のインテル® Stratix® およびインテル® Arria® FPGA から最新のインテル® Agilex™ 製品ファミリーに移行してきました。インテル® Agilex™ FPGA ボードの「IA」シリーズ最新リリースに取り組む際、同社は OFS インフラストラクチャーを活用して、同社のプラットフォーム上で oneAPI 開発フローに対応することを目指しました。

ソリューション

同社のボードを oneAPI 開発フローに対応させるため、BittWare は最新のオープンソース FPGA リソースおよびインフラストラクチャー、すなわち OFS を活用しました。OFS は、完全にオープンソース化された初の包括的なハードウェアおよびソフトウェアのインフラストラクチャーであり、コンポーザブルなハードウェア・コードと karnel.org にアップストリームされたカーネルコードにより構成され、FPGA 開発者の協働的なコミュニティーを実現します。

OFS インフラストラクチャーは、一般に「シェル」と呼ばれる FPGA インターフェイス・マネージャー (FIM) と、ワークロード開発用の指定されたリージョンであるアクセラレーター機能ユニット (AFU) 領域で構成されています。OFS を使用することで、ボード開発者は、ターゲットとなるアプリケーションまたは業界に基づいてボード用に調整されたカスタム FIM を迅速に開発することができます。同様に、OFS はオープンソースのソフトウェア・フレームワークを内蔵し、開発者はアップストリームおよびオープンソースのカーネル・ドライバーを活用して、一般的なフレームワークへの統合を高速化できます。OFS インフラストラクチャーは、FPGA アクセラレーション・システムを迅速に開発するための強力な方法を提供することで、FPGA アクセラレーション・ボードおよびワークロードの需要に応えます。提供される OFS ハードウェアおよびソフトウェアのインフラストラクチャーは、そのまま活用することも、新しい、ダイナミックな市場の要件に合わせて迅速にカスタマイズすることもできます。

インテルが提供する oneAPI ベース・ツールキットには、コンパイラーおよびランタイム環境が含まれています。コンパイラーは、SYCL カーネルまたは FPGA アプリケーション・コードをハードウェア回路に変換します。このハードウェア回路には、ランタイムおよび FPGA ボードの周辺機器と通信するための追加ロジックが必要です。OFS は、この追加ロジックを oneAPI ASP で提供します。oneAPI ASP は、オープンソースの OFS GitHub リポジトリーに含まれており、OFS がサポートするプラットフォーム上で HLD アプリケーション・カーネルをコンパイルおよび実行するために必要です。対応する技術資料も提供されており、インテル® oneAPI ベース・ツールキットを OFS プラットフォーム上に設定するためのクイック・スタート・ガイドが含まれています。

提供されたオープンソースの OFS リポジトリーと資料を用いて、BittWare は同社のインテル® Agilex™ デバイスに oneAPI デザインフロー (非 RTL) を、若干の追加修正を加えたのみで実装できました。

検索結果

BittWare は、インテル® Agilex™ FPGA F シリーズをいち早く市場に投入しました。以下の表は、OFS インフラストラクチャーおよび oneAPI ASP を使用して開発された 2 つのボードを示しています。

IA-420f PCIe カード

IA-840f PCIe カード

  • FPGA: インテル® Agilex™ 7 FPGA、AGF014
  • アプリケーション: 高度な分析、人工知能、クラウド・コンピューティング、ファクトリー・オートメーション、HPC
  • ネットワーキング: QSFP-DD 1x200Gbps
  • メモリー: 2Gb フラッシュ、2x 8GB DDR4 SDRAM
  • フォームファクター: HHHL、シングルスロット
  • PCIe: 4.0 x16
  • oneAPI 対応: 対応
  • FPGA: インテル® Agilex™ 7 FPGA、AGF027
  • アプリケーション: 高度な分析、人工知能、クラウド・コンピューティング、ファクトリー・オートメーション、HPC
  • ネットワーキング: 3x QSFP-DD 3x200GbE
  • メモリー: 2Gb フラッシュ、3x 32GB DDR4 SDRAM、2x DIMM (32GB DDR4 対応)
  • フォームファクター: FH¾L、デュアルスロット
  • PCIe: 4.0 x16
  • oneAPI 対応: 対応

簡単な開発フローで、顧客に強力なシリコンへのアクセスを提供することは、特にこの最新世代のインテル® Agilex™ FPGA ファミリーでは、パフォーマンスが向上しており、成功の秘訣といえます。oneAPI との連携は、幅広いユーザーに、高いパフォーマンスを維持しながら、より迅速に市場投入を行う意義を証明してきました。

BittWare、Vice President、Craig Petrie

OFS を使用した FPGA アクセラレーションの開始方法

FPGA 開発者は、BittWare の OFS 対応ボード IA-420f または IA-840f を選び、オープンソースの資料とソースコードを活用して、カスタム・ワークロードの構築に取りかかれます。

次の表は、開発者が BittWare アクセラレーション・ボードを使用して、FPGA ベースのワークロード開発に取りかかる方法を概説したものです。

ワークロード向けに FPGA アクセラレーションを活用

ステップ 1: ボードを選択する

BittWare の OFS 対応ボード、IA-420fIA-840f

ステップ 2: OFS オープンソース・リソースを評価する

BittWare が OFS の技術資料の対応バージョンを提供します。

ステップ 3: オープンソース・ハードウェアおよびソフトウェア・コードにアクセス

BittWare が該当する OFS ソフトウェアおよびハードウェア・コードを提供します。これは OFS ベースコード (インテル提供) の、BittWare 独自のディストリビューションです。

ステップ 4: RTL または C/C++ を使用したワークロードを開発する (oneAPI を使用)

OFS RTL フローに従う、

または

OFS が oneAPI カーネルのコンパイルを可能にします。oneAPI 開発フローを使用して、FPGA ワークロードを C/C++ で構築します。