狂人日記バックナンバー 2002年分

戻る



2002年 12月09日 大学はどうなるか? 2002 Dec 09
2002年 11月11日 安保理の決議にうんざり
2002年10月29日 やっぱりFFTは速い
2002年10月21日 CPU を高速化するには?
2002年10月10日 FFT再び
2002年10月9日 止まらないアメリカ
2002年9月25日 北朝鮮を見て
2002年7月26日 なぜかふと思い立って

大学はどうなるか? 2002 Dec 09

現在、18歳人口が減少し、大学に入学する学生が減少してきているために、 (特に地方では)危機的な状況になっている大学もある。近い将来にはいくつ かの大学が倒産するともいわれている。確かに大学に入学するのが、高校を卒 業した学生ばかりであるという状況が続くのならば、そのとおりだが、大学に 来る層を高卒者に限定しないのならば、また変わってくると思う。近年は、不 況のせいもあるとは思うが、企業も社内教育を減らし、即戦力の人材を登用す る傾向にあるのではないだろうか。そうなると、社内教育の分(費用)は外部 転嫁されることになる。その時の受け皿は、専門分野となれば大学や大学院と いう形になるだろう。そのためには、大学もパートタイムの学生や社会人を受 け入れる準備が必要だ。

安保理の決議にうんざり 2002 Nov 11

とうとうイラクの大量破壊兵器に関する査察を行なう国連の安全保障理事会の 決議が出てしまった。これは武力行使を容認するものではないとしているが、 合州国はこれを口実に何が何でも攻撃するつもりだろう。ここで、逆の見方を してみよう。イラクよりも遥かに多量の大量破壊兵器を合州国は、イラクに対 して実施したのと同様の査察を受け入れるだろうか? そう考えてみれば、合 州国のしていることは、単なる茶番劇にしか見えてこない。そういうふうに世 界から見られているのに、正義の味方ぶっているアメリカ合州国の姿は滑稽に しか見えない。これで酷い目にあわされる側にとってはとんでもない話だ。

やっぱりFFTは速い 29 Oct 2002

いま混合基数の FFT のプログラムを作っているのだが、基数 2 ベース以外の ものでも、結構速いのには、ちょっとびっくりしている。理論的にも、基数がさほど大きくなけ れば、さほど遅くはならないはずである。今は調べている途中だが、基数 が 23 ぐらいになっても、実用上はさほど遅くならない。むしろ、ループのオー バーヘッドやキャッシュミスの方が問題になようで、基数が 3 の場合にちょっ と遅いようだ。うまく高速化できない基数 7 の場合よりも基数 3 の場合の方 が遅い。基数 6 を入れることによって、基数 3 の場合を減らすことができる ので、その辺も実用上は何とかなりそうである。基数 9 の場合も作ればいい のだろうが、FFT ばかりやっているわけにも行かないのう。結論からいえば、 基数2を使用するのは、プログラムが簡潔で、in-place で bit 逆順ができる というメリットがあるからである。多少の複雑さとメモリの使用量を許容でき るならば、相当複雑な混合基数を使用するという選択肢もある。2D 以上にな ると、2の巾で表せる数だけに限定されると却って、メモリ使用量が増えてし まう場合もある。

ちょっとこの前までは、digit 逆順の入れ換えルーチンが遅かったのだが、部 分的にテーブル展開することで、基数 2の場合の bit 逆順と同じぐらいまで 減らすことができた。が、それでも実は、bit 逆順、digit 逆順とも、かなり 遅いのがネックになっている。FFT の実行時間のうちの 15% 近くも占めてい る。少なくとも、一回はメモリーをスキャンしないといけないので、これ以上 の高速化も難しそうだ。というのも bit 逆順にも digit 逆順と同じ方法を適 用してみたのだが、全然速くならなかったので、これがほぼ限界のようである。 部分列の入れ換えでうまいことできるアルゴリズムが必要なようだ。順序を入 れ換えないという方法もあるが。

CPU を高速化するには? 21 Oct 2002

車を運転しながら、プロセッサの高速化にはどうしたらいいんだろうか?など と考えていた。特に複数の実行ユニットを持っているような場合である。VLIW (Very Long Instruction Word)というのが Itanium (やその後継プロセッサ) やCrusoe などがその代表例らしい。特に Code Morphing ってどうやっている のかなぁ?などと考えていた。Code Morphing などは、非常に大きなマイクロ 命令変換表を持っているのと同じような効果があるのかもしれないなとか…、 大きなマイクロ命令変換表を持っているならば、複数の命令をまとめてマイク ロ命令に変換してやれば、Out of Order (非斉時とでも訳すのか?)実行も簡 単だなとか…、ついでにマイクロ命令毎に割り込み受付の延期フラグを付けて やれば、従来のプロセッサの命令実行と順序が合う時点で割り込み応答ができ るなとか…、レジスタもいっぱい持っているならば、従来のプロセッサのへの レジスタマップ表を持っていれば、高速化できる命令がいっぱいありそうだな とか…。

とか、いろいろ考えてみて、ああそうか、こんなような方法で高速化 してきたんだなということが分かってきたのです。(もちろん、この ぐらいではまだまだだけどね。)

FFT再び 10Oct2002

この一ヶ月ぐらい FFT をいじくっているが、基数 8, 4, 2 のものを書き上げ てしまったら、ついでに 基数7, 5, 3 もできそうな気配が見えてきたので、 作ってしまうことにした。これが完成すれば、8,7,5,4,3,2 の混合基数が可能 になる。たとえ、2の巾乗の長さになっても、もともとの基数 8,4,2 のものか らの余分なオーバーヘッドも殆んど無視できる程度になりそうなので、全部ま とめあげてしまうことにした。問題になりそうなのは、Digit Reversal の効 率化かな。名前は、fft_7532になる予定。完成したら、ソフトのページからアクセスできるよう にする予定。

止まらないアメリカ 9Oct2002

だれもが分かっていながら口にしないことだが、 残念ながら今回もアメリカの侵略を止めることはできないようだ。もはや、ア メリカのイラク侵略は、タイムスケジュールが組まれてしまっているかのよう だ。すでに、国防総省ではいくつのプランが組み立てられていることだろう。 しかし、そのプランの中にはもはや侵略中止は有りえない。 なぜなら、アメリカは既に軍隊を動かしてしまっている。軍隊を動かしてしまっ た以上は攻撃するしかないのがアメリカなのである。逆に言えば、攻撃のため に動かしてしまった軍隊を引っ込めるようなことはありえない。手段と目的が 逆転してしまったかのように見えるが、軍事攻撃以外の目的で軍隊を 動かすことは、選択肢として最初からありえない。当たり前のこと だが、軍隊を動かせばお金がかかる。しかもその額は途方もないものである。 目的外に余分なお金を費やすわけにはいかない。外交交渉で決着を付 けるつもりならば、軍隊を動かすことなど最初からあるわけがない。

それでは、アメリカの侵略が止まることがあるのだろうか? 全くないわけで はない。そのためには、あきらめないことが重要だろう。 止まらないと思って、あきらめてしまえば、アメリカにフリーハンドを与える ことになってしまう。

北朝鮮を見て(25 Sep 2002)

朝鮮民主主義人民共和国(以下北朝鮮)という国をみて始めて分かることは、 昔の日本はあんな感じだったかもしれないと実感できるこ とである。首領様のかわりに○○がいて、ちょっとしたこ とですぐに特高に引っ張られて生死不明となり、海外(中国や朝鮮)から人を拉 致しては酷使してぽい、大量殺人兵器を大量に開発配備し、おまけに海外でテ ロを起こしまくっている。比較してみると良く似ていることが分かる。

ついでにアメリカともけっこう良く似ている。アメリカには首領様の かわりに大統領がいる。アメリカは核兵器を大量に保有して、しか も先制使用するぞいきまいている。アメリカこそが、大量殺人兵器を大量に開 発配備して、しかも先制使用することを宣言している危険国家 なのである。海外から人を拉致することはしないけれども、難民を 大量に発生させて、アメリカに呼び込んで最低賃金で酷使している。海外で大 規模にテロを行なっている。アメリカと北朝鮮のやっていることはたいしてか わらなかったりする。違っているとすれば、(アメリカの国内法的には)「合法 的」にやっている所ぐらいだ。しかも、現実問題としてはアメリカの害悪のほ うがはるかに大きいのである。

