インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジー

概要

インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジー1 は、ソフトウェア開発者によるインテルの CPU と FPGA を使用したヘテロジニアス・プラットフォームをターゲットにしたアプリケーションのアクセラレーションを可能にする開発環境です。この環境は、インテル最新のソフトウェア開発フレームワークおよびコンパイラー・テクノロジーと、革新的なインテル® Quartus® Prime 開発ソフトウェアを組み合わせることで、FPGA の詳細を抽象化しつつ、最適化された結果をもたらす次世代開発環境を実現します。インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジーによって、FPGA 独自の機能を活用して、優れた電力効率と低レイテンシーによりパフォーマンスを向上できます。

機能

19.3 の新機能

インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジー v19.3 には、パフォーマンスと生産性を向上する重要な強化機能が含まれています。

パフォーマンス要件への適合

  • 特定の精度要件があるアプリケーションに合わせて浮動小数点タイプのカスタマイズが可能になる hls_float プラグマの導入
  • 既存メモリー属性の改良
    • max_replicates 属性の追加: メモリーシステムのレプリケーションを直接制御し、複数の読み込みポートに対応
    • max_private_copies 属性の追加: メモリーシステムのプライベート・コピーを直接制御、v19.1 で導入された max_concurrency 属性の置き換え

直感的な開発環境

新しく Schedule Viewer レポートが導入されました。このレポートでは、データパス内の全オペレーションの進捗状況、各オペレーションに関連するスケジュール、それぞれの遅延状況が表示されます。Schedule Viewer を使用することにより、レイテンシーを抑え、スループットを向上させて、開発に取り組めるようになります。Schedule Viewer の詳細については、インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジーの最適化ガイドを参照してください。

開発環境の負荷軽減

  • インテル® HLS コンパイラーとインテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジーで利用可能なライブラリーを構築するライブラリー作成ツールが導入されました。このツールは最適化された C または RTL のライブラリー作成に利用できます。作成したライブラリーは、基盤となるハードウェア設計や実装に関する詳細を知らなくても再利用が可能です。ライブラリー作成ツールの詳しい使用方法については、インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジーのプログラミング・ガイドを参照してください。
  • コンパイラーに、DSP ブロック内ドット積のパッキング処理を推論する機能が加わりました。この自動推論の出力結果は Area Report または System Viewer のレポートで確認できます。

スタートガイド

FAQ

よくある質問 (FAQ)

よくある質問

OpenCL™ 規格は、ヘテロジニアス・システムにおけるアルゴリズムの高速化を実現する、業界初のオープンかつロイヤルティー・フリーの統合プログラミング・モデルです。OpenCL™ アプリケーションでは、C ベースのプログラミング言語を使用して、CPU、GPU、FPGA をはじめとする各種プラットフォームで実行可能なコードを開発できます。OpenCL™ アプリケーションの主な利点は、ロイヤルティー・フリーの移植可能なオープン・スタンダードであり、この点が独自規格に基づくプログラミング・モデルとの最大の差別化要因にもなっています。OpenCL™ 規格は、ソフトウェア・エンジニアにとってはプログラミング・モデルであり、システム・アーキテクトにとってはメソドロジーです。OpenCL™ は、標準 ANSI C (C99) をベースとして並列化を実現するために拡張したものです。OpenCL™ プラットフォームには、ホスティングされているシステムのハードウェア・アクセラレーターとホストが通信するか (従来は PCI Express* を経由)、ホストの介在なしに複数のカーネル間で通信するための API も含まれています。インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジーは、10 GB イーサネットなどのストリーミング I/O インターフェイスからカーネルにデータを直接ストリーミングするためのベンダー拡張機能、I/O、ホストチャネル API を提供します。

インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジーを使用したアプリケーションの作成と実行には、インテルまたはパートナー提供の BSP を使用するか、独自の BSP を作成する必要があります (「スタートガイド」セクションにあるリンクを参照)。ボード・サポート・パッケージ (BSP) は、アプリケーション・ソフトウェア・スタックの最下層となるライブラリーとドライバーのセットです。ソフトウェア・アプリケーションを作成する際には、該当するソフトウェア・プラットフォームにリンクするか、またはそのプラットフォーム上で実行する必要があります。

リファレンス BSP を見つけるには、「スタートガイド」セクションを参照してください。

以下の開発キットにて BSP が提供されています。

  • インテル® Stratix® 10 GX FPGA
  • Stratix® V FPGA
  • インテル® Arria® 10 SoC FPGA
  • インテル® Arria® 10 GX FPGA

ドキュメントとサポート


インテル® FPGA SDK for OpenCL™ ソフトウェア・テクノロジーに関する技術ドキュメント、ビデオ、トレーニング・コースを用意しています。

免責事項

1

OpenCL および OpenCL ロゴは、Apple Inc. の商標であり、Khronos の許諾を得て使用されています。