通常の固有値解法

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

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

1 large2_example/C1000.dat Elapsed time(s)= 767.64 diff Utot= 0.000000000560 diff Force= 0.000000006188
2 large2_example/Fe1000.dat Elapsed time(s)= 8427.51 diff Utot= 0.000000006708 diff Force= 0.000000002148
3 large2_example/GRA1024.dat Elapsed time(s)= 1418.26 diff Utot= 0.000000006759 diff Force= 0.000000002854
4 large2_example/Ih-Ice1200.dat Elapsed time(s)= 304.88 diff Utot= 0.000000000209 diff Force= 0.000000000213
5 large2_example/Pt500.dat Elapsed time(s)= 2552.29 diff Utot= 0.000000005013 diff Force= 0.000000000203
6 large2_example/R-TiO2-1050.dat Elapsed time(s)= 1716.23 diff Utot= 0.000000000600 diff Force= 0.000000000200
7 large2_example/Si1000.dat Elapsed time(s)= 814.97 diff Utot= 0.000000001037 diff Force= 0.000000000478

                   Total elapsed time (s) 16001.80

これら全ての計算において、各原子の基底関数には価電子基底関数を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 46 16 13000
2 large2_example/Fe1000.dat 343 16 13000
3 large2_example/GRA1024.dat 67 15 13312
4 large2_example/Ih-Ice1200.dat 32 6 9200
5 large2_example/Pt500.dat 190 16 12500
6 large2_example/R-TiO2-1050.dat 65 31 15750
7 large2_example/Si1000.dat 46 16 13000

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

2017-03-07