« February 2009 | Main | April 2009 »

March 29, 2009

Ubuntu で スパコン

E145普段、使っているキューブ・パソコンの表示がおかしくなった。RGBのうち赤が映らないようで、青い画面になった。ディスプレーは、他のパソコンに接続すると正常なので、マザーボードに載っているグラフィック機能が異常になったようだ。一度バラしてみたのだが、どうやら出力コネクタ部分が接触不良をおこしているようだ。表示が異常なだけで、それ以外に問題はないようだが、写真などが見にくいので、対処をすることにした。キューブ型ベアボーンなので、マザーボードを交換するわけにもいかない。コネクタを交換することも考えたが、ハンダ付けで致命的になるかも知れない。そこで新たにグラフィックボードを購入し、余っている PCI Express x16 スロットに入れることにした。
GeForce 8400 GS のグラフィックカードを 3980円で購入した。これを選んだのは、安かったのと、元々マザーボードに載っていたのが、GeForce 6150 だったので同じように使えるだろうと考えたこと、最後は CUDA と言う GPU を使った超並列プロセッサを試してみたかったからだ。

さて、購入したグラフィックカードを挿してみると、Ubuntu は 8.04 も 8.10 も驚くほど何もしなくても正常に表示した。むしろ Windows XP の方が新たなドライバをインストールするだけ面倒だった。しかし、Debian Linux etch (4.0) は、全く表示できない。まあ、先日アップデートした lenny (5.0) にする潮時って意味かな。

さて、ここからが本題。
Ubuntu 8.04 の上に CUDA をインストした。インスト方法は、CUDA (Ubuntu 8.04.2)に詳しく載っている。
この通りにやると、問題なく動いた。
サンプルを試してみると

$ cd ~/NVIDIA_CUDA_SDK/bin/linux/release
$ ./nbody -benchmark

とやると、15.429 GFLOP/s と出た。これが速いんだか、遅いんだか、良く判らない。
そこで、次のようにやると、GPU を使わず、CPU のみで計算する。

$ cd ~/NVIDIA_CUDA_SDK
$ make emu=1
$ cd ~/NVIDIA_CUDA_SDK/bin/linux/emurelease
$ ./nbody -benchmark

CPU のみだと、0.266 GFLOP/s だった。ちなみに、CPUなどは、AMD Athlon64 X2 4200+ 2.2GHz、メモリ 2Gバイトだ。
15.429 GFLOP/s と 0.266 GFLOP/s で 58倍。ただし、計算中のシステムモニタを見ていると、デュアルコアのうち1個しか使っていないので、ちゃんとデュアルコアとすると、AMD Athlon64 X2 4200+ と CUDA の性能比は 29倍だ。

今回、購入したグラフィックカードは SP数 16 の GeForce 8400 GS で、CUDA 使用する上では、最も性能の低いものだ。それでも 2年前とは言え、デュアルコアの CPU の 30倍もの性能を出すとは、流石は、超並列計算!

もちろん、超並列計算には向き不向きがあり、今回試した nbody は、最も超並列計算に向いたアプリケーションであり、他の用途の場合にも 30倍の性能を出すとは限らない。超並列計算に向いたアプリケーションであっても、特殊なプログラミングが必要になる。
そもそも、今回比較したのは、同じ計算をするエミュレーションソフトなので、比較自体が意味が無いかも。ネット上で調べたら、AMD Athlon64 X2 4200+ は、12 〜 13 GFLOPS らしいので、実は全く性能向上してないかもしれない。

とは言え、やっぱり、超並列計算は魅力的だよね。

ところで、最初の画像を出すのは、下記のようにコマンドすれば良い。
$ cd ~/NVIDIA_CUDA_SDK/bin/linux/release
$ ./nbody -n=4096

| | Comments (0) | TrackBack (0)

March 20, 2009

東京とびもの学会

E144東京とびもの学会と言うのに行ってきた。学会と名前が付いているが、航空宇宙系同人誌即売会のことらしい。
会場の入り口で、いきなり間違えて、となりの戦場の乙女たちと言うのに入ってしまった。アニメ系の催し物だったらしい。女の子が多いのと18禁コーナーがあって、おかしいと思ったんだよね。入り口が一つしかないんだから、間違えても仕方がないよねえ。

