AI News HubLIVE
サイト内リライト2 分で読了

AnthropicのVLIW最適化課題を解決するコンパイラ

ある開発者が、Anthropicの採用面接用課題である、シミュレートされたVLIW SIMD仮想マシン上でカーネルを最適化し、木の走査とハッシュ計算のサイクル数を最小化する問題に取り組むための最適化コンパイラを作成しました。手動最適化の代わりに、高レベルIRを効率的なVLIWバンドルにコンパイルするコンパイラを構築しました。

ソースHacker News AI著者: uglyHaskell

最近、fiigiiという開発者が「ai-comp」というオープンソースプロジェクトをGitHubで公開しました。このプロジェクトは、Anthropic社のVLIW(超長命令語)最適化面接課題を解決するために作成されました。課題では、シミュレートされたVLIW SIMD仮想マシン上でカーネルを最適化し、木構造の走査とハッシュ計算のサイクル数を最小化することが求められます。手動でカーネルを最適化する代わりに、作者は高レベル中間表現(HIR)から効率的なVLIWバンドルを生成する最適化コンパイラを開発しました。

プロジェクト構造は明確で、コンパイラ本体、仮想マシンラッパー、テスト、ドキュメントなどのモジュールが含まれています。コンパイラはHIRからLIR、MIRを経てVLIWに段階的に変換する最適化パイプラインを持ち、デッドコード除去(DCE)、共通部分式除去(CSE)、SLPベクトル化などのパスを備えています。ユーザーは簡単なPythonコマンドで木ハッシュカーネルをコンパイル・実行でき、森林の高さ、ラウンド数、バッチサイズなどのパラメータを調整可能です。

診断機能も充実しており、各パス後のIR表示、メトリクス表示、データ依存グラフの描画、最終VLIW命令の出力、レジスタプレッシャーのHTMLチャート生成などが可能です。カスタムパス設定ファイルを使用することで、コンパイルパイプラインの最適化順序やオプションを変更でき、A/Bテストや並列探索にも対応しています。さらに、Perfettoと連携したトレースビューアも提供されており、実行時の動作を詳細に分析できます。

このプロジェクトはGitHubで86個のスターと14個のフォークを獲得しており、主にPython(98.8%)とHTML(1.2%)で記述されています。コンパイラ最適化やVLIWアーキテクチャに興味のある開発者にとって、非常に価値のあるリファレンス実装となっています。Anthropicの面接課題がこのような形で公開されたことで、コンパイラ技術の重要性が再認識されました。