Visual StudioでAperyをPGOビルド

まず、Visual Studio 2015 Update 2をインストール。デフォルトだとVisual C++が選択されてないのでチェックを入れる。
空のコンソールアプリケーションを作って、Aperyのソース(.cppと.hpp)を全部ぶち込む。

  • プロジェクトのプロパティを設定する(構成とプラットフォームがRelease・x64になっていることを確認)。

プロジェクトを保存する(1回普通にビルドしてみるのが無難)。
プロジェクトのフォルダに、benchmark.sfenと、評価バイナリ(今は"20151105"というフォルダ)(シンボリックリンクでもいい)と、以下のバッチファイルを置く。

rem 色々決め打ちなので適宜変えてください
call "%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" amd64
for %%P in (.) do set NAME=%%~nP%%~xP
MSBuild /p:configuration=release;WholeProgramOptimization=PGInstrument %NAME%.vcxproj
"x64\Release\%NAME%.exe" bench
MSBuild /p:configuration=release;WholeProgramOptimization=PGOptimize %NAME%.vcxproj
pgomgr /summary "x64\Release\%NAME%.pgd" > profile.txt
profile.txt
pause

あとはバッチファイルを実行して数分待てばよい。SSE4.2で試したところ、公開されているものと同じくらいのNPSが出た(PGOをかけないと1割くらい遅い)。
あんまり自信ないです。