気を取り直して、東京とびもの学会へ。思ったとおり、男ほとんど女性少しの催し物だった。同人誌即売会と言うから、本ばかりかと思ったら、モデルやビデオなどもある。はやぶさのぬいぐるみ、特にミネルヴァが可愛かった。その他、どっから持ってきたのか、怪しげな本物も幾つか・・・
時々、隣の会場から紛れ込んだ女の子が来て、目のやり場に困る事も。

飛行機系の方が多いと思ったら、意外とロケット/人工衛星系も多い。特に打ち上げ見学系が多い。笹本さんの著書の影響か?

とにかく参加者が多いので、いつも、こんなものかと聞いてみると、主催者の方によれば、予想の5倍は来ているとのこと。大盛況でなりより。

八谷さんも出し物を出していた。来るはずの松浦さんがこないので、イベントと称して、八谷さんと漫談をした。
楽しい一日だった。

| | Comments (2) | TrackBack (0)

March 03, 2009

宇宙へ行きたい

E143最近、私は、ブログではミニ・ノートPCとか Ubuntu の話題ばかりで、宇宙のことは、すっかり忘れてしまっていると思われるかしれない。実際は、まるで逆で、本職が宇宙関係者であることもあり、宇宙のことを考えざるを得ない毎日を過ごしている。

実は、半年ほどまえから、ある委員会の委員を引き受けている。この委員会自体、公表されているし、メンバーも決して匿名ではない。ただ、プレス発表の時、記者に「構成メンバーは?」との質問にメンバー一覧を用意していなかったので、そのまま一般に公開する機会を失ったと事務方には聞いている。次に記者に聞かれた時のためにと、メンバー表を作って用意したけど、今度は、誰も聞いてくれないと・・(苦笑)

だから、ここで私が、どこの何と言う委員会のメンバーになっているかを明確に書いても、たぶん何の問題もないのだが、自分から言い出すのも恥ずかしいので、うやむやにしておく。

まあ、簡単に言えば、月だとか火星だとか小惑星に、どう言った探査機を送るの、将来はどうするの、今どうなっているのって、評価したりだとか報告だとか受けたりするわけ。だから、委員って言うのは、有識者とか専門家から構成されているのだが、なんでか知らんが、私も選ばれた。
全く以前ブログに書いた【人類は宇宙へ飛び出そう まずは小惑星から】シリーズを地で行くような話と言えば、そう言う話なわけ。冗談じゃなくて、この委員に推薦されたのは、『小惑星シリーズ』をブログに書いた2ヶ月後くらいだった。まんざら無関係とも言い難いかなとも思い、選んだ人に確認したのだが、ブログのネタとは無関係だと言う。とは言え、私が、こう言う性格なのは知った上で選んだんだろうから、委員会の席で、そう言う話しても良いよね。

で、昨日、今年度最後の委員会をやった。は○ぶ×が○月×日に運用を再開し○年△月に×に帰ってくるから、その調整に大変だ・・・って報告があったりする。

で、その委員会の最後に、委員会の主とも言える K 先生が、委員の意識を知ると言って、色々質問して挙手をした。詳しいことは書けないが、意識調査の結果、メンバー中、私が最も「深宇宙」に「有人」を「自前の宇宙船」で「早急」に行くことを欲していることが判った。それもダントツで。

こう言った集まりなんだから、私よりも激しい人がいると思ったんけどなあ。

委員の中で、私が一番と言うわけじゃないけど、相当若い方だったのと、この手の委員会は不慣れなので、今まで大人しくしていた。
でも、人類が宇宙に出ていくとか、小惑星に住むとか、恒星間飛行するとか・・・、そんなアグレッシブな話をしても良いんじゃないかって思い始めてきた。あと、1年半、委員の任期も残っているしね。

| | Comments (7) | TrackBack (0)

March 01, 2009

LOOX U/C30 Ubuntu で拡張現実AR

E142話題的には古いかも知れないが、LOOX U/C30 それも Ubuntu で拡張現実ARって、お話。
もちろん、Ubuntu だから、全てフリーソフトだ。

