こんな(高性能な)マシン買って何をするのかだって?こんなマシンでさえもQCではオモチャに過ぎないのサ

色々と便利な量子化学計算のソフトが世に出回っている今日この頃ですが、最近人気?のUbuntu上で量子化学計算ソフトの1つであるORCAをどれぐらい簡単に(並列で)走らせることができるか確かめてみようという目的で始まったこの企画、はてさて結果はいかに?

コンピュータの購入

# えー、これが無いことには話にならないので。

本当はRAID0とかしたかったんだけど、店ですぐに買えるのが以下のシステムだったので今回は?これで行きます。グラフィックがNVIDIA GeForce? 9100なのだが、メモリがメインメモリと共有なのがちと残念なところ。

HP Pavilion PC p6320y
 CPU: AMD Phenom II X4 820 / 2.8GHz
 MEM: 8 GB (2GBx4, 1333MHz DDR3 SDRAM, PC3-10666)
 HDD: 1TB, 7200rpm
 OS : WIndows 7 Home Premium (64bit)

# 購入価格は2010/2月下旬で約70000円なり。消費電力はアイドル時で75W、4CPU@100%時155W(HDDはほとんど稼動していない状況)でした。

Ubuntu Desktop 9.10 (karmic) 64bitのインストールなど

# ORCAはバイナリとして提供されており、OpenMPI等を使った並列計算は
# Linuxのみで提供されている。のでUbuntuをインストールしようってわけ。
# Ubuntu好きなもんで。
# そうそう、始める前にWindowsのRestore DVDを忘れずに作っておこう!

こことかが参考になるかと: https://wiki.ubuntulinux.jp/UbuntuTips/Install/InstallDualBoot

今回インストールするUbuntuはDesktop 9.10 (karmic) 64bit。インストール自体は簡単だったけど、Windowsも残しておきたいので :p、1つだけ注意しなければならない点が。それは、HDDのパーティションをどう分けるかということです。インストール時に訊かれるインストール先の領域の設定画面で、「手動で設定する」を選び、Ubuntu用のパーティションとスワップ用のパーティションを確保します。今回は以下のように設定しました。

 /dev/sda
 - /dev/sda1 (System, 105MB)
 - /dev/sda2 (HP, 451GB)
 - /dev/sda5 (/, 500GB)
 - /dev/sda6 (swap, 8GB)
 - /dev/sda4 (Factory_image, 12GB)

"/"と"swap"がUbuntuのための領域とスワップ領域になります。最終設定画面で、右下の拡張(だったかな?)で、UbuntuのブートローダGRUBを上書きするのを忘れずに。

以上でとりあえずUbuntuのデスクトップ画面が拝めるのですが、量子化学計算以前の問題が幾つかありました...。それは画面の解像度で、利用できるモニタの解像度がなんとXGAしかないという...。色々ネットを調べてみると、まだ一般的な解法が無い様子(初心者がつまずくUbuntu: 10の問題点)。

例えば: https://forums.ubuntulinux.jp/viewtopic.php?id=2221

幸い、NVIDIAの場合はEnvyNGというソフトをインストールすることにより、無事適切に設定することができます。EnvyNGは、Synapticパッケージマネージャから簡単にインストールすることができます(envyng-qt)。インストールできたらEnvyNGを起動して適切なドライバをインストールさせて、再起動、システム>システム管理>NVIDIA X Server Settingから設定することができます。

# もし、コンピュータがファイヤーウォール内にあるのであれば、
# 少なくともHTTPプロキシをUbuntuが利用するよう設定する必要がある。
# それは、システム>システム管理>ネットワークのプロキシで。
# あと言語(日本語)も追加する必要がある(だったかな?)
# もしそうなら、システム>システム管理>言語サポートで。

ORCA 2.7.0(pre 2.8.0)を動かす前に

# 10.04 LTS (Lucid)からOpenMPI 1.4.1が利用できるようになったようです!(May22,10追記)

実は、Ubuntu 9.10で標準のSynapticでインストールできるOpenMPIは1.3.2であるという罠が存在します。1.3.2は最新の1.4.1と比較してプロセス間の通信が不安定になるという問題が報告されています。ORCA 2.8.0(pre)では、1.3.2でもとりあえず使用できますが、やはり意図せず終了するといったことがありました(確認済み)。なのでやはり入れましょう。ちょっと面倒ですが。

まずOpenMPI公式ページでOpenMPI 1.4.1のソースコードを入手します: http://www.open-mpi.org/software/ompi/v1.4/

そして、適当な場所に展開します(ここでは/home/your-name/openmpi-1.4.1):

$ tar xvzf openmpi-1.4.1.tar.gz

で、

$ ./configure

すればOpenMPIライブラリのビルドの準備が整うわけですが、もしあなたのシステムで、

which c++
which g++

とした時に適切なパスが返ってこなければSynapticパッケージマネージャで、

g++
g++-4.4

をシステムにインストールしてから、./configureしてください。もし問題を特定するために、例えば:

$ ./configure > c.out 2>&1

とするとよいでしょう。問題なければ、

$ sudo make all install

します(sudoは忘れないように)。この後、/etc/ld.so.confにOpenMPIライブラリへのパスを以下のように追加します:

