Boost.勉強会 #11 で発表してきた

Boost.勉強会 #11 東京 - boostjp

茨城の山奥に行ったりとか,書類書いてたりとかして1週間も経ってしまいましたが書きます.

"CilkPlus, TBB, OpenMP 〜 並列プログラミングを支える技術" という大層なタイトルで発表してましたが,つまるところこの辺のライブラリとかコンパイラ拡張の紹介です.

発表スライド: CilkPlus, TBB, OpenMP

CilkPlus, TBB については以下のようなページがありますので,こちらを見ると良いと思います.

後は CG 法自体についての説明ですが... まあ興味ある方は調べてみてください.簡単に言うと線形代数で連立1次方程式を解くための解法です.

このスライドでは,ベクトル演算中心で並列化が容易だったので,それぞれのライブラリやコンパイラ拡張だけで差が出たら良いなあと思っていただけですので.

今回解いた問題で用いたのは Givens 行列という行列なんだそうです.

未知ベクトルを全て 1 として既知ベクトルを求めた後,未知ベクトルを全て 1 以外で初期化し,CG 法で解けば,未知ベクトルは 1 に近似された値が入る,となります.

ああ,後,行列ベクトル積のそれぞれのサンプルコードを載せて「簡単に書けますね」しか言わなかったのですが,もちろんご指摘がありましたように「簡単に書ける = パフォーマンスが良い」という風にはもちろん思ってないです.

実際にはパフォーマンスを調べてみないといけない訳ですが,一般的なアプリケーションにおいては簡単に書けて,かつスケーリングに強いというの方が良いと思っています.(もちろん,パフォーマンスが逐次計算時よりも良くなっているのが前提)

勉強会の感想とか

コンテナのパフォーマンスに関する発表では,会場に居ない人の代わりというわけでもなく色々指摘しましたけど,ちゃんと思ったことは言った方が良いですよ.

勉強会で発表してる人って,「僕何か間違ってないかな...」とか思いながら発表してる部分もきっとあると思います.(間違いに気づいてない人もいますけど) そういうのは直接言ってあげないと気がつかないと思います.僕もそんな感じなので.

懇親会も楽しかったです.ラズベリーパイとバイクと某氏の妹の話しか覚えてないですが.

#12 大阪は行きたいのですが,まあ色々予定が辛いので難しいですね...

追伸

闇鍋は夏が終わるまで無理です.暑いし.