マルチスレッド・・・(゚∀゚)神のヨカーン

2007.08.31 Friday 00:39| comments (4) | - |
最近コメント欄でkeiがくれた話に関して実験してみた。

お題:マルチスレッドなプログラムを書くだけでCPU二個にきちんと処理を振り分けてくれるかどうか。
計算種目:πの計算
開発環境:Turbo C++ Builder
CPU:Intel Core 2Duo

計算結果
シングルスレッド
・計算回数10^9
・計算時間122秒
・CPU使用率50%くらい

2スレッド
・計算回数10^9
・計算時間61秒
・CPU使用率100%

4スレッド
・計算回数10^9
・計算時間61秒
・CPU使用率100%

結論:
マルチスレッドで計算させた場合、
シングルスレッドの場合にくらべてちょうど半分の時間で済んだ。
ということは完璧に並列化されているということが言える。
また2スレッド以上の場合はCPU使用率100%なので、
デュアルコアをフル活用してるんだろう。
並列化させたかったらスレッドたてるだけで(・∀・)イイネ!!

米を炊くチャンス

2007.08.30 Thursday 23:07| comments (2) | - |
最近こいつがなかなかない。
なぜなら
朝炊く→8時までに冷めない→冷凍庫入れれない・・・・
夜炊く→12時までに冷めない→冷凍庫入れれない・・・・
となるからだ!

冷凍庫にいれないで放置してもいいんだが、腐りそうでねぇ。。。

あ”−今読んでる「イブの七人の娘たち」がなかなか面白いが厚い。
なかなか読みおわらねぇ・・・からamazonで買い物ができねぇ。。。

週末に一気読みだーーーー!!

あ、そういやH×H復活するみたいね。
富樫もようやくやる気になったようだ。
よーし、あっしもがんばるぞー!!

MSNメッセつながらねぇ

2007.08.29 Wednesday 21:47| comments (4) | - |
どうもMSNメッセの具合がここ二日悪いなぁ。
サポートサイトをみたら一部のISPではダメポみたいなことが書いてあったが
YAHOOのことか??ヤフーのことかぁぁあああああ!!!(ここで超サイヤ人化)

今日はプログラムより読書に励みたい気分なのでそうします。
あっしには暇な週末があるしね。。。

プログラムの目標をしっかりと持つこと。
つまり仕様を固めること。
-やりたいこと-
・拡張アンサンブル計算
・それを画面を通してみる。
・巡回セールスマンとかへの応用を検討する
・動的なんとかアルゴリズムとの比較うんぬん

平日飲み

2007.08.28 Tuesday 23:54| comments (0) | - |
あぁぁ、ものすっごい嵐になったがそんなんにめげずに飲み会。
会社の先輩と飲むのは久しぶりな気がする。


(´ー`)y─┛~~いろいろな情報を仕入れることができたよ。
かわりに明日寝坊しそうな気がします。

プログラムは明日以降がんばるよ・・・>コメント書き込みしてくれた方々。

並列化めんどいなー

2007.08.27 Monday 22:36| comments (4) | - |
米欄からの続き。

OpenMPで並列化とかマジめんどいわ。
コンパイラレベルでなんとかしてくれないだろうかと
ちょっとググったが、だめだ。


(´ー`)y─┛~~そんなことどうでもいいわ、ねよう。
超眠たい。

いい加減モデル

2007.08.26 Sunday 21:00| comments (8) | - |
先週から適当に作っている2時限イジングモデル。

プログラミングの能力は学生の時よりそれはもう遥かにパワーアップしているわけで、
同時に二つの系をシミュレーションできるようにしている。
無論N個の系への拡張も容易だ。
これができたので拡張アンサンブル法も簡単に計算できるだろう。
2Dイジングてすと


しかし、CPU使用率を見てみると・・・
CPUat二次元イジングテスト
うは、DualCore CPUの意味が全くねぇw
しかし、マルチスレッドプログラムにするのはちょいとめんどくさいな・・・

今日は、おうちから、一歩もでませんでした

2007.08.26 Sunday 18:27| comments (2) | - |
やばいよー、これやばいよーこれ。

土曜
ナツカシイあれ面子で飲み会。
ナツガクです。
「イシ○ワ君に会いたい!」って人が結構いました。
どうしますか?>犬

その前に品達とかいう品川にあるラーメンコロシアムみたいなところでラーメン食ってきた。
二杯。
連続で。
ノンストップ二件。
なんっつっ亭とせたがやとかいう店だ。
どっちも有名らしいが・・・まぁ、普通じゃね?
ラーメンに関してはやっぱり舌が肥えてきてるな。
食べまくってるだけあるわ。何事も練習ということか。


