AXI システム パフォーマンスの最適化 - 2023.2 日本語

Vitis 高位合成ユーザー ガイド (UG1399)

Document ID
UG1399
Release Date
2023-12-18
Version
2023.2 日本語

はじめに

Vitis アクセラレーション システムには、カーネルとホストアプリケーション間でデータを共有するために使用されるグローバル メモリ サブシステムが含まれます。AMD デバイスの外部にあるホスト システムで使用可能なグローバル メモリは、非常に大容量のストレージ領域を提供しますが、AMD デバイスのローカル メモリと比較すると、アクセス時間が長くなります。システム/アプリケーションのパフォーマンス測定値の 1 つは、スループットです。スループットは、特定の時間枠内に転送されたバイト数のことです。そのため、グローバル メモリとの間で非効率的なデータ転送があると、メモリ アクセス時間が長くなり、システムのパフォーマンスやカーネルの実行時間に悪影響を及ぼす可能性があります。

Vitis HLS でアクセラレーションされたアプリケーションの開発には、カーネル開発とシステム パフォーマンスの向上という 2 つの段階が含まれます。設計原則 では、load-store 関数がグローバル メモリに対してデータを読み出し/書き込みする、キャッシュのような Load-Compute-Store 構造をインプリメントするカーネル開発方法を提案しました。システムのパフォーマンスを向上させるには、カーネルの実行時間を短縮できる効率的なロードおよびストア デザインをインプリメントする必要があります。この章では、LS (load-store) 関数のスループットに影響を与え、改善できる機能とメトリックについて説明します。次のコンセプトのいくつかの例については、GitHub の Vitis-HLS-Introductory-Examples/Interface/Memory を参照してください。