Vivadoはツールが使用するマルチスレッドの最大数を変更できます。マニュアルによると、マルチスレッドのデフォルト値はWindowsが2でLinuxが8です。この値を変更するとVivadoの処理が速くなるか実際に試してみました。
比較環境
マシンのスペック
プロセッサ | Core i5-2415M CPU @2.30GHz |
メモリ | 8GB |
OS | Windows7 SP1 Professional 64bit |
Vivadoバージョンなど
バージョン | Vivado v2014.3.1(64-bit) |
使用デバイス | Zynq-7020(xc7z020clg484-1) |
計測で使用したデザインについて
Zynq-7020でLUT使用率25%程度のデザインを使って計測を行いました。
マルチスレッドの設定方法
現在の値の確認方法
VivadoのTcl Consoleでget_param general.maxThreads と入力します。
マニュアルに記載されている通り、確かに2に設定されてます。
マルチスレッド数の変更
4に変更する場合はVivadoのTcl Consoleでget_param general.maxThreads 4と入力します。
計測結果
マルチスレッド数2とマルチスレッド数4でSyhthesisとImplementationの実行時間を比較しました。具体的には、VivadoのGUIでSynthesisとImplementationを実行し、レポートファイルの”Start of session”から” Exiting Vivado”までの時間を実行時間としました。
結果
general.maxThreads | Synthesisの時間 | Implementationの時間 | 合計時間 |
---|---|---|---|
2 | 15分19秒 | 9分15秒 | 24分34秒 |
4 | 19分54秒 | 7分48秒 | 27分42秒 |
微妙な結果になりました。Implementationはマルチスレッド数4の方が高速でしたが、Synthesisはマルチスレッド数2の方が高速でした。トータルではマルチスレッド2数の方が高速でした。
だからWindowsのデフォルト値はマルチスレッド数2の設定なんでしょうか。