本格的な冬に突入しつつあるようだ。それでも平年より気温は高めに推移しており,ただでさえ暖かいここ遠州の地では,日中は上着が不要である。
昨日はPthreadをP4 2.8CGHzマシンで初めて使ってみた。2 thread生成して実正方行列の積を計算する単純なプログラムなのだが,やってみると案外面倒である。それでもshared memoryなので,MPIで並列行列積をcodingするよりも楽に完成した。しかしみんなよくもまあ,こんなシチ面倒な手続きをするもんだ。やれやれとベンチマークを取ってみると,おおっーと感動する結果になっている。特に
,cacheコントロールなんぞを全く考慮していないBNCpackを使っていると,行列を分割しヒット率を上げる効果も加わって,計算時間が激減する。昨夜はこれを知って,深夜の実験室にてFedora Core 1に思わずほおずりをしてしまった。いやぁ,SMT万歳である。どーせしばらくはSMPマシンなんぞとは縁遠いままだろうが,このお安い(何せ\10万未満)P4 with HTでSMPを疑似体験して楽しむことにする。・・・しかし,プログラミングが面倒になるなあ・・・。
何か参考になる資料はないかとGoogle様を漁っていたら,こーゆーPDFファイルがあった。プログラミングの詳細は不明だが,行列積のサンプルがある。
で,忘れない内に書いておくが,pthreads for Win32ってのがあるのね。これもまたRedhatのご助力を得ているprojectのようである。イチイチWindows環境用にMT部分を書き直すのも面倒なことこの上ないので,うまく行けばソースレベルの互換性は保てる・・・かしらん?