/usr/local/lib
/usr/local/lib/openmpi

そして忘れずに、ldconfigを実行してシステムに反映させましょう。これでOpenMPI 1.4.1のインストール完了です。

ORCA 2.7.0(pre 2.8.0)を動かしてみよう!

やっとここまできました。あとは簡単です。まずORCA公式サイトからAMD用のバイナリ(orca_amd64_exe_2.7.0.tbz)を入手して、お好みの場所に展開(tar xvjf)してください(ここでは/home/your-name/orca1730): http://www.thch.uni-bonn.de/tc/orca/

その後に、~/.bashrcに

PATH="$PATH":/home/your-name/orca1730

を追加しておきます。これですべての準備が整いました!いよいよORCAの実行です。適当な入力ファイルを作成し(ここではtest.orca)、ターミナル上で以下のように実行させます:

$ /home/your-name/orca1730/orca test.orca > test.orca.out&

どうでしょうか?あとは、目的の系を計算するだけです。

# ってそれが難しいんだつーの orz
# それは、以下のようなORCAの出力メッセージでも存分に味わえる :p

the calculation is a CASSCF calculation -I'm leaving here GOOD LUCK!!!

ではここいらで: I'm also leaving here GOOD LUCK!!!

gOpenMol?も入れて計算結果を可視化する

# Ubuntu 10.10ではデフォルトではlib32がインストールされないので自前でia32-libsを入れること。さもないと、bin/tclshがない、とか、gopenmol: no such file or directoryとかで停まってしまう。(これはAMD系の話?なのでIntel系はどうするのだ?)(Oct. 26,10追記)

ORCAの計算結果を手っ取り早く可視化するには、ORCAのマニュアルでも説明があるように、gOpenMol 3.00 (Date: 23.09.2005)を使用するのがよい。公式サイトからLinux用のgopenmol-3.00-linux.tar.gzを入手し、公式サイトの"Installation of gOpenMol?"の通りに従って展開し、./installする。その後、binディレクトリの"rungOpenMol?"スクリプトを実行すればよい。

$ ./rungOpenMol

# えー./install後はgOpenMol?関連のディレクトリの名前を変えないように。

Wineを導入してWinmostarを使う

まず、Synapticパッケージマネージャで"wine1.2"を導入します。そうするとアプリケーションメニューに"Wine"という項目が表示され、例えばNotepadなんかが起動できるようになりますが、日本語フォントが正常に表示されません。そこでUbuntu 9.04 に Wine をインストールの方法に従い:

$ ln -s /usr/share/fonts/truetype/sazanami/sazanami-mincho.ttf ~/.wine/drive_c/windows/Fonts/

とすると、正常に表示されるようになります。ゴシックをお好みの場合は、Synapticパッケージマネージャで"ttf-sazanami-gothic"を導入して同様にするとよいでしょう。

で、Winmostar公式ページからバイナリインストールファイルを入手しまして、そうですね、デスクトップからダブルクリック(!)で実行。何も問題なければ、すんなりとWinmostarが起動します!(当方Winmostar 3.80fで確認しました)

# これはびっくりしました。隔世の感が...。インストール後にWinmostar.lnkがデスクトップに置かれるのには笑ってしまった。

winmostar.png

小技

スワップ領域は、ORCAの総メモリ使用量が実メモリを超えるような時に使用されますが、場合によってはスワップ領域は一切つかって欲しくない計算もあるかと。そんなときには:

$ sudo swapoff -a

でスワップ領域を一時的に無効にすることができます。復活させるには:

$ sudo swapon -a

で。再起動しても無効にしておきたい場合、/etc/fstabを編集する必要があります。

/dev/hda3     swap            swap    defaults        0 0

というような項目がfstab内にあるのでこれを削除すればOK(もしくはコメントアウトか)。これの意味については、/etc/fstabに記述されている数字の意味@ITが参考になります。

さて、Ubuntuにも慣れてくると、GUI環境ではなくCUI環境でORCAを走らせたいと思うようになるかもしれません(できるだけメモリとCPUをORCAのために使いたいとかね)。その場合、ログイン方法の変更はできませんか。@Ubuntu日本語フォーラムが参考になります。具体的には(Ubuntu 9.10以降):

  1. /etc/inittabで"id:3:initdefault:"などと書いて、デフォルトランレベルを3に設定
  2. /etc/init/gdm.confのstop on runlevel行を"stop on runlevel [0136]"に設定
  3. Ctrl + Alt + F1でtty1に切り替え

もしくは:

  1. /etc/rc.local内のexit 0の手前に/etc/init.d/gdm stopを挿入

と書きましたが、今ではGRUBのブートオプションに"text"を追加するのが好ましいとされているようで。/etc/default/grub内で、GRUB_CMDLINE_LINUX_DEFALUT="quiet splash text"とする様子。10.04LTSにてservice gdm stopでフリーズしてしまう@Ubuntu日本語フォーラムが参考になるかと。

Counter: 1154, today: 1, yesterday: 4

添付ファイル: filewinmostar.png 350件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Mon, 14 Feb 2011 06:29:49 JST (348d)