Facebookのブログは、こちら => Accelerate large-scale applications with BOLT
このブログ書いている、Maxim Panchenko さん、なんか、いろいろなコンパイラ書いているわ。。。
このブログ書いている、Maxim Panchenko さん、なんか、いろいろなコンパイラ書いているわ。。。
Facebook(Facebook Incubator)が公開したBOLT
引用 BOLT is a post-link optimizer developed to speed up large applications. It achieves the improvements by optimizing application's code layout based on execution profile gathered by sampling profiler, such as Linux perf tool. BOLT can operate on any binary with a symbol table, but for maximum gains it utilizes relocations saved by a linker (--emit-relocs). NOTE: current support is limited to non-PIE X86-64 and AArch64 ELF binaries.
プロファイラ(perf)でプロファイルを取って、
そのプロファイル情報からバイナリコードを最適化すると。。。
プログラムの実行は使用するデータに依存するので、複数のプロファイルにも対応済み。
ただし、複数ファイルを1つのファイルのまとめる作業は必要
そのプロファイル情報からバイナリコードを最適化すると。。。
プログラムの実行は使用するデータに依存するので、複数のプロファイルにも対応済み。
ただし、複数ファイルを1つのファイルのまとめる作業は必要
ターゲットは、AArch64とx86です。
確か、AMDもBolt、HSA用のライブラリ
かなり期待していたんだけどね。
x86/ARMで共通に使えるって感じだったが、ARMを止めて、x86になってHSAもね。。。
Bolt is a C++ template library optimized for GPUs. Bolt provides high-performance library implementations for common algorithms such as scan, reduce, transform, and sort.出していたよね。1.3まででて、4年前から更新されていないね。HSAって、どうなったんだろうか?
かなり期待していたんだけどね。
x86/ARMで共通に使えるって感じだったが、ARMを止めて、x86になってHSAもね。。。