概要

画像を拡大
AMD Vitis Accelerated Libraries Diagram

AMD Vitis™ アクセラレーション ライブラリ

AMD Vitis™ 統合ソフトウェア プラットフォームには、既存のアプリケーションにわずかなコード変更を加えるだけですぐに高速化を実現できる、オープンソースの各機能に特化したライブラリが多数含まれています。

  • ソルバー、線形代数演算 (BLAS)、スパース、DSP、ユーティリティなどの一般的な Vitis アクセラレーション ライブラリがさまざまなアプリケーションの重要な機能を提供します。
  • ドメイン特化の Vitis アクセラレーション ライブラリを使用することで、ビジョン/画像コーデック処理、数理ファイナンス、HPC、グラフ、データベース、データ分析、データ圧縮などのワークロードを簡単に高速化できます。 
  • また、パートナー各社が提供する豊富なアクセラレーション ライブラリ、フレームワーク プラグイン、アクセラレーション アプリケーションも迅速な製品化をサポートします。

現在の Vitis ライブラリには、Versal™ デバイスの AI エンジン向けに最適化された DSP や行列などの関数が含まれています。 

使い慣れたプログラミング言語を使用

Vitis アクセラレーション ライブラリは、C、C++ などの一般的なプログラミング言語を使用します。Vitis BLAS ライブラリや Vitis 数理ファイナンス ライブラリなど一部のライブラリには、レベル 3 の Python 関数も含まれます。アプリケーション開発には AMD プラットフォームを活用できます。アプリケーション レベルで作業をすすめることにより、特定分野の課題解決にリソースを費やすことができ、革新的な製品開発に注力できます。

既存の x86 ホスト アプリケーション コードの一部を高速化する場合、また AMD のエンベデッド プラットフォームで運用するアクセラレータを開発する場合のいずれも、コードから Vitis アクセラレーション ライブラリ API またはカーネルを呼び出すことで、ソフトウェア ライブラリと同じ抽象化レベルが提供されます。

Familiar Programming Languages Diagram
画像を拡大
AMD Vitis Accelerated-Libraries Diagram

拡張性および柔軟性

Vitis アクセラレーション ライブラリは、すべての開発者が GitHub からアクセス可能で、すべての AMD プラットフォーム間で拡張性があります。これらの最適化されたライブラリを使用してアプリケーションを開発し、アクセラレーション アプリケーションを再実装することなく、エッジ、オンプレミス、またはクラウド上のプラットフォーム間でシームレスに運用できます。

また、ビジョン/画像コーデック処理、数理ファイナンス、HPC、グラフ、データベース、データ分析などのワークロードに対して、ユーザー アプリケーション内で API として直接呼び出し、プラグアンドプレイ アクセラレータとして使用できるため、迅速なプロトタイピングや評価が可能になります。

カスタム アクセラレータを設計する場合、Vitis ライブラリの関数を最適化済みアルゴリズム構築ブロックとして使用して特定要件に合わせて変更できますが、参照用として利用して完全に独自のデザインを完成させることも可能で、それぞれに必要なレベルの柔軟性を提供します。

ドメイン特化の Vitis ライブラリは、Vitis AI ライブラリや Vitis AI 開発キットの最適化済み深層学習モデルと組み合わせることで、アプリケーション全体を高速化し、システム レベル全体の機能性とパフォーマンス目標を達成します。

画像を拡大
AMD Vitis Library Functions Diagram
画像を拡大
AMD Vitis Library Functions Diagram

Versal AI エンジン用に最適化された Vitis ライブラリ関数 

Versal デバイスの AI エンジンは、ベクトル ベースのアルゴリズムに最適な高い演算密度を提供します。

次のライブラリは AI エンジンに対応しています。

  • Vitis DSP ライブラリ
  • Vitis ビジョン ライブラリ
  • Vitis ソルバー ライブラリ

AI エンジンのコードは、AIE のみの関数は L1 の下、AIE と PL コードの両方で構成される関数は L2 の下の AIE ディレクトリにあります。

注記: 詳細は、各ライブラリのページを参照してください。

ライブラリ ファイルの構成

画像を拡大
AMD Vitis Library File Organization Diagram

通常、Vitis ライブラリには 3 つのレベル (L1/L2/L3) の関数があります。

L1 プリミティブ

  • カーネルを設計するための基本的なアルゴリズム関数 (HLS 関数)
  • ほかのプリミティブやカーネルと組み合わせてカスタマイズが可能
  • Vitis ツールを使用してビルドおよびコンパイルが必要

L2 カーネル

  • 必要なインターフェイスとコンパイラ指示子を含むパフォーマンスに最適化されたカーネル
  • 必要に応じてカスタマイズが可能であり、Vitis ツールでアクセラレータ イメージを構築
  • 初期化およびデータ転送は Vitis ランタイム ライブラリとの統合で制御される

L3 ソフトウェア API

  • ホスト アプリケーションから直接呼び出し可能な高レベルのソフトウェア API。
  • API でビルド済みの FPGA イメージを呼び出す (特定プラットフォームで利用可能)
  • ユーザーによるカスタマイズや再構築が可能

ライブラリ

Vitis ブロックチェーン ソリューション

省電力の FPGA ベースのマイニングを実現できる初の Vitis ブロックチェーン マイニング アクセラレーション ソリューションです。GPU の 2 倍に相当する、世界で最も効率の良いマイニング カードを凌ぐワットあたりのマイニング パフォーマンスを達成できます。