この記事はGPGPU Advent Calendarの8日目の記事です。 LLVM meets GPU again! CUDA4.1以降のnvccは、Compute Capability 2.0以上のコードを生成する際にLLVM IRのサブセットであるNVVMを経由して最適化等を行ってから、NVIDIAの規定する中間表現であるPTXへの変換を行なっています。今年に入ってこの成果がLLVM本家にマージされ、バージョン3.2で正式にお目見えすることになりました。LLVM 3.2の正式リリースは2012/12/16と一週間ほど先に予定されていますが、リポジトリにはすでに3.2用のブランチが切られています。今回は一足先にLLVM 3.2を使用して、LLVM IRからPTXを生成してみましょう! 歴史的な経緯 今回LLVMにマージされたNVIDIAの実装したPTXバックエンドはNVPTXと呼ばれてい