English | 日本語
概要 | 演習 1: SDSoC 開発環境の概要 | 演習 2: パフォーマンスの見積もり | 演習 3: アプリケーション コードの最適化 | 演習 4: 指示子を使用したアクセラレータの最適化 | |
演習 5: タスク レベルのパイプライン | 演習 6: デバッグ | 演習 7: ハードウェア デバッグ | 演習 8: エミュレーション | 演習 9: GitHub からのサンプルのインストール |
この演習では、プロジェクト内のソースを変更して、生成したハードウェアのパフォーマンスへの Vivado HLS プラグマの影響について確認します。このトピックの詳細は、『SDSoC 環境プロファイルおよび最適 ガイド』 (UG1235) を参照してください。
-
[Matrix Multiplication and Addition] デザイン テンプレートを使用して、[ZC702 Platform] および [Linux] システム コンフィギュレーションで新しい SDx™ 環境プロジェクト (lab4) を作成します。
-
[lab4] タブをクリックして [SDx Project Settings] を開きます。タブが表示されていない場合は、[Project Explorer] タブの [lab4] プロジェクトの下の
project.sdx
ファイルをダブルクリックします。 -
[HW functions] パネルには、
madd
およびmmult
関数がハードウェア アクセラレーション用にマークされた関数のリストに表示されます。 -
最高のランタイム パフォーマンスにするには、[Active Build Configuration] オプションをクリックして [Release] を選択して [Release] コンフィギュレーションに切り替えます。または、[Build] アイコンから [Release] を選択するか、プロジェクトを右クリックして [Build Configuration] → [Set Active] → [Release] をクリックします。[Release] ビルド コンフィギュレーションでは、[Debug] ビルド コンフィギュレーションよりも高いコンパイラ最適化設定が使用されます。
-
[Project Explorer] タブで
src
フォルダー下のmmult.cpp
をダブルクリックして、ソース エディター ビューを開きます。 -
HLS pipeline
およびHLS array_partition
プラグマが記述されている行を見つけます。 -
これらのプラグマの行をコメントアウトします。
-
ファイルを保存します。
-
プロジェクトの最上位フォルダーを右クリックして、[Build Project] をクリックします。
-
ビルドが終了したら、
lab4/Release/sd_card
の内容を SD カードにコピーします。 -
SD カードを ZC702 ボードに挿入し、ボードに電源を投入します。
-
SDx IDE の [Terminal] タブのシリアル ターミナルからボードに接続します。+ アイコンをクリックして設定を開きます。
-
ボードが起動したら、Linux プロンプトでアプリケーションを実行します。
/mnt/lab4.elf
と入力します。
プラグマがコメントアウトされていたときのパフォーマンスと比較すると (lab1 の結果と比較すると)、array_partition
プラグマにより配列の要素を並列に読み出せるようになったので、内部ループのメモリ帯域幅が増加したことがわかります。pipeline プラグマでは、ループのパイプライン処理が実行され、ループの複数の反復が並列に実行されるようなったことがわかります。
Copyright© 2018 Xilinx
この資料は表記のバージョンの英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。資料によっては英語版の更新に対応していないものがあります。日本語版は参考用としてご使用の上、最新情報につきましては、必ず最新英語版をご参照ください。