(発表3)LLVM meets GPU

LLVM って何よ。 Low Level Virtual Machine. コンパイラ基盤 LLVM IR の中間言語に落とす事で 言語と実行コードの組み合わせをカバーする。 JIT も対応!


去年あたりから LLVM に NVIDIA GPU 向け実装が入ってる。 CUDA Frontend PTX Backend.

CUDA Compiler SDK Preview

NVVM IR (LLVM でなく?)

NVVM は LLVM のサブセット。 組み込み関数が使えない。NVIDIA で使えない命令を外してる。

NVVM Library API

  • PyCUDA
     - python から CUDA を使う。
    でも、文字列で Python の API に渡すのがださい。 annotation で出来るようにしてみた > pynvvm

pynvvm

  • py2llvm copperhead
    => 自動並列化。

  • LLVM で PTX をはくのは沢山挫折されてる。
     - Shared メモリを使うにはdousuru?
     - Texture フェッチとか、アトミックな処理とか。
  • アルゴリズムを書いたらオフロードする仕組みは皆、妄想してると思う。
     - 俺々を作るか?

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Tue, 10 Jun 2014 01:12:55 JST (3601d)