次の各セクションを展開して AMD Vitis 2024.1 の新機能と拡張機能の詳細を確認してください。サポートされているプラットフォーム、動作の変更、既知の問題については、Vitis 2024.1 リリース ノートのアプリケーション アクセラレーション フローおよびエンベデッド ソフトウェア開発フローを参照してください。
AMD Versal AI コア シリーズ向けの DSP ライブラリ関数
AIE ML 搭載 AMD Versal AI エッジ シリーズ向けの新しい DSP ライブラリ関数
AIE API の機能向上
Radix-3/Radix-5 FFT をサポート
最新のサンプル デザインを Github で入手可能
新しいステンシル プラグマにより、イメージおよびビデオ フィルター用の HLS C++ コードが簡素化
新しいライブラリ関数ウィザードで AMD Vitis ライブラリの GitHub リポジトリを利用可能
AMD Vivado IP インテグレーターでメモリ インターフェイスのプラグマ (ap_memory) を使用してポートをバンドル可能
新しい HLS コンポーネント比較機能では、2 つ以上のコンポーネントのメトリクスを並べて表示可能
ユーザーが提供する RTL コードで C++ 関数を置き換えることが可能 (ブラック ボックス フロー)
コード アナライザー機能では、C++ の構造体を細分化して解析し、パフォーマンスを微調整可能
HLS グローバル FSM エンコーディングやセーフ ステートの選択をユーザーが制御可能
C シミュレーション時に Clang サニタイザーを利用してアドレスや初期化をチェック
次の各セクションを展開して Vitis 2023.2 の新機能と拡張機能の詳細を確認してください。サポートされているプラットフォーム、動作の変更、既知の問題については、Vitis 2023.2 リリース ノートのアプリケーション アクセラレーション フローおよびエンベデッド ソフトウェア開発フローを参照してください。
*この情報は、2023 年 8 月 10 日に実施したテストに基づいています。このテストでは、Vitis HLS のリリース 2023.2 と 2023.1 を使用して、Vitis L2/L3 コード ライブラリ デザイン 1000 個を対象に比較しました。テスト システムは、Intel Xeon E5-2690 v4 @ 2.6 GHz CPU、256 GB RAM、RedHat Enterprise Linux 8.6 で構成されています。実際のパフォーマンスは異なる可能性がある。異なる設定を使用した場合には、結果が異なる可能性があります。-VGL-04
Versal™ AI エンジン アレイ向けの新しい Vitis™ ライブラリ関数
Versal AI コアおよび AI エッジ シリーズ向けデザイン フローが強化
Vitis 環境から Vivado™ 環境へのエクスポートをサポート
次の各セクションを展開して Vitis 2023.1 の新機能と拡張機能の詳細を確認してください。サポートされているプラットフォーム、動作の変更、既知の問題については、Vitis 2023.1 リリース ノートのアプリケーション アクセラレーション フローおよびエンベデッド ソフトウェア開発フローを参照してください。
DSP ライブラリ - FIR フィルター
ソルバー ライブラリ
脚注:
* 2023 年 2 月 12 日時点で存在する 1208 個すべての Vitis L1 ライブラリの C コード デザインに対してベンチマークを実施しました。すべてのデザインは、CentOS Linux を搭載した 2 つの Intel Xeon E5-2690 CPU を使用し、SMT が有効で Turbo Boost が無効に設定されたシステムを使用して実行しました。ハードウェアの構成がソフトウェアのテスト結果に影響を与えることはないと考えます。ソフトウェアやファームウェアの設定や構成によって結果が異なる可能性があります - VGL-03
Versal™ AI エンジン アレイ向けの新しい Vitis™ ライブラリ関数
Versal AI コアおよび AI エッジ シリーズ向けデザイン フローが強化
次の各セクションを展開して Vitis 2022.2 の新機能と拡張機能の詳細を確認してください。サポートされているプラットフォーム、動作の変更、既知の問題については、Vitis 2022.2 リリース ノートのアプリケーション アクセラレーション フローおよびエンベデッド ソフトウェア開発フローを参照してください。
DSP ライブラリ関数
ソルバー ライブラリ関数
ビジョン ライブラリ関数
超音波診断ライブラリ関数
Vitis 2022.2 環境の新しいシミュレーション オプション: プロセッサ システム x86 シミュレーションおよび AI エンジン x86 シミュレーション: x86 シミュレータを使用してプログラマブル ロジック シミュレーションを実行可能
Versal AI エンジン デザインの主な機能
一般的な機能
Versal™ アダプティブ SoC および AI エンジンの Vitis™ フローが向上
Vitis (DC および Vitis HLS)
次の各セクションを展開して Vitis 2022.1 の新機能と拡張機能の詳細を確認してください。サポートされているプラットフォーム、動作の変更、既知の問題については、Vitis 2022.1 リリース ノートのアプリケーション アクセラレーション フローおよびエンベデッド ソフトウェア開発フローを参照してください。
次の各セクションを展開して Vitis 2021.2 の新機能と拡張機能の詳細を確認してください。サポートされているプラットフォーム、動作の変更、既知の問題については、Vitis 2021.2 リリース ノートのアプリケーション アクセラレーション フローおよびエンベデッド ソフトウェア開発フローを参照してください。
注記: Vitis アクセラレーション ライブラリは、個別にダウンロードして入手します。これらは、GitHub からダウンロードできますが、Vitis IDE 内で直接ダウンロードも可能です。
ライブラリ | 2021.1 | 2021.2 | 21.2 での新機能 |
---|---|---|---|
xf_blas | 167 | 167 | 0 |
xf_codec | 3 | 3 | 0 |
xf_DataAnalytics | 33 | 36 | 3 |
xf_database | 62 | 65 | 3 |
xf_compression | 78 | 93 | 15 |
xf_dsp | 94 | 96 | 2 |
xf_graph | 53 | 59 | 6 |
xf_hpc | 37 | 37 | 0 |
xf_fintech | 116 | 116 | 0 |
xf_security | 135 | 140 | 5 |
xf_solver | 11 | 11 | 0 |
xf_sparse | 11 | 11 | 0 |
xf_utils_hw | 55 | 57 | 2 |
xf_opencv | 147 | 150 | 3 |
合計 | 1002 | 1041 | 39 |
注記: ビジョンの場合、各 API には異なるタイプ用に複数のテストがあるため、L*/tests のサブフォルダー数をカウントしてください。
プログラマブル ロジック (PL)
新機能 | Cat | カスタマー/ターゲット | セグメント | 説明 |
---|---|---|---|---|
RGB-IR | ISP | Seeing Machines 社 | オートモーティブ、ISM | • 4x4 RGB-IR デモザイキングをサポート • 主にインキャビン モニタリング システム向け •低照度監視カメラ |
Mono (CCCC) | ISP | 目的に応じて使用 | オートモーティブ、ISM、A&D | •マシン ビジョン •低照度アプリケーション |
Global Tone Mapping (GTM) | ISP | 目的に応じて使用 | オートモーティブ、ISM、A&D | • ダイナミックレンジとコントラストが向上 • ローカル トーン マッピング (LTM) より低コスト |
高密度オプティカル フロー TV-L1 | CV | NTT | ISM | • オプティカル フローの照明、ノイズ、オクルージョンに対するロバスト性が向上 |
AI エンジン (AIE)
新機能 | Cat | カスタマー/ターゲット | セグメント | 説明 |
---|---|---|---|---|
RGB-IR | ISP | Seeing Machines 社 | オートモーティブ、ISM | • 4x4 RGB-IR デモザイキングをサポート • 主にインキャビン モニタリング システム向け • 低照度監視カメラ |
ML+X | ISP | 目的に応じて使用 | オートモーティブ、ISM、A&D | • ML 干渉の前処理 |
ガウシアン ピラミッド | CV | 目的に応じて使用 | オートモーティブ、ISM、A&D | • マルチスケール画像処理の基本 |
ボックス フィルター | CV | 目的に応じて使用 | オートモーティブ、ISM、A&D | 平滑化を行うロー パス フィルターの基本 |
Vitis ライブラリを利用した Vitis ブロックチェーン ソリューション
CSV パーサー API をライブラリに追加
KECCAK-256 (ハッシュ関数) と CRC32C (チェックサム関数) がリリース
ハードウェアのデバッグ用に 2 つのデータ ムーバーを追加。
AI エンジン API は AI エンジン カーネルのプログラミングに不可欠となる
AI エンジン コンパイラの最適化オプション
性能を向上させるために --xlopt=2 を導入。ただしデフォルトは --xlopt=1。
カーネルの最適化に不可欠
2021.2 で 5 つのプラグマの自動推論をサポート
モデルの変更点:
最新
GMIO gm0(“GMIO_In0”, 64, 1);
GMIO gm1(“GMIO_In1”, 64, 1);
…
GMIO gm7(“GMIO_In7”, 64, 1);
PLIO pl0(“PLIO_Out0”, plio_32_bits, “data/output0.txt”, 250.0);
PLIO pl1(“PLIO_Out1”, plio_32_bits, “data/output1.txt”, 250.0);
…
PLIO pl7(“PLIO_Out7”, plio_32_bits, “data/output7.txt”, 250.0);
simulation::platform<8,8> plat(&gm0, &gm1,…, &gm7, &pl0, &pl1,…, &pl7,);
subgraph g;
connect<> net0(plat.src[0], g.in[0]);
connect<> net1(plat.src[1], g.in[1]);
…
connect<> net7(plat.src[7], g.in[7]);
connect<> net8(g.out[0], plat.sink[0]);
connect<> net9(g.out[1], plat.sink[1]);
…
connect<> net15(g.out[7], plat.sink[7]);
別の方法
class topgraph
{
input_gmio gm[8];
output_plio pl[8];
subgraph sg;
topgraph()
{
for (i=0; i<8; i++)
{
gm[i] = input_gmio::create(“GMIO_In”+std::to_string(i), 64, 1);
pl[i] = output_plio::create(“PLIO_Out”+std::to_string(i), plio_32_bits, “data/output”+std::to_string(i)+”.txt”, 250.0);
connect<>(gm[i].out[0], sg.in[i]);
connect<>(sg.out[i], pl[i].in[0]);
}
}
};
topgraph g;
ADF グラフでフラグを使用したり、制約ファイルを使用して、マッパーやルーターを制御可能
スナップショットとは、すべてのカーネル ポートに関するコメントおよびデータを含むテキスト ファイル
すべてのプラットフォーム ポートも含まれる
ユーザーは、デバッガーを使用せず、またカーネル コードの計測を必要とせずに、カーネル ポートのデータ トラフィックを確認できようになる
Valgrind を統合してメモリ アクセス違反を検出
デッドロック状態になると、シミュレーションの出力が不十分となり、バグの原因分析が難しくなる
X86 シミュレーションのトレース オプションを使用する場合、シミュレータは多様なタイムスタンプ情報を記録できる
x86 シミュレーションと AI エンジン シミュレーションでは、タイムスタンプが異なる
C 合成レポートにインターフェイス アダプター レポートを追加
合成レポートに新しいセクションが追加され、プラグマ リストとプラグマに関する警告を表示
関数呼び出しグラフ ビューアーの新機能
シミュレーション後に Timeline Trace ビューアーが利用可能になりました。このビューアーでデザインのランタイム プロファイルを表示できます。ユーザーは Vitis HLS GUI からそのままアクセス可能です。
AI エンジン アプリケーションのエミュレーション機能が強化
AI エンジン トレースをサポート
AI エンジン アプリケーションの SW エミュレーションをサポート
Verilog/System Verilog の外部トラフィック ジェネレーターをサポート
OpenCL 以外のアプリケーション向けに生成される一般的なプロファイル サマリ レポート
PL イベントのタイムラインに OpenCL コマンドを追加
タイムライン トレース レポートの信号の階層をフラット化
C および C++ API
enum class access_mode : uint8_t { exclusive = 0, primary = 1, shared = 2 };
enum class access_mode : uint8_t { exclusive = 0, primary = 1, shared = 2, none = 3 };
Alveo カード用最新の Vitis ターゲット プラットフォームへアクセス:
UG1120 - Alveo データセンターアクセラレータ カード プラットフォーム ユーザー ガイド (日本語版) を参照。
2021.1 より時間が短縮 (次の数値は 200 MHz TX チェーンの例)
次の各セクションを展開して Vitis 2021.1 の新機能と拡張機能の詳細を確認してください。サポートされているプラットフォーム、動作の変更、既知の問題については、Vitis 2021.1 リリース ノートのアプリケーション アクセラレーション フローおよびエンベデッド ソフトウェア開発フローを参照してください。
注記: Vitis アクセラレーション ライブラリは、個別にダウンロードして入手します。これらは、GitHub からダウンロードできますが、Vitis IDE 内で直接ダウンロードも可能です。
FIR フィルター
機能 |
Namespace |
シングル レート、非対称 |
dsplib::fir::sr_asym::fir_sr_asym_graph |
シングル レート、非対称 |
dsplib::fir::sr_sym::fir_sr_sym_graph |
補間非対称 |
dsplib::fir::interpolate_asym::fir_interpolate_asym_graph |
デシメーション、ハーフバンド |
dsplib::fir::decimate_hb::fir_decimate_hb_graph |
補間、ハーフバンド |
dsplib::fir::interpolate_hb::fir_interpolate_hb_graph |
デシメーション、非対称 |
dsplib::fir::decimate_asym::fir_decimate_asym_graph |
補間、分数、非対称 |
dsplib::fir::interpolate_fract_asym:: fir_interpolate_fract_asym_graph |
デシメーション、対称 |
dsplib::fir::decimate_sym::fir_decimate_sym_graph |
FFT/iFFT - この DSP ライブラリには、FFT/iFFT ソリューションが 1 つ含まれています。シングル チャンネル、シングル カーネルの DIT (Decimation in Time) であり、ポイント サイズ、複雑なデータ型、カスケード長、FFT/iFFT 関数を指定できます。
機能 |
Namespace |
シングル チャネル FFT/iFFT |
dsplib::fft::fft_ifft_dit_1ch_graph |
行列乗算 (GeMM) - この DSP ライブラリには、Matrix Multiply/GEMM (GEneral Matrix Multiply) ソリューションが 1 つ含まれています。2 つの行列 A と B の行列乗算をサポートするもので、派生した出力データ型を生成する入力データ型を指定できます。
機能 |
Namespace |
Matrix Mult/GeMM |
dsplib::blas::matrix_mult::matrix_mult_graph |
ウィジェット ユーティリティ - これらのウィジェットは、DSP ライブラリ関数への入力に関するウィンドウとストリームの変換、DSP ライブラリ関数の出力に関するストリームとウィンドウの変換をサポートします。(実数と複素数のデータ型変換のために追加されたウィジェット)。
機能 |
Namespace |
ストリームからウィンドウ/ウィンドウからストリーム |
dsplib::widget::api_cast::widget_api_cast_graph |
実数から複素数/複素数から実数 |
dsplib:widget::real2complex::widget_real2complex_graph |
Vitis HPC ライブラリのリリースでは、FPGA ベース HPC アプリケーション向けに HLS プリミティブ、ビルド済みカーネル、ソフトウェア API を提供しています。これらのアプリケーションを次に示します。
2D Acoustic RTM (Reverse Time Migration) FDTD (Finite Difference Time Domain) アルゴリズム (フォワード カーネルとバックワード カーネルを含む)
3D Acoustic RTM (Reverse Time Migration) FDTD (Finite Difference Time Domain) アルゴリズム (フォワード カーネルを含む)
MLP (多層パーセプトロン) コンポーネント: 活性化関数と完全接続ネットワーク カーネル
密行列と疎行列の両方に対応する PCG (Preconditioned Conjugate Gradient) ソルバー
利用できる関数
Filter2D
absdiff
accumulate
accumulate_weighted
addweighted
blobFromImage
colorconversion
convertscaleabs
erode
gaincontrol
gaussian
laplacian
pixelwise_mul
threshold
zero
xfcvDataMovers: 高解像度画像のタイリングを容易にし、AI エンジン コアのローカル メモリに転送するためのユーティリティ データ ムーバーです。次の 2 つの方法があります。
ライブラリ関連の変更点
2021.1 リリースでは、Two-Gram テキスト分析を提供:
TGP (Two Gram Predicate) は、2 文字で転置インデックスを用いた検索を実行します。転置インデックスが確立されているデータセットでは、転置インデックスの各レコードの中から一致する ID を見つけることができます。
2021.1 リリースでは、GQE で次の機能をアーリー アクセス サポートとして対応しています。
64 ビット結合: gqeJoin カーネルとそれに付随する gqePart カーネルが 64 ビットのキーとペイロードに拡張され、より大規模なデータをサポートできるようになりました。
初期ブルームフィルター サポート: gqeJoin カーネルには、ブルームフィルター プロービングを実行するモードがあります。これにより、初期段階でのデータサイズの最小化が重要になる特定のマルチノード フローを効率化します。
現在、これらの機能は L3 の純粋なソフトウェア API として提供されています。対応する L3 テストケースをご確認ください。
デフォルトで XRT がカーネルを制御
入力として暗号化された AIE ソース ファイルをサポートする
AIE コンパイラは暗号化された AIE ソース ファイルを受け入れることができ、残りのフローは v++ で対応
Vitis アナライザーでクリティカルなタイミング パスを表示。
Vitis アナライザーでは、Vivado プロジェクトやネットリストを開かなくても、Vivado GUI タイミング レポートの簡易版を表示できます。
Vitis アナライザーの複数ストラテジ サポート
複数のストラテジを実行した結果は、Vitis アナライザーで可視化されます。
大規模アプリケーションのメモリおよび読み込み時間を削減
新しいプロファイル ツールは、少ないリソースで大規模な csv ファイルを処理できるため、読み込み時間が短縮し、クラッシュの問題も回避できます。
PL 連続トレース オフロード機能の改善
トレース データを格納するメモリ リソースとして DDR または HBM を使用
大容量データの負荷軽減をサポートする循環バッファー
トレース バッファーのサイズとオフロードの間隔は、xrt.ini で設定可能
AIE デザインのトレース レポート可視化機能が改善
すべての AIE 入力が表示される (ウィンドウ、ストリーム、カスケード ストリームなど)
すべての IO データ型をサポート
Alveo アクセラレータ カード向けの最新 Vitis ターゲット プラットフォームに関する情報は、japan.xilinx.com/alveo を参照してください。使用を検討しているアクセラレータ カードの「設計開始」 セクションをご覧ください。
Vitis ターゲット プラットフォームの最新リリース情報は、 UG1120 - 『Alveo データセンター アクセラレータ カード プラットフォーム ユーザー ガイド』 を参照してください。
新しいプラットフォーム
次の各セクションを展開して Vitis 2020.2 の新機能と拡張機能の詳細を確認してください。サポートされているプラットフォーム、動作の変更、既知の問題については、Vitis 2020.2 リリース ノートのアプリケーション アクセラレーション フローおよびエンベデッド ソフトウェア開発フローを参照してください。
注記: Vitis アクセラレーション ライブラリは、個別にダウンロードして入手します。これらは、GitHub からダウンロードできますが、Vitis IDE 内で直接ダウンロードも可能です。
新しい機能と特長
ライブラリ インフラストラクチャとその他の改善点
アプリ ストア
アプリ ストアでは、Vitis ビジョン ライブラリを使用して開発された次に示す FPGA アクセラレーション アプリケーションをコンテナーとして提供しています。Nimbix クラウドやオンプレミスで Alveo アクセラレータ カードを使用して簡単に評価/運用可能です。
Versal 専用機能
Versal 専用機能
Versal 専用機能
Versal 専用機能
Versal 専用機能
注記: ザイリンクス ランタイム ライブラリ (XRT) は、個別にダウンロードできます。ダウンロードおよびインストールの手順は、スタートアップ ガイドを参照してください。
Versal 専用機能
Alveo パッケージのダウンロード タブから Alveo アクセラレータ カード対応の最新 Vitis ターゲット プラットフォームにアクセスします
詳細情報および最新 Vitis ターゲット プラットフォームのリリースについては、 UG1120 『Alveo データセンター アクセラレータ カード プラットフォーム ユーザー ガイド』 を参照してください。
U200/U250 XDMA プラットフォーム
シェル アップグレードの DFX - 2RP (2 つのリコンフィギャラブル パーティション)
AXI スレーブ ブリッジ
データ保持 - DDR4 セルフリフレッシュ
注記: エンベデッド プラットフォーム用の Vitis ターゲット プラットフォーム (ビルド済みの Linux カーネル、ルート ファイル システム、sysroot を含む) は、Vitis エンベデッド プラットフォームのタブから個別にダウンロードできます。
VCK190 プラットフォームは、柔軟性の高い DDR + LPDDR メモリ サブシステムを備えており、アクセラレーション カーネル用に 63 個の割り込みをサポートしています。『Versal アダプティブ SoC AI エンジン プログラミング環境ユーザー ガイド』 (UG1076) で説明しているとおり、Vitis コア開発キットで使用することで、アプリケーション アクセラレーションとエンベデッド プロセッサ ソフトウェア開発の両方に対応できます。このプラットフォームを利用して、次を含むデザインを開発できます。