Vista/XP Virtual Desktop Manager2008/12/28 13:28

今年も、残すところあとわずか。雲は、今日からお休みなので、のんびり家でパソコンと遊んでます。えっ?それじゃ、普通の日と変わらない???まぁ、その通りですね。へへへ。

そういう雲は、パソコンの調子が悪くなったので、またまた、Vistaのインストールをしてしまいました。数えてみると、結構、Vistaのインストールはやった一年でした。

そうそう。ついでに、仮想デスクトップのソフトを入れようとして探していたら、すごいものを見つけました。

これは、かなり、使いやすい。Win + 数字 のショートカットで画面を移動できるところが、ズボラな雲にはぴったりです。

http://www.codeplex.com/vdm

Intel Threading Building Block2008/12/29 16:10

年末で、やっと、落ち着いて調べ物ができるようになったのに、ついつい、怠けてしまう雲は、気合いを入れるために?、ずっ~と宿題だと思っていた、Intel のスレッドライブラリを使ってみました。

単純な、素数を求めるエラネストラ?の篩いを走らせてみたところ、CPUのコアの数だけ素直にパフォーマンスが上がったのには、本当にびっくりしました。

これなら、行列の積のような内積の計算には簡単に応用できるのではないかと?とても良い気分になっている雲です。

まぁ、実際には、いろいろと、工夫する必要があるとは思うのだけれど、世の中は、雲の知らないところで進んでますね(←当たり前)。

と、2008年の終わりにしみじみ思う雲でした。

ホテルルワンダ2008/12/29 19:33

のんびりネットで流れているときに見つけた映画の題名。忘れないように、メモっておきます。この映画、とても良い映画ということだけど、ホテルルワンダで検索すると、なんか、お祭りになっているHPがありました。まぁ、言いたいことを言っているな。というのが、雲の率直な感想です。ただ、何というか、議論?のロジックが雲にはよくわかりません。例えば、関東大震災の時に、朝鮮人がデマで虐殺されたということに対して、朝鮮人も悪いことをしていたよね。とかいう意見は、一体、何を言いたいのでしょう?雲には、全く、理解不能です。でも、こういう言い方や考え方をするのは、何も、Web に限らず、現実でもあったりします。雲も、このような理屈の言葉を聞いて、言葉を失ったことがあります。正直なところを言えば、がっかりした。というのが正しいかもしれません。

キャッシュの威力2008/12/30 10:53

雲は、年末年始の休暇を内積の高速化(マルチスレッド化)に捧げる決意をして、調査を行っています。その中で、キャッシュの効果を見せつけられることになりました。今、10000 x 10000 の配列を int 型で準備して、その配列を使って二乗和を求めてみました。

int v[10000][10000]; int w[10000]; for( int i = 0; i < 10000; i++ ){

  w[i] = inner_product( &v[i][0], &v[i][10000], &v[i][0], 0 );

}

といった感じの処理で速度を計測すると、シングルスレッドでの処理速度が、約 0.5秒なのに対して、4つのスレッドを立ち上げて計算すると、なんと、約1.2秒と倍以上遅くなってしまいました(Core2Quad Q6600)。

そこで、今度は、キャッシュが効きやすいように、i を 0 に置き換えて

    w[i] = inner_product( &v[0][0], &v[0][10000], &v[0][0], 0 );

このようにしてみると、なんと、4スレッドでも0.5秒で処理が終わるではないですか!いや~。びっくりしました。キャッシュの効果(たぶん)でパフォーマンスが倍になるということは、あまり想定できていなかったので、この結果はにわかには信じられません。

キャッシュとパフォーマンスについては、以下のような記述もあるし、雲もそこまで効果があるとは想像をしていませんでした。 http://www.ne.jp/asahi/comp/tarusan/main165.htm

もうちょっと、考察をしないといけませんが、あまりにもびっくりしたので念のために?書いておきます。

※12/31 補足

調べてみたところ、どうやら、メモリからの転送速度に影響されているようでした。結局、雲のX38 + PC2-5300 では、6~7GB/sec の転送速度で、その転送速度以上には処理速度が向上しない。ということになります。なので、SSEを使っても使わなくても、結局、データの局在性が保証されていない限り、高速化するのは無理なのでしょう。そういう意味で、今年最後の後藤さんの記事に雲は期待します。 (雲のプログラムは、大抵、数百MBのデータに対して繰り返してアクセスするので、その大きさのキャッシュがCPUに搭載されると、処理速度は、数倍に加速します)

http://pc.watch.impress.co.jp/docs/2008/1226/kaigai483.htm