SWEST/ACRi共同企画セッション

入門者向けFPGAアクセラレータ開発
ハンズオンワークショップ（事前配布資料）
ACRiルーム副室長 / ザイリンクス株式会社
安藤 潤©︎ 2021 Adaptive Computing Research Initiative - ACRi

1

アウトライン• ACRiルームアカウント事前登録のお願い
ハンズオンに参加される場合は事前に登録をお願いします• FPGAアクセラレータ開発（工事中）• Alveoデモ（工事中）• ACRi HLSチャレンジ©︎ 2021 Adaptive Computing Research Initiative - ACRi

2

ACRiルームアカウント事前登録のお願い©︎ 2021 Adaptive Computing Research Initiative - ACRi

3

ACRi
• アダプティブコンピューティング研究推進体• https://www.acri.c.titech.ac.jp/• FPGAを盛り上げる会• 5大学、23社が参加（2021/7現在）• 主な活動• ウェビナー、討論会、ハンズオン開催• ACRiブログ• https://www.acri.c.titech.ac.jp/wordpress/• ACRiルーム（無償FPGA利用環境）• https://gw.acri.c.titech.ac.jp/wp/©︎ 2021 Adaptive Computing Research Initiative - ACRi

4

ACRiルーム• アカウント事前登録のお願い• ハンズオンではACRiルームが提供するサーバーを利用します• ハンズオンに参加される場合は、事前にアカウントを申請し、ご使用になるPCからsshとリモートデスクトップで接続できることを確認してください• アカウント申請方法• https://gw.acri.c.titech.ac.jp/wp/manual/apply-for-account• サーバーの利用方法• https://gw.acri.c.titech.ac.jp/wp/manual/how-to-reserve• Windows 10からPower Shellを使う場合• https://www.acri.c.titech.ac.jp/wordpress/archives/12855©︎ 2021 Adaptive Computing Research Initiative - ACRi

5

FPGAアクセラレータ開発
工事中©︎ 2021 Adaptive Computing Research Initiative - ACRi

6

ACRi HLSチャレンジ©︎ 2021 Adaptive Computing Research Initiative - ACRi

8

ACRi HLS チャレンジ

URLはこちら ⇒ https://********************©︎ 2021 Adaptive Computing Research Initiative - ACRi

9

ACRi HLS チャレンジとは？
• HLSコード投稿サイトです• お題に沿った回路をHLSで設計し、性能を競います• HLSチャレンジでアクセラレータ開発をマスターしよう！

©︎ 2021 Adaptive Computing Research Initiative - ACRi

10

利用の流れ1. HLSチャレンジにログイン（ユーザー登録）
2. チャレンジ（お題）を選択

3. チャレンジをダウンロード
4. コードを作成
5. コードをチェック

ACRiルームを活用

6. HLSチャレンジに投稿
7. ランキング上位を狙ってコードをブラッシュアップ！
©︎ 2021 Adaptive Computing Research Initiative - ACRi

11

1. ログイン（ユーザー登録）• 右上の「ログイン」からGitHubアカウントまたはメールアドレスでログインしますクリック※ ACRiルームのアカウントとは連携していません©︎ 2021 Adaptive Computing Research Initiative - ACRi

12

2.チャレンジを選択• トップページから取り組んでみたいチャレンジを選択します• チャレンジの例• ベクトル演算の基本• ストリーム処理の基本• ソート• SHA256ハッシュ• マンデルブロ集合©︎ 2021 Adaptive Computing Research Initiative - ACRi

13

チャレンジの例• ベクトルの要素を倍にして返す問題• https://************/challenge/bai-gaeshi

問題文

この関数宣言に対応するHLSコードを自由に記述します©︎ 2021 Adaptive Computing Research Initiative - ACRi

14

チャレンジの例• チャレンジには提出期限や、コードが満たすべき条件が設定されています• 最初は気にする必要はありません• ランキング上位を目指す場合には気をつけてください©︎ 2021 Adaptive Computing Research Initiative - ACRi

