2007年11月30日金曜日

計算機のコーディングについて

昨日の会議で,最近の学生たちは,
コンピュータの中身が良く分かっていないどころか,
コーディングの基礎も良く分かっていないのではないか,
という話題があった.

ある学生のプログラムで,
ループの各繰り返し毎に,
標準出力をさせる文を入れていたために,
非常に計算速度が遅くなっていた,
という話が,その元である.

入出力の回数を減らすというのは,
計算速度を上げるためのテクニックとしては,
ちょっと前までは不可欠なものだった.

しかし,現在の学生たちにおいては,
あまりにコンピュータのパフォーマンスが上がりすぎたために,
そういう基本的なことを失念している人が多いのだ.

メモリの使用法についても同様なことがいえる.
昔は,どれだけメモリを節約するか,
ということが大命題だった.

まぁ私も本格的にニーモニックでコーディングし,
64k程度のメモリに四苦八苦をしていたわけではないから,
それほど偉そうなことは言えないが,
それでも学生時代は,PC上で電磁界解析などをするときに,
メッシュの数をそれなりに制限しなければ,
すぐにメモリーオーバーのエラーが出て,
計算ができなかったものである.

計算速度の向上とメモリの節約.
それを常に頭において,コーディングしていたわけである.
PCのパフォーマンスが上がって,
そういう苦労をしなくて済むようになったわけだが,
その代り,基礎的なところでポカを
起こしやすくなっているような気がする.

技術のブラックスボックス化が,
基礎技術,中堅技術のドーナツ化を招いている.

これでいいわけがない.
なんとか手を打たなければならない時期に来ているのだろう.

別のセミナーで,スーパーコンピュータを
手作りするという話題が出た.
天文学や分子動力学のような多体問題の解析に特化した
計算機モジュールを並列化し,
計算の速度を向上させようというものである.
個々のモジュールは単純な計算だけを行えば良いので,
高速化を図ることができる.

もしこのような高速計算機を手作りで作ろうとしたら,
それはそれでずいぶん計算機の勉強になるだろうと思う.
当然,学生たちに計算機を作らせてみたらどうかという話になる.
そんな実習科目があってもいい.

0 件のコメント:

コメントを投稿

アイアンマン2

 「アイアンマン」を観た あとに 「アイアンマン2」(2010年) を観た。「アイアンマン」がヒット作となり,続編が作られた。だいたい続編というのは面白さがいくぶん減るのだけれど,この続編は1作目に負けないくらい面白かった。 敵役を演じるのがなんといってもミッキー・ロークなのであ...