Kayatsuri Blog

09/12/2008

GAMESS

Filed under: がん・創薬 — 蚊帳吊りウサギ @ 09:07 pm

s-p1250077.jpg

さて、並列計算のその後ですが、いろいろとGAMESSのマニュアルを読んで、並列計算の際のメモリの割あて方を調べてゆくと、MWORDで規定されるreplicated dataとMEMDDIで規定されるdistributed dataを、実装メモリの量と照らし合わせて適当な値に設定すれば、私のパソコンでもかなりのレベルの計算が実行できるらしいことがわかってきました。約400原子、20フラグメントほどの規模のMP2、6-31G**(3周期のの原子には3df)、FMO一点エネルギー計算がCPUタイム、20時間くらいで終了します。正直、感動しました。

で、もう少し大きな規模の計算を、もう少し速く 、、、というわけで、たいした考えもなく、先日帰国した時に、梅田のヨドバシカメラで、1GBのSDRAMを二枚買ってきまして、マザーボードリミットの4GBまで、RAMを増設してみました。ところで、やってしまってから気づいたことですが、32ビット版のXPが扱える理論上の最大メモリ量は4GBなんですね。2の32乗ということなんでしょうけど。で、パソコンを起動して、セットアップで物理メモリ量を確認すると、確かに4GBになっています。しかし、ウィンドウズ起動後にタスクマネジャで調べてみると、3.25GBまでしか認識されていません。どうもこれは、ウィンドウズの限界のようで、グラフィクスやらシステム関連のなにやらにメモリを食われて、4GB全部を使うことはできないようなのです。

さらに調べてゆくと、ウィンドウズというのは、デフォルトでは、ユーザとシステムに仮想メモリ領域を2GBづつ割り付ける、つまり、普通は実装4GBから3GB程度まで目減りしたメモリのうちの、たった2GBしかアプリケーション用に割り当てられないというこのなのです。え~、そんなバカな。これじゃあ、詐欺みたいな話です。しかし、なんのこれしき。さらに調べてみると、これを回避する方法がないわけではなくて、boot.iniを編集して、/3GBスイッチを入れておけば、ユーザ3GB、システム1GBの比で、メモリを割り付けることが出来るんだそうです。結局、私は、/3GBスイッチに加えて、/userva=2900を指定して、メモリ領域の比を2.9:1.1としました。

でもねえ、なんだか変なんですよねえ。計算が走っているときに、タスクマネジャでじっくり観察していると、物理メモリ3405920KBに対して、使用可能メモリが2835000KB、これではほとんど全部あまっています。実際に使われているのは、数百MBくらいでしょうか。でも、コミットチャージを見ると、しっかり7GBを越えています。それもそのはず、ページファイル(PF、仮想メモリ)が7.02GBも使われているんです。まあ、そもそも、PFをこれくらい大きくとらないと、ジョブが走らないのですが。なんで、こうなるんだろう?

写真は、トミーのコンサートのあった、JounalTyneTheater の桟敷席を見上げたところ。

1 Comment »

  1. そのまた、その後ですが、もう、32ビットウィンドウズには見切りをつけました。わかったことは以下の2点。

    CygwinでコンパイルしたGAMESSはCygwinのメモリ制限を受けるので、レジストリを編集して、Cygwinへのメモリの割り付け量をふやしておかねばならない。

    /3GBスイッチで有効になったメモリは、自動的にアプリケーションにあたえららるわけではないので、GAMESSには、別途、LaaTiDo (http://www.musikbanken.se/laatidosetup.exe)を使って、バイナリレベルでLargeAddressAwareのフラッグを立てておかねばならない。

    それでも、やっぱりメモリが足らんのだよなあ。というわけで、現在、64ビットFedoraとXPのデュアルプート環境の構築中です。やっぱり、GAMESSはUNIXで、ということか。

    Comment by 蚊帳吊りウサギ — 21/12/2008 @ 04:19 pm

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress