next up previous contents index
Next: O()法と通常の固有値解法の組み合わせ Up: 大規模計算 Previous: 大規模計算   Contents   Index

通常の固有値解法

数百個のプロセッサコアが利用可能であれば、通常の対角化法で1000原子から構成される系の構造最適化が可能です。 1000原子系のベンチマーク計算は次のように「runtestL2」によって実行できます。

     % mpirun -np 128 openmx -runtestL2 -nt 4
  
OpenMXは7個のテスト計算を実行し、計算結果を「work/large2_example」に保存されている参照データと比較します。 以下に示すのは、Xeonクラスター計算機で640個のMPIプロセスと1個のOpenMPスレッドを用いて実行した「runtestL2」の結果です。

1 large2_example/C1000.dat Elapsed time(s)= 777.60 diff Utot= 0.000000007341 diff Force= 0.000000008795
2 large2_example/Fe1000.dat Elapsed time(s)= 8181.70 diff Utot= 0.000000002241 diff Force= 0.000000011061
3 large2_example/GRA1024.dat Elapsed time(s)= 927.20 diff Utot= 0.000000012903 diff Force= 0.000000004981
4 large2_example/Ih-Ice1200.dat Elapsed time(s)= 445.88 diff Utot= 0.000000000216 diff Force= 0.000000001451
5 large2_example/Pt500.dat Elapsed time(s)= 2629.20 diff Utot= 0.000000015832 diff Force= 0.000000001879
6 large2_example/R-TiO2-1050.dat Elapsed time(s)= 844.58 diff Utot= 0.000000002263 diff Force= 0.000000001108
7 large2_example/Si1000.dat Elapsed time(s)= 658.53 diff Utot= 0.000000000404 diff Force= 0.000000000908

                                                                   Total elapsed time (s) 14464.69

これら全ての計算において、各原子の基底関数には価電子基底関数を2つ、分極基底関数を1つを割り当てていますので、 十分な精度を持った計算となっています。「Pt500.dat」を除く、他の全ての系は1000原子以上から構成されています。 ここでファイル名の最後の数字はそれぞれの系に含まれる原子数を示しています。 上記の表に示された1 MDステップ当たりの経過時間は30分程度です。 従って、数百個のプロセッサコアが利用可能であれば1000原子から構成される系の構造最適化が 可能であることが分かります。 この計算に用いた入力ファイルと出力ファイルはディレクトリ「work/large2_example」に保存されています。 出力ファイルから得られた情報に基づき、1 SCFステップ当たりの経過時間をまとめたものを以下に示します。

No. Input file SCF steps Elapsed time(s/SCF/spin) Dimension
1 large2_example/C1000.dat 53 14.7 13000
2 large2_example/Fe1000.dat 408 10.0 13000
3 large2_example/GRA1024.dat 72 12.9 13312
4 large2_example/Ih-Ice1200.dat 57 7.8 9200
5 large2_example/Pt500.dat 161 16.3 12500
6 large2_example/R-TiO2-1050.dat 38 22.2 15750
7 large2_example/Si1000.dat 45 14.6 13000

Kohn-Shamハミルトニアンの次元は10000のオーダで、SCFステップ当たりの所要時間は全ての系に対して15秒程度です。 全所要時間の差は、主にSCF反復回数の差から生じていることが分かります。


next up previous contents index
Next: O()法と通常の固有値解法の組み合わせ Up: 大規模計算 Previous: 大規模計算   Contents   Index