まず、LOOX U/C30にはカメラが無いので、適当につないでみた。以前、秋月で 1700円で買った CMOS カメラを USB 接続したら、認識した。Synaptic で、cheese をインストすると、ちゃんと見れるのだが、明るすぎたり暗すぎたりと露出が悪い。この後も、露出には苦労させられた。左の写真が悪いのも、そのせいだ。これはカメラが古いためか、ドライバが悪いのか判らないが、もし新規に買うなら UVC対応のものにした方が無難だろう。

次に ARToolKitをインスト。これは、【拡張現実AR】 ARToolKitをインストール:Ubuntu編の通りにやれば、上手く行く。

さて、これだけじゃ立方体しか表示できず、つまらないので 「ARToolKitで初音ミク」をやってみようを参考に、立体フィギュアに挑戦した。
ただし、ここから先は基本的にWindows用のプログラムなので、多少変更が必要だ。

まず、 工学ナビ - 「攻殻機動隊」「電脳コイル」の世界を実現! - ARToolKitを使った拡張現実感プログラミングから、sample_GL.zip sample_AR.zip sample_AR_lite.zip の3つのファイルをダウンロードする。これらのファイルがプログラムの本体だが、Windows用なので変更が必要だった。
変更点は大したことは無かったのだが、パッチpatch.txtを作っておいた。

$ cd ~/ARToolKit  :ARToolKit をインストした場所に移動
$ unzip sample_GL.zip
$ unzip sample_AR.zip
$ unzip sample_AR_lite.zip
$ patch -p1 <patch.txt

パッチをあてたら、各ディレクトリに入って、make だけでサンプルプログラムが作られる。sample_GL は、メタセコイア形式のモデルを表示するだけの単なる OpenGL プログラムだが、sample_AR と sample_AR_lite は AR でメタセコイア形式のモデルを使うサンプルだ。二つは内部形式が違うが、使用方法は全く同じである。

サンプルプログラムにはトボケた忍者のモデルが付いているが、もうちょっと可愛いモデルが良いので、日曜モデリング--メタセコイアで遊ぼう 初音ミク から mikumikoto.zip をダウンロード。

ダウンロードしたファイルだと、テクスチャファイルが対応して居らず、真っ白のフィギュアしか表示されない。そこで、メタセコイア公式ページ から、フリー版 mqle24.exe をダウンロード

$ wine mqle24.exe

とやって、Ubuntu の wine 上にメタセコイアをインストしてしまう。

mikumikoto.zip の解凍したファイルの中のpngを全て、gimp を使って bmp 形式にしておいてから、メタセコイアで、mikumikoto.mqo を開き、テクスチャを全てpngファイルからbmpに修正し、セーブする。

先ほどの sample_AR や sample_AR_lite のソースコードに mikumikoto.mqo のファイル名を書き込むところを判りやすいようにコメントアウトしておいたから、そこを修正し、make しなおす。 sample_AR や sample_AR_lite のディレクトリに修正した mikumikoto.mqo とbmp テクスチャファイルを入れておけば、 sample_AR 等から読み出すことができる。

ただし、これだと、初音ミクは案山子のようなポーズのままだ。

CypherS TufT から、Mikoto をダウンロード。ただし、この Mikoto は、wine で動かなかった。ここまで Ubuntu だけで頑張ったのだが、仕方がないので Mikoto の作業だけは、Windows 上で行う。

Mikoto でポーズを変えるが、変更したファイルが上手くセーブできない。どうも、顔の部分の目とか口の部分に不要な面が追加されてしまい、のっぺらぼうになる。 最初の写真も、残念ながら 初音ミク の顔はアップに耐えられない。
だれか、Mikoto でポーズを修正したモデルの正しいセーブ方法教えて!


さて、 sample_AR や sample_AR_lite のソースコードを眺めていたら、「もう 10年若かったら、拡張現実 AR 上でポリゴンモデルを自由に動かすことくらいプログラミングしてたなあ・・」って、気がしてきた。実際、それに近いものを作った事もあったし。

いやそれどころか、Mikoto の置き場所になっていた CypherS TufT の ほしさんって以前からの知り合いだぞ。いやはや、世の中狭い。

| | Comments (3) | TrackBack (0)

« February 2009 | Main | April 2009 »