FC2カウンター FPGAの部屋 2018年02月23日
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

「Amazon EC2 F1インスタンス入門ワークショップ」に参加しました

昨日は、「Amazon EC2 F1インスタンス入門ワークショップ」に参加しました。

Xilinx社の”Amazon EC2 F1インスタンス入門ワークショップ”に参加します」であらかじめAmazon AWS のアカウントを作ってF1 インスタンスを使えるようにしておきました。

ハンズオンの項目は次の4つでした。

F1起動前準備&EC2インスタンスの起動
FPGAアクセラレーション体験
SDAccelによるF1アプリケーション開発
後⽚付けとまとめ


結構厚いF1 インスタンスのハンズオンの資料を頂きました。できれば資料のページ番号を付けてもらえれば完璧だったと思いました。
資料は最初に説明があって、次にやるべきことを丁寧に解説してあります。これがあれば自分でも一通りやってみることができます。ただミスるとずっと課金が継続されるかもしれないので、ハンズオンの参加して体験するのが良いと思います。
F1インスタンスでは、SDAccel やVivado などが使えて、実際のFPGA にビット・ファイルを流し込んで、(これはPCI Express やDDR SDRAMコントローラなどの周辺は変更しないので、パーシャルリコンフィグで流し込むそうです)アクセラレーションできるそうです。ですが、C4, M4, R4 などのFPGA 実機が使えないインスタンスでも、Amazon マシンイメージ(AMI)にFPGA Developer AMI を使用すれば、FPGA実機は使えないけど、SDAccel やVivado などが使えて開発できるそうです。ただし扱えるFPGA は、F1インスタンスで使えるUltraScale のFPGA のみだそうです。C4 でFPGA Developer AMI を使えば開発し放題かな?と内心期待しながら話を聞いていたんですが、UltraScale のFPGA のみということを聞いて、ちょっとがく。。。としました。

F1起動前準備&EC2インスタンスの起動

Security Group を作成して、インバウンドで SSH と RDP を通すように設定しました。
Key Pair を作成しました。
FPGA Developer AMI を使用し、f1.2xlarge インスタンスタイプで、作成したKey Pair を使って、バージニア北部にEC2インスタンスを作成しました。
インスタンスができたら秘密鍵を使ってSSH ログインします。Tera Term を使用しました。
SSHログイン後にスクリプトで初期設定処理を行います。
Windows のリモートデスクトップでログインします。CentOSが見えました。
Hello World を実行しました。Hello World といってもFPGAで実行した結果が見えますが、42 という文字がたくさん出てくるものでした。

FPGAアクセラレーション体験

このハンズオンではFPGAのビット・ファイルを作成するところは数時間かかるそうでやっていないのが残念ですが、FPGA にビット・ファイルをダウンロードしてCPU との性能比較を行いました。
ffmpeg を使用したHEVC encoding をCPU とFPGA アクセラレーションで性能を比較します。スピード差は約 2.08 倍だそうです。自分でやったときの値は少し違った気がしますが、近い値でした。

SDAccelによるF1アプリケーション開発

SDAccel のGUI を上げて、プロジェクトが確認できました。ただしコンパイルは時間がかかるので無しで、CPUとハードウェアのエミュレーションだけでした。プロジェクトはIDCT プロジェクトです。
あらかじめ出来上がっているビット・ファイルを使用して、性能を確認しました。

後⽚付けとまとめ
インスタンスを停止しただけではストレージ容量の課金があるそうなので、削除しないと無料にはならないようです。その方法を教えて頂きました。

バージニア北部のストレージの課金は1月当り 0.1$ / GB だそうです。100 GB使用していたので、10$ / month です。(課金されるときは秒換算で課金だそうです)
FPGA Developer AMI を使用するとやはり、ツールがあるので、最低 70 GB は使うそうです。
f1.2xlarge インスタンスは1.数ドル / hour です。でも C4 インスタンスとかは 0.4 $ / hour とかがあるので、1日 4 時間使うとなると 1.6 $ / day で、30日とすると、48 $ 。それに、200 GB 使っているとすると、20 $ / month で合計 68 $。それを 4 年間使うとなると、68 $ X 12 X 4 = 3,264 $ で 110 円 / $ とすると約 36 万円かあ~。やはり、Linux マシン買うより高いですね。これだとLinux マシン買う方が良いかな。。。
(ここでは、C4 インスタンスにSDxをインストールして、そこで、SDSoC や Vivado , Vivado HLS をリモートで使用することを考えています。つまり、Linux の Xilinx FPGA 環境をすべてAmazon AWS でやろうと考えていました。FPGAのコンフィグレーションはTCP 接続でローカル・マシンを使います)

最後にAmazon AWS の $ 25 のクーポンを頂きました。
アマゾンのサーバーに完全移行するには費用が少し高いですが、「Amazon EC2 F1インスタンス入門ワークショップ」に参加して損は無いと思います。
あと、自分で持っていない大きなUltraScale FPGA が使えるので、大きなDNNの推論エンジンを作ったときに実際にFPGA に入れて確かめられますね。これは後でやってみようかな?
  1. 2018年02月23日 06:23 |
  2. AWS-FPGA
  3. | トラックバック:0
  4. | コメント:0