« 恵安の7インチ格安デジタルフォトフレーム | トップページ | QRS-UT100B(TVTest)で字幕表示 »

2009年6月 5日 (金)

Ubuntu 9.04 on EeePCでFORTRANプログラム実行

大学院生時代にFORTRANのプログラムをせっせと作っていました。なぜかそのソースコードをずっと持っておりまして、FreeBSDやLinuxを入れては実行してベンチマークをとっていました。

せっかくEeePC 1000H-XにもUbuntu 9.04をインストールしたので、ためしに動かしてみました。

いまどきにLinuxにFORTRANコンパイラなんてついているのかしらん、と思ったら案の定ついておりませんでした。が、後付けで導入できます。

「端末」を開いて、

sudo apt-get install fort77

とやれば導入できました。簡単ですね。

FORTRANとはなんぞや?という方にはnag:Fortran入門がお勧めです。数値計算用に特化したプログラム、とでもいうんでしょうか?ずいぶん古い言語ですが、未だに使われていたりします。

今からもう10年以上も前、一種の流体解析コードを作成しシミュレーション解析を実施した、という修士論文を書きました。

「プログラムコードを作った」といっても、先人たちの作り上げたものを改良しました、というレベルですが。

そのプログラム、当時どれくらいの計算容量が必要だったか?というのがその論文に残っています。

当時使っていたのはHP9735というワークステーション、計算能力は57MFLOPS(一秒間に計算できる浮動小数点演算の数)で、これを使って計算させると1,000サイクルで10時間、一回の計算では2,000~10,000サイクル必要なので大体1~7日かかっていました。

ワークステーションでは足りないので、1台20万円ほどかけて自作PCを作って、計算環境を整えました。このとき作った自作PCはMMX Pentium 233MHz。これを使うとHP9735の倍は時間がかかっていました。

つまり、ものによっては2週間もぶっとおしで計算させてたわけで、今考えると恐ろしい計算時間です。

とはいえ、今でも会社で平気で1~2日かかる計算をさせていますが・・・さすがに2週間はないですね。

さて、EeePC 1000H-Xでこの解析プログラムを動かすとどうなるか?ためしに1サイクル動かしてみました。

結果は・・・わずか17秒。ということは、1,000サイクルで4.7時間ということになります。

つまり、当時のワークステーションの半分の計算時間ですんでいるということです。

しかも、この結果はバッテリ駆動させて行ったもの。下手をすると、バッテリ駆動だけで1,000サイクルできてしまいそうですね。

こんなものがほいほいと3~5万円ほどで売っているいまのご時勢、そう考えると恐ろしいですね。

 

こちらはEeePC 900HA。お値段は3万円ちょい。当時これがあったら、どんなに助かったことか・・・

とりあえず、実際に1,000サイクルを流してみているところです。ACアダプタ付ですが。

Dsc01410

計算中のシステムモニタです。なんかCPU1と2とが交互になっています。多分サイクルごとにCPUを入れ替えているみたいです。

・・・というか、EeePC 1000H-XのAtomプロセッサはシングルコアじゃねえか!と思われる方もいらっしゃいますが、もちろんN270はシングルコア。ただAtomプロセッサはハイパースレッディングによる擬似デュアルコアによりこう見えるようになっています。

このプログラムはシングルスレッドなので、結局1CPU分しか使っていません。ちょっともったいない。

私の周りでも、AtomプロセッサのネットブックをメインPCに使う人が増えましたが、これだけの性能があるわけですから当たり前のような気がします。十分すぎです。

なんか久々にプログラムを作ってみたくなりましたね。といっても昔より腕が落ちたし、目的がないので、なにかいいネタないかなあ・・・と物色中です。

« 恵安の7インチ格安デジタルフォトフレーム | トップページ | QRS-UT100B(TVTest)で字幕表示 »

Raspberry Pi・Arduino・電子工作」カテゴリの記事

Eee PC 1000H-X」カテゴリの記事

コメント

こんばんは。

私の所属していた研究室でも、マスターの学生がFORTRANで計算していたのを思い出しました。

 研究室では油圧機械(システム)のリアルタイム制御(ロボット化)を扱っていましたので、流体解析のテーマでFORTRANのプログラムが走っていました。殆どの場合ではMATLABで解析をするのですが。
同じサイバネット社の製品では、別のテーマでANSIS(有限要素法解析)も使っていて、ソフトだけで結構な金額になります。

 しかし、ATOMプロセッサでこれだけ解析できるとは。もしGigabitイーサネットを搭載していたら、大学の先生が並列演算用に買い占めていたかもしれません。。。

こんにちは、Akiraさん。
Atomプロセッサって散々遅いといわれ続けていますが、実は結構な性能なんですよね。
単にいまのOSが重過ぎるだけじゃないかと思ってしまいます。
ANSISはデモだけ見たことがあります。線形、非線形解析、流体など何でもありの解析ソフトでしたよね?
この手のソフトは高いですからね。ハードが安くなってきたのに、ソフト代が変わらない(いや、むしろ高くなってきてます)ので、余計そう感じてしまいます。

こんにちは。
今でもFORTRANを使っています。
FedoraはデフォルトでFORTRANが入ってました。
Windows上で使いたければCygwinを入れてその中で
使えます。
これってエミュレーションっぽくかつフリーなのですが、
有料のインテルコンパイラと比較して速度は変わりませんでした。
インテルはサポートもダメダメだし、Cygwinで十分かも。

そうそう、当時のプログラムって行列を一時的に
ハードディスクに書き出していなかった?
FA.DAT FB.DAT FC.DATとか。
今はすべてメモリ上でできないかな?
全然速度が違いますよ。

こんにちは、Kajiさん。
Cygwinは会社でUNIX環境の内製プログラムを実行させるのに必要なので、よく使っています。といっても、プログラム開発環境としては使っていないですが。
当時のプログラム、行列をディスクに書き出すアルゴリズムです。懐かしいですね、FA、FB、FCって(かなりローカルな話題ですね)。
ただ、いまどきのマシンはメモリが大量にあるので、実はFA.DATなどをディスクに書きにいってないようですね。メモリ上のキャッシュですませているっぽいです。
本当はプログラムを書き換えられるといいんですが・・・もうさっぱりわかりませんね。

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Ubuntu 9.04 on EeePCでFORTRANプログラム実行:

« 恵安の7インチ格安デジタルフォトフレーム | トップページ | QRS-UT100B(TVTest)で字幕表示 »

無料ブログはココログ

スポンサード リンク

ブログ村