投機的実行
投機的実行とは、順不同のタスクの生成を可能にすることで、タスクの並列化を強化する機能です。Visual Studio、MSBuild C++、Android NDKのコンパイルによるビルドに適用することができます。
この機能は、Agent Settings > Visual Studio Builds > Advanced タブで有効/無効を設定できます。
単一ビルドでのAgentの投機的実行設定の上書き
ユーザーインターフェースでは、投機的実行が有効か無効かにかかわらず、単一のビルドに対し、コマンドラインを使用して手動で投機的実行を有効または無効にすることができます。
[BuildConsole] コマンドを使用する場合、/pemode フラグを使用します。/pemode=0は投機的実行を無効化しますが、/pemode=2は有効化します。
対応 MSBuild バージョン
予測実行機能は MSBuild と緊密に連携しているため、使用する前に Incredibuild チームによる MSBuild バージョンの認証が必要です。
使用中の MSBuild が後述のバージョン以降の場合は、Incredibuild サポート (support@Incredibuild.com) に連絡して、このバージョンの認定を依頼するか、現在使用している MSBuild バージョンで投機的実行機能が使えるように Incredibuild に手動で設定する必要があります。
Incredibuild 9.6.x
-
Visual Studio 2022 は、MSBuild 32 bit バージョン 17.0.0.80000 までをサポートしています。
-
制限事項 Visual Studio 2022 MSBuild 64 bit は現在、投機的実行をサポートしていません。
-
-
Incredibuild 9.6.4 以降では、Visual Studio 2012 はバージョン 4.8.3761.0 までの MSBuild をサポートします。
-
Incredibuild 9.6.0 から 9.6.3 については、Visual Studio 2012 はバージョン 4.8.3752.0 までの MSBuild をサポートします。
-
Visual Studio 2019以下の場合、リストは以下と同じです。
Incredibuild 9.5.x (Build 3385)以前のバージョン。
-
Visual Studio 2019: MSBuild バージョン 16.200.19.32702 までをサポート。
-
Visual Studio 2017: MSBuild バージョン 15.9.21.664 までをサポート。
-
Visual Studio 2015: MSBuild バージョン 14.0.27530.0 までをサポート。
-
Visual Studio 2013: MSBuild バージョン 12.0.40629.0 までをサポート。
-
Visual Studio 2010 / 2012: MSBuild バージョン 4.8.3752.0 までをサポート。
MSBuildバージョンの投機的実行を手動で有効にする
上記にない MSBuild バージョンで投機的実行機能を使いたい場合やサポートされている MSBuild にもかかわらず、Incredibuild ビルドモニターでこのページを参照するように警告メッセージが表示された場合は次の手順を行います。
-
Coordinator がインストールされているマシンから、Incredibuild のトレイアイコンを右クリックし、コーディネーター モニター を起動します。
-
Agent リストの中の Initiator マシンをすべて選択します (Agent をすべて選択しても構いません)。
-
右クリックしてメニューから [Set Registry Value] を選択します。
-
表示されたダイアログに次のように入力します。
-
[Value Category]: Builder
-
Name:MSBuildMaxSupportedVersionXX.X (XX.X は Visual Studio のバージョンに対応するバージョン番号です。下のリストを参照)。
-
[Date]: 現在の MSBuild のバージョン
-
- 上記 XX.X のバージョン番号は、お使いの Visual Studio のバージョンに応じて以下の数字に置き換えます。
- Visual Studio 2010 -> 10.0
- Visual Studio 2012 -> 11.0
- Visual Studio 2013 -> 12.0
- Visual Studio 2015 -> 14.0
- Visual Studio 2017 -> 15.0
- Visual Studio 2019 -> 16.0
- Visual Studio 2022 -> 17.0
-
以上で、Initiator は投機的実行機能を利用してパフォーマンスを改善することができます。