なぜかふと思い立って 26 JUL 2002

基数4,基数8の FFT を作ってみました。でも、速くなったのかどうかいまひと つはっきりしません。16384 点以上でないと、profile の結果が安定しません。 いや別に自分で書かなくても、 こういういいページがあるんですがね。 混合基数でもこんなに速いとは。 ちなみに、やっぱり基数8の FFT は速いようです。 自分の計測でも基数2の場合の、倍ぐらいは速くなってます。 ただし、sin, cos の計算をけちるために、いろいろやってあるので、 精度がうまいこと出ません。

こんなのつけてみました 3JUL2002

といっても、この Valid HTML 4.01 Strict マークが適合しているのは、この ページだけです。そのうえ、いくつかいんちきを使っています。もっとちゃん と書かんといかんなあ。さあ!あなたもここへ行って、適合度を調べてみよう。 そのうちに CSS もちゃんとチェックするからね。今度は XHTML 1.1 か。やれやれ。

蝉が鳴いている 17APR2002

といっても、春蝉が鳴いているわけではなく、耳鳴りがはげしいのです。 TV を見ていたら、「夏に録画したので蝉がよく鳴いているなぁ」と思ったら 番組が終っても鳴いているので、耳なりだと気づきました。

Loop unrolling って速くなるの? 01Mar2002

と思って、単純な合計を求めるプログラムを作って調べてみたら、すくなくと も単純ループよりは速くなることがわかりました gcc (2.95 と 3.04 の両方) の場合は、20% 程度は速くなるみたい。。が、どのくらい unroll すればいい のかはよくわからなかった。(8〜16かな)だって、計るたびに違うんだもん。 また gprof の時間と elapsed time が合わないのは何故? また、めちゃくちゃ の個数のデータを合計することを考えて、中身が破壊されるけど、binary ツ リーで合計するプログラムを作ってみたら、単純ループの 3 倍も遅いぞ、も うちょっとプログラムを考えてみよう。ちなみに unroll した場合、部分的に 木構造で加算ができるので、ほんのちょっとだけ精度的に有理だけど、コンパ イラはそこまで考えてくれんだろうな。80bit の精度がある ix86(7) の内部 レジスタだけで加算してくれればいいけど。

関係ないけど、今日、ある Cプログラミングのページを見ていたら、float は 遅くなるから使うなと書いてあった。これは基本的に正しいから文句をつ けることではない。だから、ちょっとだけ愚痴をたれてみる。 ちょっと前まで、double のほうが遅いこともあったんだけどね。コンパイラ とマシンの組み合わせによっては -fsingle なんていう関数計算を単精度にし ちゃうオプションもあったのよ。i8087 だって、double を使うと load/store が遅くなるので、いやがっていたこともあるし、内部演算の精度が高い分遅い と言われた時期もあった。昔話だけどね。FORTRAN では昔は単精度が主流だっ たしね。CRAY(1,2?) では割算させると遅いので、逆数近似で誤魔化したりし ていたんだよね。今はハードやメモリが湯水の如く使えて良いね。

LOOX 買っちゃった 2002Feb27

ついでに Fujitsu の LOOX 買っちゃいました。H''IN がついてるけど まだ使っていません。Crusoe 533MHz です。最新が 800MHz なので十分でしょう。どうせ、メモ帳、PIM ぐらいしか使わんし。Outlet 品 で税込み約80K円でした。関係ないけど、私、中古品好きです。うちでは20K円 以下で買った中古のP-II 233MHz が現役で通常マシンとし て活躍してます。こいつを繋いでいる液晶のTV兼用ディスプレイの方 が遥かに遥かに高価でした。

BTC-5100C は愛されているらしい 2002Feb27