日曜
(´ー`)y─┛~~ マターリ
AE試験に向けた勉強と読書。
本当はプログラムを書きたかったんだが、昼寝しちまってね・・・
ヽ(°▽、°)ノエヘヘヘヘ
やべぇ、ETCつけに車屋に行くのをすっかり忘れてるな。
まぁ、使うのは10月頃からだからいいか。


-週末にみたDVD-
「カオス」
「ラッキーナンバ−7」
というアクション+サスペンスなDVDを2本見たんだが、
カオスのほうがなかなかどんでん返しが多くて面白かったな。
ラッキーagkjklのほうは結末が途中で読めちまった。
カオスは(・∀・)イイ!!(食後だったので途中で半分寝てたが)

一様分布を作るのだって楽じゃぁねぇよ

2007.08.24 Friday 21:12| comments (6) | - |
どうも、あっしです。
今日は金曜なのに飲み仲間はサマーバケーションでどっかいってるので一人酒です。
死ぬほど寂しい。
call me please.

〜不定期連載・酔っ払いの戯言シリーズ〜
-N次元球の表面に一様分布する乱数はどのように生成したらよいか?について-
単純に
角度変数1として0〜πの一様乱数をふる
角度変数2として0〜πの一様乱数をふる
・・・・
角度変数N-1として0〜2πの一様乱数をふる
としてそれらをまとめて一個の変数と思えばよいと思われるかもしれないが、そうではないだろう。
それは早計というものだ。

よくわかる例は我々の知覚できる次元である3次元だ。
よくある物理の教科書に習って角度はθ、φとでもしよう。

φ方向に0〜2πの一様乱数をふる(これはよい)
θ方向に0〜πの一様乱数を・・・
って、ちょーーーーーーっと待てぇぇいいいいい!!!
そんなことしたらおめぇ、球面上のZ軸上とか下のほうがパンッパンになっちまって、
Z=0のXY平面がスカッスカちなっちまうだろ?

とまぁ、端的にいえばこういうことなんだ。
わかってくれたかい?>犬

一様だってのは要するに「密度が均一だ」っちゅーことですからね。
上のやりかただとZの値がでかいほうがミッチミチな状態になっちまうのは
図をかけばわかってくれるとおもう。

そこでそいつを補正するのがヤコビアンですよ!(今回は球面内ではなく球面上なので角度部分のみ)
三次元のヤコビアンの角度方向であるsin(θ)ってのはこいつを補正してくれますよねぇ。

・・・30分後・・・
OK BOY、やっとスマートな説明を思いついた。
球面上の面積要素ってr^2sin(θ)dθdφだよね?
(ここでrは一定なんだからそこは無視してOKだ)
じゃぁ、そもそもの問題を読み替えると
【この面積要素の上に一様に点をまくためにはどうしたらよいか】
という問題になるわけだ。
そうすると・・・OH,MY GOD!!
sin(θ)のウェイトでθは分布を作らないとだめだよね?
ってことですわ。
一定 = 乱数の分布/sin(θ)dφdθ 
ってかんじかな。だからsin(θ)に比例するように乱数を作りなさいよと。

あぁ、実際に紙の上に球面上に等間隔で点を打った場合を創造するといいよ。
やっぱZ軸の上とか下のほうがミッチミチになるだろ?
だからZ=0のXY平面はsin(90°)=1の一番大きなウェイトをつけて
点を打つことでそのなんだ、等間隔に打ってしまったためにできた密度差を埋めるようにするわけだ。

・・・・えらそうにウンチク書いてるけど、間違ってたらスマソwww
酔っ払いなんで。
こうやってweb上に誤った情報が蓄積されていくのは悲しいね。
(↑じゃぁ消せよってわけだが、酔っ払いなんで許してくれ。飲酒執筆だ飲酒執筆)

あば

2007.08.22 Wednesday 22:25| comments (8) | - |
(´A`)酒を飲んで寝よう・・・・

嘘だ。
そんなにだらしなくはない。

昨日の夜から書きなぐっている2D偉人具のプログラムの骨部分+可視化ができた。
やっぱ(当然だが)プログラムに関してはレベルあがっちょる。
3時間くらいで終了。

さて、リハビリはこのくらいにして・・・・

なんかどーでもええ

2007.08.21 Tuesday 21:39| comments (4) | - |
(´Д`) やべぇ、死ぬほど世の中どうでもよくなってきた。
うひょう!鬱々!!

というわけで、心を落ち着かせるために素数ではなくプログラムを書こう。
とびっきりしょぼい奴。

土日とかまじいらねーよーもー。
ずっと働かせてくれ!
1/3 >>