第2回LLVM勉強会レポート

第2回ばっかだな(^^; 友人S氏と参加。今回も感想のみ。

まず、全般について。

さすがに6時間は長過ぎた……。内容自体は興味深くていろいろ参考になったんだけど、少々ダレ気味。今回の内容だけなら半分の時間でいいかも。

ただ、こういうのって、主催者だけががんばってもダメで、参加者ももう少し積極的に入っていく必要があるのではないだろうか(これは先日のWicket勉強会のときにも思った)。あれだけ人数がいるなら、1人あたり1つ質問するだけでもだいぶ違っていただろうと思う。

JIT and specialization of RenderMan Shading Language (syoyoさん)

うーん、質問の仕方失敗したかな。システム全体がどういう構成になっていて、そのうちこのシステムがどの部分を占めているのか、というのを聞けばよかった。

CGシステムの概要については、「レンダリングはわかるけど、シェーダって何?」状態だったので、それはそれで参考に。

あと、LLVMってちゃんとSIMDに対応していたのね。yarv2llvmで紹介されたCAS命令のサポートも考えると、CPUの最近の傾向(ベクタ演算&マルチコア強化)にちゃんと追随してるんだ。

yarv2llvm (miuraさん)

良かった点。自分でLLVMをいじるときのとっかかりとして大変参考になりそうな感じ。

良くなかった点。プレゼンスキルがちょっと……。考えながら話しているけど、結局まとまってない感じが。

S氏曰く「性能改善が目的なら、定性的、定量的評価も付けるべきでは」(意訳)。とは言え、『遊び』でやってる場合、そこまで求めるのは酷なのも確かなんだけど。

Clangの紹介 (メモってなかった^^; 後で補完)

今回で一番まとまっていたプレゼン。「夢いっぱい」にはワロタ:-) 難点はまとまり過ぎてて突っ込み所が思い付かないこと(^^;

Bespin×Titanium×LLVM+Clang (syoyoさん)

Web2.0。これをWeb2.0と呼んでいいものだろうか(^^; とは言え、いろいろなシステムにLLVMのエンジンを突っ込むのは面白そうだ。

LLVM 2.5の紹介

時間があまったのでだらだらと。改善点を見てると、アグレッシブに開発が進んでる(≒まだまだ安定してるとは言えない)んだなぁ、という印象が。

その他

LLVMの構成が今一つよくわかってなかったので、いくつか質問してみたけど、自分で遊ぶときのとっかかりにはなりそう。意外とRuby(llvmruby)を道具として使うのが良さげ。

llvm-gccとClangの立場の違いも同じくよくわかってなかったんだけど、要は、

  • llvm-gcc = 今使うためのもの
  • Clang = 将来llvm-gccを置き換えるもの

という理解した。