GaussianのBasis Function数と必要メモリの関係
こんにちは。TSテクノロジーです。
Gaussianで計算用PCを選ぶ際、CPUのコア数と同じくらい重要なのがメモリ容量です。
その計算規模を判断する指標の一つが、Gaussianの出力に表示されるBasis Function数(NBasis)です。
Basis Function数とメモリ
Gaussianの資料では、閉殻系のin-core SCFについて、必要なメモリ量を概ね次の式で見積もることができます。
$$
M \approx \frac{N^4}{8} + 500{,}000
$$
ここで、
- $N$:Basis Function数
- $M$:必要メモリ(8-byte word)
です。
この式で重要なのは、
$$
\boxed{M \propto N^4}
$$
という点です。
つまり、Basis Function数が増えると、必要メモリは急激に増加します。
例えばBasis Function数が2倍になると、
$$
\frac{(2N)^4}{N^4}=16
$$
となり、必要メモリは約16倍になります。
実際に計算してみる
例えば、Basis Function数が500の場合、
$$
M\approx\frac{500^4}{8}+500{,}000
$$
となります。
8-byte wordをバイト数に換算すると、約62.5 GB(約58.2 GiB)となります。
さらにBasis Function数が1,000になると、
$$
M\approx\frac{1000^4}{8}+500{,}000
$$
となり、約1.0 TB(約931 GiB)となります。
Gaussianの資料では、Basis Function数に応じたメモリ規模について、100~300の例が示されています。また、500および1,000については、同じ式から計算すると以下のようになります。
| Basis Function数 | メモリ規模 |
|---|---|
| 100 | 約100 MB |
| 200 | 約1.6 GB |
| 300 | 約8.1 GB |
| 500 | 約62.5 GB(約58.2 GiB) |
| 1,000 | 約1.0 TB(約931 GiB) |
※100~300はGaussian資料に示されている具体例。
※500および1,000は、同じ式から算出した値。
このように、Basis Function数が増えると、in-core SCFで必要となるメモリは急激に増加します。
通常のGaussian計算では?
ここで注意したいのは、上記の値がすべてのGaussian計算に必要なRAM容量ではないということです。
これは、必要なデータをメモリ上に保持するin-core SCFを前提とした理論的なメモリ規模です。
通常のGaussian計算では、計算手法やアルゴリズムによって必要なメモリ量は異なります。
そのため、
「NBasisが1,000なら、Gaussianに1 TBのRAMが必須」
という意味ではありません。
NBasisは、Gaussianの計算規模や必要な計算資源を考える際の一つの目安として捉えることが重要です。
まとめ
Gaussianのin-core SCFでは、Basis Function数 $N$ に対して必要メモリが概ね
$$
\boxed{M\propto N^4}
$$
で増加します。
Basis Function数が2倍になると、必要メモリは約16倍です。
そのため、Gaussianの計算規模を考える際には、原子数だけでなく、実際に使用するBasis SetによってBasis Function数がいくつになるのかを確認することが重要です。
Basis Function数は、Gaussianの計算資源を考えるうえで重要な指標の一つです。
お問い合わせ
量子化学計算、分子シミュレーション、計算科学に関する技術的なご相談や受託解析のご依頼がございましたら、お気軽にお問い合わせください。
計算条件の検討、結果の解釈、反応機構解析、材料開発・創薬研究への活用など、幅広くサポートいたします。