15

チャレンジの提出期限について• すべてのチャレンジには提出期限が設定されています• 提出期限を過ぎるとすべてのコードが公開されます• 期限内に上位にランクした記録は期限後も残ります
公開
チャレンジ

準備中

提出期限
開催中（期限内）

この期間は他の参加者が提出したコードを見ることができません。
独自のアイディアで工夫してランキング上位を狙いましょう！

©︎ 2021 Adaptive Computing Research Initiative - ACRi

期限後

期限後は、他の参加者のアイディアを参考にしてコードを提出することもできます16

3. チャレンジをダウンロード• 「ターミナルにコピー」を使ってACRiルームのサーバーにチャレンジを転送します• TeraTermまたはPower Shellを使ってACRiルームにログインし、ターミナルに貼り付けて実行します（リモートデスクトップではうまくいきません）• ファイルに保存してscpで転送しても構いません©︎ 2021 Adaptive Computing Research Initiative - ACRiクリック

17ACRiルーム• ACRiルームでコードを作成・仮採点してから、HLSチャレンジへ提出します• ACRiルームの登録はこちら• https://gw.acri.c.titech.ac.jp/wp/manual/apply-for-account• サーバーの利用方法はこちら• https://gw.acri.c.titech.ac.jp/wp/manual/how-to-reserve• いつでも使用できるサーバーを用意しています• 予約不要、制限時間なし！
• ホスト名：as101、as102、as103、as104• ご一読ください：https://gw.acri.c.titech.ac.jp/wp/manual/alveo-server#toc2©︎ 2021 Adaptive Computing Research Initiative - ACRi

18

ACRiルームにログイン• ACRiルームのツール専用サーバーへ接続• 例：ssh as101©︎ 2021 Adaptive Computing Research Initiative - ACRi

19

チャレンジを転送• ターミナルに貼り付けて、エンターチャレンジデータが展開されます©︎ 2021 Adaptive Computing Research Initiative - ACRi

20

4. コードを作成• チャレンジデータ• README.md … 問題文• kernel.hpp… カーネルヘッダー• kernel.cpp… カーネルソース（雛形）• tb.cpp… テストベンチ• regulation.txt … 採点条件
• vhls-check… 採点スクリプト

カーネルを実装します©︎ 2021 Adaptive Computing Research Initiative - ACRi

21

5. コードをチェック• 採点スクリプトを実行します

セミコロンを忘れていたのでエラーに…

©︎ 2021 Adaptive Computing Research Initiative - ACRi

22

採点の流れ
CSIM

•

CSIM

•

HLS

•

HLS•

•

•

RTLシミュレーションを実行し、正しく動作すること、実行サイクル数を確認します

論理合成
•

論理合成

高位合成を実行し、問題なくハードウェア（RTL）に変換されることを確認します

CoSIM

•

CoSIM

コードをソフトウェアとして実行し、正しく動作することを確認します••

RTLを論理合成し、回路のリソース使用量を見積もります
時間がかかるため仮採点ではスキップします
実行するにはvhls-checkに-sオプションを渡しますパス！
©︎ 2021 Adaptive Computing Research Initiative - ACRi

23

採点がパスする例• 採点結果、リソース使用量の見積もりが出ます• 動作周波数とシミュレー
ションサイクル数から実行時間が見積もられます©︎ 2021 Adaptive Computing Research Initiative - ACRi

24

作成したコードを提出• 作成したコードをHLSチャレンジに提出します• 自動的に採点が行われます• 採点が完了するまで数十分かかります• 採点がパスすれば、実行時間の短い順でランキングされます©︎ 2021 Adaptive Computing Research Initiative - ACRi

25

おすすめの取り組み方• HLS初心者の方• 採点をパスするコードを書いてみてください• HLS上級者の方• より高性能なアーキテクチャでランキング上位を狙ってみてください©︎ 2021 Adaptive Computing Research Initiative - ACRi

26

©︎ 2021 Adaptive Computing Research Initiative - ACRi

27