私の愛用のキーボードは BTC-5100C という省スペースの ASCII 配列のものを 使用しているが、今日ふと BTC-5100C でサーチをかけてみたら、出てくる出 てくる。このキーボードは Linux や *BSD の人々に特に愛されているようだ。 だって、こういう用途では、カーソルキーやテンキーってほとんど使用しない もんねぇ。Windows キーって何? 一時期、このキーボード店頭から消えてし まったので、もう買えないかと残念に思っていたのだけれど、最近は、DOS/V パラダイスの店頭にちゃんと並んでいる。(でも DOS/V パラ以外では見掛け んなあ)やはり、サーバー用や Unix Lover 達に愛用されているらしい。ちな みに私はBTC-5100C を三つ持っている。HHK Lite ももっているけど、今はちょっ とおやすみ中。最近の日本語の Windows ばかり使っている人には、タッチも 含めて受け付けられないキーボードではある。

ちなみに最近 HHK Lite がお休みなのは、HHK Lite では Alt+Ctrl+Fn で仮想 コンソールを切替えるのが面倒臭いから。とかいいつつ HHK Lite2 買うかも。 USB Hub が付いている奴がいいかな?

Linux は素晴らしい玩具だ

さて、私はこの何年間か(多分 1994年頃から)ずっと Linux を使用している。 Linux を使用していて特に困ったことはない。Linux は導入したその日からす ぐに研究に使用できるが、Windows はそういうわけにはいけない。特にプログ ラマにとって、Linux は安価で使いでのよい環境のはずだ。 Windows 9X, Me でプログラム開発をしているひとはほとんどいないとは思う が。(Windows NT,2000 では相当多いと思う) ちなみに、Windows 9X 系の OS では、開発環境がすぐに落ちて使いものにならないと思う。私の経験では数時 間に一度は Blue Screen Death に落ちていた。Windows NT 系ではさほど落ち ることはないということなので、16bit コードに由来するなにかだと思う。 さて、話がそれたが、実際に Linux の開発環境で困ったことはない。Linux カーネルのコンパイルを含む巨大なプログラムのコンパイルもすいすい。何時 間、何日ぶっ通しでマシンをぶん回してもおちることはまずない。GCC は多少 効率が落ちる(Pentium II, III で 20%程度か?)が、長時間計算させることを 考えると、Linux の安定性は非常に心強い。 昔から、研究用のコンピュータはやはり落ちないことが肝心だ。大型計算機セ ンターのスーパーコンピュータが落ちることは非常に稀(年に数回もあるかな) だ。もちろん、スーパーコンピュータの場合は運用によってカバーされている し、Windows のコンピュータとはプログラムの種類が全く違うし、ターゲット も全く違うので、比較することは難しい。 そういった面でも、Windows と比較すべき OS は Linux (*BSD) であろう。

うがが…発作が…2002年2/20

昨日はダウン理由は発作。 ひさびさに激しい発作にみまわれました。 2/18の夜は眠れない上に、吐き気と下痢、おまけに発熱。 2/19日は食欲ゼロで絶食。夜は睡眠導入剤で強制睡眠。 2/20日は回復した。 どうもコンピュータのディスプレイを見過ぎたせいらしい。 コンピュータ愛好家に人達は欝症状に御注意を。

戦争は当然、「事を起こした方が」悪いに決まっています 2002年2/7

戦争は犯罪です。もうこれは世界の常識です。現代では、 戦争は国際法に違反しています。しかも、 起こした方が悪いと決まっています。 これ以上何か言うべき事はありません。 戦争自体は悪くないという考えを持つのは勝手ですが、 常識外れであることを自覚して下さい。当然、そのような 常識外れな論を張るためには、戦争が違法化された歴史をたどる必要がありま す。

自民党崩壊序局 トリプル安

さて、政局はもはや自民党がいつ崩壊するかいう局面になっていると思う。不 可思議なことに、小泉政権は実質的に最後の自民党政権 で あることに自民党内部ではちゃんと理解していないようだ。田中真紀子事件は、 自民党の将来を暗示している。重大事件の事実関係はうやむやにして逃げる無 責任体質がそのままであることがはっきりとわかってしまった。これまでにも、 同様なことはいっぱいあったが、ここで、是正しなければ、政治改革など不可 能だ。外務省も、如何に有力議員だろうと、落選すればただの人なので、事実 関係をはっきりさせるべきだった。HIV 問題、CJD問題、BSE問題、今回の外務 省の問題にせよ、さらには、無駄がてんこもりな公共事業にせよ、すべての問 題は同根である。

