ファイルの読み書きが遅い小さいUSBメモリにLabVIEW FPGA を移したらコンパイルも遅いのか検証しました



こんにちは、ドルフィンシステムの笹生です。
さて今回はLabVIEW FPGA 開発の運用方法について、5回ほどに分けて書いてきましたが今回が最終回です。

前回は、ノートPC での運用方法として小さくても大容量のUSBメモリに LabVIEW FPGA の環境を丸々移してしまうことで、実際の運用時にコンパイルサーバーでのコンパイルも、ローカルでのコンパイルも、シミュレーションもできることを確認しました。
ただ、選んだUSBメモリは小さくて大容量なのはいいのですが、コピーするのに非常に時間がかかりました。
シーケンシャルなライトも遅いのですが小さいファイルの多数書き込みが特に苦手な(遅い)ようです。
ということはコンパイル時の中間結果等を保存するのですから、コンパイル時間にもかなり影響を与えるのではないかと思い確かめてみました。

結果を先に申しますと、USBメモリにLabVIEW FPGA を移すことでもちろんローカルでのコンパイル時間は遅くなるけれども思ったよりも影響は小さかったといえる結果がでました。

それでは比較を見てみましょう。
比較は
①ローカルSSD LabVIEW FPGA 環境があるとき
②小さいUSBメモリにLabVIEW FPGA 環境があるとき
で行いました。

①ローカルSSDLabVIEW FPGA 環境があるとき
この状態は通常のインストールの状態です。
最もコンパイル時間が早いと期待できます。
②小さいUSBメモリにLabVIEW FPGA 環境があるとき
今回気になるところです。おそらくはコンパイル時間が一番遅いはずです。

CrystalDiskMark でベンチマーク比較


まずは読み書きの速さを CrystalDiskMark というベンチマークソフトで見てみます。
①ローカルSSDのベンチ結果




②小さいUSBメモリのベンチ結果



もう一目見て速度が違いすぎますね。
シーケンシャルではそこそこレートが出ていますが、4KiBの小さいファイルでの転送では700kB/s以下でしか書き込めていません。
このようなレートですので、LabIVEW FPGA 環境を丸ごとコピーに非常に時間がかかってしまいました。

実際に同じプロジェクトでコンパイル比較


それではローカルで同じFPGAプロジェクトをコンパイルさせて比較してみます。

①ローカルSSDでのコンパイル



②小さいUSBメモリでのコンパイル



全体としてはむしろ早いという結果になっていますが、個々の時間では小さい USBメモリのほうが時間がかかっているものもあります。
内容
ローカルSSD
小さいUSBメモリ
コンパイル時間全体
50:49
46:35
Synthesize
7:48
9:17
Optimize Logic
3:19
3:47
Place
14:02
14:49
Optimize Timing
3:12
3:32
Route
17:26
9:36
Generate Programming File
4:45
5:07

同じプロジェクトでコンパイルさせたのですが、基本的には小さい USBメモリでもコンパイル時間にそれほど差がないことがわかりました。
コンパイル時の多くはメモリ上に展開されて実行されるので、SSDUSBメモリへのアクセスは限定的なのかもしれません。

まとめ


6回にわたってお伝えしました LabVIEW FPGA の運用について、一応の成果は出たと思います。
小さい大容量の USBメモリを使えばノートPC SSD使用量を削減して、FPGA開発ができるという点は意外と効果が高いです。

通常私どもは FPGA をコンパイルするときにはローカルでのコンパイルはあまりせず、会社では会社のコンパイルサーバーを使うのでコンパイル時間はかなり短いです。
ただ、意外とお客様のところでコンパイルしなくてはいけないという状況もあるのでローカルでのコンパイルはできるに越したことはありませんのでこの環境は非常に役に立っています。

0 件のコメント :

コメントを投稿