2010年9月30日木曜日

Intel Compilerって速いはずじゃ…?

以前に東大のHA8000を使ってOpenFOAMを回している話を書きましたが,そのときの素朴な感想として,東大のスーパーコンピュータだからもっと圧倒的に速くてもいいんじゃないのかな,と思っていました.
本当にこれが実力なのか? 設定が悪いせいで,HA8000の実力を引き出せていないないのではないか?

OpenFOAMは並列化にMPIを使っているので,共有メモリ型のマシン向きとは言えません.また,コンパイルに用いたIntel Compilerの最適化方法もよく分かっていませんでした.

そこで,まずはIntel CompilerとGccとでどのぐらいの性能差があるのか試してみようと思い,Intel CompilerとIntel MPIを使ったOpenFOAM-1.7.0のバイナリを作り,うちの研究室にあるCore i7マシンを使って計算してみました.

最適化オプションには”-m64 -ipo -O3 -no-prec-div -xSSE4.2”を指定しました.マニュアルとネット情報を頼りに,まともなものを指定したつもりです.
比較対象は,バイナリ配布のOpenFOAM-1.6(OpenMPI使用)と,Gcc-4.3でコンパイルしたOpenFOAM-1.7.0(Intel MPI使用)です.

その結果が左上のグラフです.
たいして差がないじゃないか!? これは意外でした.

今回はひとつのマシン(4コア)で並列計算したので,OpenMPIとIntel MPIで差がほとんどないのは理解できます.(それでも速くなってくれることを期待していましたが.)
しかしIntel Compilerでコンパイルしたバイナリは速いだろうと想像していました.1~3割速くなるというネット情報もありました.Gcc-4.5以降は最適化がかなり改善されたという情報もあったのですが,今回使ったGcc-4.3との比較では,Intel Compilerが水をあけてくれることを期待していました.

しかし実際にやってみると,わずかな差ではありますが,Gcc-4.3でコンパイルしたものが最も速い.
うーんなぜだろう.Gccが優秀だということでしょうか.それとも差が出にくいコードだということでしょうか.

こうなるとGcc-4.5でコンパイルしたものを試したいのですが,今のところできていません.

最適化オプションをいろいろ試す余裕はないのですが,たとえばIPO(手続きをまたがった最適化)のオプションをつけると,コンパイル時間が長くなる割りには計算時間にほとんど差がなかった.ですからこれ以上がんばっても得られるものは少ないように感じています.

いまやっている計算方法が,最適ではないにしても,最適に近い方法だということでしょうか? それならそれでいいのですが,何となく釈然としない.もっといい方法はないのかなぁ.

2010年9月29日水曜日

フードシステムソリューション2010



研究を受託している会社がフードシステムソリューション2010という展示会に出展したので,23日にそれを見学に行きました.

これまでも何度か展示会に行っていますが,食品産業関連の展示会ははじめてです.
試食コーナーなどでちゃっかり楽しんできました.米粉のパンはおいしかったな.

2010年9月28日火曜日

仕事用PCがおかしくなった.その原因は…


職場で使っているPCの調子が,少し前から悪くなっていました.

ここ1,2ヶ月ほど,Firefoxがしょっちゅう落ちるなぁと感じていましたが,ブルースクリーンに落ちたり,Firefox以外のソフトが落ちるようになったり,ついには起動しなくなったりしました.

いまにして思えば,こういう症状だとある程度まで原因が想像できたかと思いますが,ここのところディスクトラブルが続いたので,まずディスクから疑いはじめました.
Windows XPの「エラーチェック」ではディスクエラーが出なかったのですが,Windowsのインストールディスクから回復コンソールを起動してCHKDSKをかけると,こちらはエラーになります.やっぱりディスクのせいか(とそのときは思った).

起動ディスクを交換して,フォーマットして,Windows XP SP3を再インストールすると,

…再インストールできない!?
ファイルのコピーの途中で,エラーになります.

これはおかしいと思い,ほかのハードディスクに交換しても,だいたい同じところでエラーに.
Windows XP SP2のディスクを引っ張り出してきてインストールしても,やはりエラーに.
まさかCDドライブがおかしいのか? と思ってこれを交換しても,やっぱりエラーに.
??? なぜ?

ネットで調べるまで,こういうことがメモリの故障で起こりうる,ということを知りませんでした.
UbuntuのインストールCDに入っているmemtest86+をかけてみたところ,画面が真っ赤に.
2本指しているメモリのうち,1本が壊れていました.

元のハードディスクに戻し,メモリを1本だけにして起動したところ,今度はあっさり起動.
メモリのエラーに気づく前にいろいろいじったせいで,復旧に時間がかかりましたが,何とか元の状態まで戻すことができました.

起動しなくなってから復旧させるまでに,丸一日かかりました.メモリだと最初に気づけば1時間以内に何とかできたはずで,無駄に迷走しましたね.ノートPCを使ったり,合間に授業や業務打ち合わせをやったりしたので,全く仕事しなかったわけではないのですが.

教訓:PCがおかしくなったら,メモリテストをかけよう.

2010年9月27日月曜日

卒論発表会9月編

9月18日に,久しぶりの研究室内卒論発表会が開かれました.

今年は卒論生が多いので,朝の9時20分から夕方までです.
さすがに5月,7月に比べると多くの学生の研究も進んでいて,なかなかおもしろかったです.(もちろんそうでない学生もいて,どやしたりもしましたが….)

2010年9月26日日曜日

日本丸のステンドグラス

日本丸を見学したときの写真です.幹部用の食堂の天井(だったはず)にあるステンドグラスです.

天井の写真で,真下には入れなかったので,窓の下まで手を伸ばして撮りました.うまく写っているかな.

2010年9月25日土曜日

潜水・浮上メカの実験

魚ロボット班の卒論生は,9月のはじめの2週間,海技研でもの作りの実習をさせてもらいました.

金野は学会だの授業だの停電復旧だので,ほとんど関わることができませんでしたが,2週目の木曜日に成果を見せてもらいに行きました.

左の写真は,鈴木君が作った潜水・浮上メカの,木曜日の段階での写真です.水の中をゆっくり浮上しているとき,だったかと思います.
この写真ではよく分かりませんが,箱の下に鈴木君が設計・製作した潜水・浮上メカが仕込まれていて,水の中を上下運動します.

この2日後に卒論発表会があったのですが,そのときにはさらに改良されていました.

鈴木君以外の学生さんもよく頑張ってくれていたようで,研究が進んでいました.今後が楽しみです.

2010年9月24日金曜日

停電対応に苦しめられる

先日,うちの大学で計画停電があり,そのあといろいろトラブルがあって,苦しめられました.

今年の夏は暑かったからでしょうか?
  • サーバのハードディスクが1個いかれた.
  • ハードディスクを交換しても,サーバが数回フリーズした.
  • 別のファイルサーバが,やっぱりディスクエラーで上がらなかった.
停電の日の夜中に大学に行き,復旧作業をしたのですが,上記のトラブルがでて困り果てました.その日のうちにはすべては対応できず.

でも,おかしかったサーバ2つとも,その後はエラーなく動いています.あのエラーはなんだったんだ…??

今年はトラブルの多い年で,対応に四苦八苦しています.