円、株、債券のトリプル安は政治崩壊の予感のせいだろう。

自民党政権には政治改革は不可能である。つぎの選挙で自民党に投票する人の 正気を疑う。

2002年1月31日 おかしな世界

さて、田中真紀子外務大臣が更迭になったが、誰もが今回のことはわかりすぎ るほどよくわかっている。それなのに、自民党はだれが見ても透けて見える事 実をうやむやにして逃げようとしてる。今回のこの問題は非常に重要だ。ちょっ とだけまとめてみると、

無論、嘘をついている人がいることは明らかだし、見ていればそれが誰かも明 白なのであるが、しかし、「公式」に誰が嘘をついているとなると、嘘をつい ている人が自民党内で有力者であるがために問題となるため、「公式には」事 実関係をうやむやにすることで逃げたのである。 当然、嘘をついた人を更迭するのが筋である。この件でもっ とも損をしたのは、田中真紀子議員であるが、こんなことを続けてい ても自民党の寿命は縮まるばかりなので、ここで辞めても、先々の ことを考えれば吉であろう。

話ももとに戻すが、NGO は非政府組織であるので、外務省 とは直接は関係ないところにいるので、外務省を通して圧力をかけても無駄な のである。脅しをかけても、筋違いだし、お金をださないといっても、もとも とお金のないところで、ボランティアでやっている人たちなので、「ああそう、 それならそれで別の方法を考える」といっておしまいだろう。ところが、逆に 外務省は NGO の助けがなければ困る。 なぜなら、外務省 が現在は手の届かないこと、手掛けることができないことをやるのが NGO な ので、外務省が手掛けようとする場合にはどうしても NGO の力を借りなくて はならないからである。つまらない圧力を掛けようとしたら、反発を食らうの は当たり前である。

これからのことはわからないが、今後も同じような問題はどんどん発生してく るであろう。NGO は「お上」とのしがらみが少ないので、ここに変な圧力をか けて、黙っている必要は全然ないので、どんどん表沙汰になるだろう。NGO に はこれからはこう言った面でも活躍してほしい。

「お上のいうことはあまり信用していない」この言葉、NGO の人ならばむしろ自然とでてくるものであろう。実に名言である。

捕捉しておくが、別に NGO の人達は本当の意味で「お上を信用していない」 わけではない。行政の動きはどうしても遅くなる。行政がちゃんとカバーでき るまでにはいろいろ紆余曲折があり、失望させられることもしょっちゅうだろ うが、将来的にはちゃんと行政がカバーして欲しいと思っていることがほとん どだと思う。だから、行政とは必要なところでは協力していきたいと思ってい るにちがいない。「お上を信用していない」というのは、行政の動きは遅いので、 言ったことがいつ実現されるかわからないということだと想像される。

捕捉その2:うがった見方をすれば、田中真紀子議員は、ほとんど事実関係は 明らかになったので、ここで筋を通して政敵を倒すことが 目的だったのかもしれない。 たとえ一時的に負けても、支持基盤は却って強固になると いう読みかも知れない。いずれにせよ、この事件は小泉政権にとっては大打撃、 本来は泣いても馬禝(ほどのものではないが、)を切らなくてはいけなかった。 小泉改革先送り内閣の感はますます深まった。

2002年1月21日

ウェブページは JIS で書こう

ということにはもちろん深い意味はない。ただ、JIS で書けば、ISO8859-1 の 文字セットも共存できるという面ではよい。しかし、なぜかブラウザは正しく JIS コードを取り扱ってくれない。それにしても JISX0201.1976 の仮名文字 はいらないので、JISコードの時に勝手にalpha numeric の部分を JISX0201.1976 に変えんどいてくれ。それにしても、Unicode はどこへいくの だろう。16bit の範囲に文字を符合化しようというのはちょっと無理だったみ たい。



戻る