憂鬱な午後のひととき
・半年前ぐらいに計算していてほったからしになっていたものの再開.
たまにはスカッといきたいものだ.
・mayud.sys 順調. 「レスポンスが改善されるようなことはしていない」そうだが,
本当に軽い. ドライバの相性が悪かったのかな.
・
ここの中ほどには解けたって書いてある.
でもリンク先が消滅...
・できたてほやほやの mayud.sys の人柱. kbdclass.sys を Xp オリジナルに戻してテスト.
友達によると落ちることがあるらしいが, 今のところ問題なし. 無理やり使っていたときに比べて,
- キーレスポンスが圧倒的に良くなった.
- mayu を起動中でも VMWare でキーが押しっぱなしになることが無い.
- コントロールやシフトキーが入りっぱなしになることが無い.
な点でうれしい. 正式版が楽しみ.
・単車が盗まれた. 先日鍵を壊されて修理したばかりなのに. なんてことするんだろう.
・久しぶりに夜自転車で近所を走ったのだが真っ暗で怖い, 怖い.
家に戻ったらクワガタが服に付いててびっくり.
・『2次元より平らな世界』(イアン・スチュアート 青木薫訳)
2次元の住人が3次元や他の非ユークリッド空間を体験していく.
『2次元の世界』という100年以上前に書かれた本の続編を目指したものらしい.
あまりに説明口調っぽいのが難だが結構いろいろなトピックがあって面白い.
ところで1999年に3次元における球の最密度充填問題が解けたあるけど, これは本当の話?
友達がmayu for Xpをいじってるらしい. ここに書けばがんばってくれるだろう:-) 楽しみ.
・二夜続けて落語の録画. 一日目は途中でエラー
(一瞬負荷がかかったぐらいでキャプチャを中止する仕様はいかがなものか > Giga Pocket)
だったので二日目の大御所の録画が不安だったが無事完了していた.
・そういや
新VAIOはS入力端子が本体についちゃったのか.
しかし流石に4kgオーバーのノートは持ち運べんぞ.
最近いろいろあって(何もなくて?)ストレスたまりまくり. うー.
・mayu で[変換]+[Ctrl]+Aのキーバインドを設定しようとしたけどうまくいかない.
→そもそもキーボードがこの3つの同時押しを認識しないせいだった. 残念.
・頭痛い.
・↓とりあえずひっくり返して同じものは計算しないようにする.
-O9 -funroll-loops -finline-functions -fomit-frame-pointer -foptimize-register-move
だとこの問題に限り gcc@VMWare の方が ICC7@本体 より速かった(15sec vs. 18sec).
・というわけで
玉の問題を解く
プログラムを作ってみた.
全数探索なので遅いし向きが逆のもカウントするのであれだが.
n = 6 のときは解が複数あるんだな. ちょっと意外(n = 4 も別解あり).
n = 7 は解なしか.
ところでこのプログラム, n = 9 までの全数探索に gcc@VMWare だと100秒程度なのに
VC++ では4分以上もかかるのは何故だろう. なんか変なことしてるのかな.
→どうやらVC++では
vector<int>
へのアクセスがめちゃくちゃ遅いみたい.
上記ソースの ACCESS_AS_POINTER を有効にするとそれなりに速くなった.
コンパイラ/ACCESS_AS_POINTER未定義/定義
VC++ 273sec/104sec
ICC7 42sec/36sec
g++2.95.3@VMware 57sec/48sec(-O2 -funroll-loops -frame-omit-pointer)
うーむ, 設定ミスでなければ絶望的に遅い. もしかして Java 版の方が速かったりして.
帰りの電車で本を読んでいたらうっかり乗り過ごしてしまった.
田舎なので戻りの電車が20分近く無かった. 誰もいないホームはなかなか寂しい.
『
数論アルゴリズムとその応用』に参加.
京都駅32番ホームなんて初めて. 会場の冷房が聞きすぎで体調を崩す. なんで23度やねん.
・2日続けて帰宅が11時前. 珍しく働きすぎ?(笑)
・psやpdfでは表示できていても
印刷段階で消えることがあるとはTeXの文字コードって難しい.
・XMLと組み合わせて使ってみたいので
JTreeを触る.
・『奇跡の人』(真保裕一)
主人公が脳死の一歩手前から回復していく様が母親の手記により再現されるところはよいけど,
後半の主人公の独善的な行動は後味悪い.
・
『Javaによるアルゴリズム事典』
ぼちぼち出るらしい.
・↓別のVC++用のデコーダをコンパイルしようとしたが, これもエラー.
互換性が低いと使いにくいなあ.
ICC7の最適化はなかなか
凄いので午後をコンパイルして速度比較をやりたいのだが
最適化を最大にするとリンクエラーになってどうしようもない.
8123.obj : error LNK2001: 外部シンボル "_vmlsLn4Mask" は未解決です
8123.obj : error LNK2001: 外部シンボル "_vmlsCos4" は未解決です
8123.obj : error LNK2001: 外部シンボル "_vmlsPow4" は未解決です
そんな関数呼び出してないぞ~. そもそも8123.objってなんやねん.
void fadd(float *a, float *b, int n)
{
int i;
for (i = 0; i < n; i++) {
a[i] += b[i];
}
}
int main(int argc, char *argv[])
{
float buf[1024], buf2[1024];
int i;
for (i = 0; i < 1024; i++) {
buf[i] = i;
buf2[i] = i;
}
fadd(buf, buf2, 1024);
...
}
というのが
movaps xmm1,xmmword ptr ds:[40E010h]
movaps xmm0,xmmword ptr ds:[40E000h]
xor eax,eax
.lp1:
movaps xmmword ptr [esp+eax*4+20h],xmm0
movaps xmmword ptr [esp+eax*4+1120h],xmm0
addps xmm0,xmm1
movaps xmmword ptr [esp+eax*4+30h],xmm0
movaps xmmword ptr [esp+eax*4+1130h],xmm0
addps xmm0,xmm1
add eax,8
cmp eax,400h
jl .lp1
xor eax,eax
.lp2:
movaps xmm0,xmmword ptr [esp+eax*4+20h]
movaps xmm1,xmmword ptr [esp+eax*4+30h]
addps xmm0,xmmword ptr [esp+eax*4+1120h]
addps xmm1,xmmword ptr [esp+eax*4+1130h]
movaps xmmword ptr [esp+eax*4+20h],xmm0
movaps xmmword ptr [esp+eax*4+30h],xmm1
add eax,8
cmp eax,400h
jl .lp2
となっているのを見るとfft.c@ICC7 vs. fftsse.nasが楽しみなんだけど(たいしてunrollしてないから負けるかな).
・東京に行って久しぶりに友達とわいわい騒ぐ. 相変わらず面白い人たちだった.
珍しくちょっと壊れた人がいたけど.
ところで夜歩いて気がついたのだけど東京の空は明るいなあ.
深夜やのに日の出前みたいでめちゃ気持ち悪い.
・1日半ぶりに見たメール70通すべてがスパムというのはうんざり.
・1時間ほど山登り. 天気がよくて気持ちよい汗をかいた.
・『川原泉の本棚』(川原泉)
アンソロジー. 前書きによるとローラ・インガルス・ワイルダーの『大草原の小さな家』
で作者が覚えているシーンは「保存食の豚肉の塩漬け」だそうな.
確かにこのシリーズはおいしそうな料理がたくさん出ていた.
私が覚えてるのは「カエデシロップを凍らしたもの」や「豚の尻尾をあぶったもの」など. 他には「かきのキャンディー」か.
最後に紹介されていた『歴史新聞』(歴史新聞編纂委員会)は凄い.
昔のある年(例えば西暦1787年)の世界の出来事を現代の新聞ののりで記事にしている.
フランス革命が起こったとき日本では松平定信が老中になっていたなんて(それぞれは覚えていたとしても)同時に考えたことないや.
・
以前いじっていた冗談ソフトを今頃公開.
ついでに
SSE2版MTも.
[Windows] + Dを押すと描画が更新されないのは何故だろう. 誰か教えてください.
・運転免許証を更新.
4月
御意見は光成滋生<herumi@nifty.com>までお願いします