GPUMD分子动力学模拟-学习与实践
【20220813-樊哲勇 |基于GPUMD程序包的机器学习势和分子动力学模拟】 https://www.bilibili.com/video/BV1cd4y1Z7zi?share_source=copy_web
纯GPU下的MD分子模型系统软件
https://github.com/brucefan1983/GPUMD
跟GPUMD对接的一些python程序
https://github.com/AlexGabourie/gpyumd gpyumd是一个用于GPUMD的 Python3 接口。它帮助用户根据GPUMD 文档提供的详细信息生成输入和处理输出文件。
https://github.com/bigd4/PyNEP
PyNEP是GPUMD中使用的机器学习势NEP的 Python 接口。
特征:
- ase NEP 计算器
- 原子的描述符和潜在描述符计算
- GPUMD 数据集的加载和转储
- NEP的phonopy计算(需要phonopy和spglib)
- 结构选择
- 最远点采样
《CUDA编程》书配套代码
https://github.com/brucefan1983/CUDA-Programming
用 pyCUDA 实现《CUDA编程》书中的范例
由琪同学正在用 pyCUDA 实现《CUDA编程》书中的范例,见如下仓库:
https://github.com/YouQixiaowu/CUDA-Programming-with-Python
软件包下载以及库安装
下载如下四个软件包
# !git clone https://github.com/bigd4/PyNEP
# !git clone https://github.com/brucefan1983/GPUMD
# !git clone https://github.com/brucefan1983/CUDA-Programming
# !git clone https://github.com/YouQixiaowu/CUDA-Programming-with-Python
正克隆到 'CUDA-Programming-with-Python'...
remote: Enumerating objects: 291, done.[K
remote: Total 291 (delta 0), reused 0 (delta 0), pack-reused 291[K
接收对象中: 100% (291/291), 1.64 MiB | 981.00 KiB/s, 完成.
处理 delta 中: 100% (126/126), 完成.
检查连接... 完成。
安装相关库
# pycuda安装耗时很长,总计需要145秒
!pip install pybind11 spglib phonopy pycuda
# 用时14秒
!pip install -r PyNEP/requirements.txt -q
安装PyNEP
# !git clone --recursive https://github.com/bigd4/PyNEP.git
# 安装后需要“重启内核”
!cd PyNEP && python setup.py install
PyNEP学习
from ase.build import bulk
atoms = bulk('C', 'diamond', cubic=True)# calculate energy and forces
from pynep.calculate import NEP
calc = NEP('PyNEP/examples/C_2022_NEP3.txt')
atoms = bulk('C', 'diamond', cubic=True)
atoms.set_calculator(calc)
energy = atoms.get_potential_energy()
forces = atoms.get_forces()
stress = atoms.get_stress() # stress in ase is different from virial in GPUMD# calculate descriptors and latent descriptors
des = calc.get_property('descriptor', atoms)
lat = calc.get_property('latent', atoms)# load and dump GPUMD data
from pynep.io import load_nep, dump_nep
dump_nep('C.in', [atoms])
atoms = load_nep('C.in')[0]# calculate band strucuture, dos and thermal properties (need spglib and phonopy)
from pynep.phono import PhonoCalc
phono_calc = PhonoCalc(calc)
phono_calc.calculate(atoms)
Calculating force constants...
Calculating band structure...
Calculating total dos...
Calculating partial dos...
Calculating thermal properties...
Calculating ZPE...Atoms(symbols='C8', pbc=True, cell=[3.57, 3.57, 3.57], calculator=SinglePointCalculator(...))
GPUMD学习
fcp 电位检测
!cd GPUMD/examples/fcp_potentials/check_force && /home/aistudio/GPUMD/src/gpumd
***************************************************************
* Welcome to use GPUMD *
* (Graphics Processing Units Molecular Dynamics) *
* Version 3.4 *
* This is the gpumd executable *
***************************************************************---------------------------------------------------------------
Compiling options:
---------------------------------------------------------------DEBUG is off: Use different PRNG seeds for different runs.---------------------------------------------------------------
GPU information:
---------------------------------------------------------------number of GPUs = 1
Device id: 0Device name: Tesla V100-SXM2-32GBCompute capability: 7.0Amount of global memory: 31.7485 GBNumber of SMs: 80---------------------------------------------------------------
Started running GPUMD.
------------------------------------------------------------------------------------------------------------------------------
Started initializing positions and related parameters.
---------------------------------------------------------------Number of atoms is 108.
Use triclinic box.
Use periodic boundary conditions along x.
Use periodic boundary conditions along y.
Use periodic boundary conditions along z.
Box matrix h = [a, b, c] is1.2150000000e+01 0.0000000000e+00 0.0000000000e+000.0000000000e+00 1.2150000000e+01 0.0000000000e+000.0000000000e+00 0.0000000000e+00 1.2150000000e+01
Inverse box matrix g = inv(h) is8.2304526749e-02 0.0000000000e+00 0.0000000000e+000.0000000000e+00 8.2304526749e-02 0.0000000000e+000.0000000000e+00 0.0000000000e+00 8.2304526749e-02
Do not specify initial velocities here.
Have 1 grouping method(s).
There are 108 groups of atoms in grouping method 0.1 atoms in group 0.1 atoms in group 1.1 atoms in group 2.1 atoms in group 3.1 atoms in group 4.1 atoms in group 5.1 atoms in group 6.1 atoms in group 7.1 atoms in group 8.1 atoms in group 9.1 atoms in group 10.1 atoms in group 11.1 atoms in group 12.1 atoms in group 13.1 atoms in group 14.1 atoms in group 15.1 atoms in group 16.1 atoms in group 17.1 atoms in group 18.1 atoms in group 19.1 atoms in group 20.1 atoms in group 21.1 atoms in group 22.1 atoms in group 23.1 atoms in group 24.1 atoms in group 25.1 atoms in group 26.1 atoms in group 27.1 atoms in group 28.1 atoms in group 29.1 atoms in group 30.1 atoms in group 31.1 atoms in group 32.1 atoms in group 33.1 atoms in group 34.1 atoms in group 35.1 atoms in group 36.1 atoms in group 37.1 atoms in group 38.1 atoms in group 39.1 atoms in group 40.1 atoms in group 41.1 atoms in group 42.1 atoms in group 43.1 atoms in group 44.1 atoms in group 45.1 atoms in group 46.1 atoms in group 47.1 atoms in group 48.1 atoms in group 49.1 atoms in group 50.1 atoms in group 51.1 atoms in group 52.1 atoms in group 53.1 atoms in group 54.1 atoms in group 55.1 atoms in group 56.1 atoms in group 57.1 atoms in group 58.1 atoms in group 59.1 atoms in group 60.1 atoms in group 61.1 atoms in group 62.1 atoms in group 63.1 atoms in group 64.1 atoms in group 65.1 atoms in group 66.1 atoms in group 67.1 atoms in group 68.1 atoms in group 69.1 atoms in group 70.1 atoms in group 71.1 atoms in group 72.1 atoms in group 73.1 atoms in group 74.1 atoms in group 75.1 atoms in group 76.1 atoms in group 77.1 atoms in group 78.1 atoms in group 79.1 atoms in group 80.1 atoms in group 81.1 atoms in group 82.1 atoms in group 83.1 atoms in group 84.1 atoms in group 85.1 atoms in group 86.1 atoms in group 87.1 atoms in group 88.1 atoms in group 89.1 atoms in group 90.1 atoms in group 91.1 atoms in group 92.1 atoms in group 93.1 atoms in group 94.1 atoms in group 95.1 atoms in group 96.1 atoms in group 97.1 atoms in group 98.1 atoms in group 99.1 atoms in group 100.1 atoms in group 101.1 atoms in group 102.1 atoms in group 103.1 atoms in group 104.1 atoms in group 105.1 atoms in group 106.1 atoms in group 107.
There is only one atom type.108 atoms of type 0.---------------------------------------------------------------
Finished initializing positions and related parameters.
------------------------------------------------------------------------------------------------------------------------------
Started executing the commands in run.in.
---------------------------------------------------------------Use the force constant potential.up to order-6.and compute heat current up to order-2.Use the force constant data in ../../../potentials/fcp/Al.Data in r0.in have been read in.Reading data from ../../../potentials/fcp/Al/fcs_order2.inReading data from ../../../potentials/fcp/Al/clusters_order2.inReading data from ../../../potentials/fcp/Al/fcs_order3.inReading data from ../../../potentials/fcp/Al/clusters_order3.inReading data from ../../../potentials/fcp/Al/fcs_order4.inReading data from ../../../potentials/fcp/Al/clusters_order4.inReading data from ../../../potentials/fcp/Al/fcs_order5.inReading data from ../../../potentials/fcp/Al/clusters_order5.inReading data from ../../../potentials/fcp/Al/fcs_order6.inReading data from ../../../potentials/fcp/Al/clusters_order6.inapplies to atoms [0, 108) from type 0 to type 0.
Initialized velocities with T = 1 K.
Use NVE ensemble for this run.
Time step for this run is 0 fs.
Dump force.every 1 steps.
Run 1 steps.1 steps completed.---------------------------------------------------------------
Time used for this run = 0.016468 second.
Speed of this run = 6558.17 atom*step/second.
------------------------------------------------------------------------------------------------------------------------------
Finished executing the commands in run.in.
------------------------------------------------------------------------------------------------------------------------------
Time used = 0.312379 s.
------------------------------------------------------------------------------------------------------------------------------
Finished running GPUMD.
---------------------------------------------------------------
NEP电位检测碲化铅训练
# 训练用时425秒!cd GPUMD/examples/nep_potentials/PbTe/train && /home/aistudio/GPUMD/src/nep
***************************************************************
* Welcome to use GPUMD *
* (Graphics Processing Units Molecular Dynamics) *
* Version 3.4 *
* This is the nep executable *
***************************************************************---------------------------------------------------------------
GPU information:
---------------------------------------------------------------number of GPUs = 1
Device id: 0Device name: Tesla V100-SXM2-32GBCompute capability: 7.0Amount of global memory: 31.7485 GBNumber of SMs: 80---------------------------------------------------------------
Started running nep.
------------------------------------------------------------------------------------------------------------------------------
Started reading nep.in.
---------------------------------------------------------------Input or default parameters:(input) use NEP version 3.(input) number of atom types = 2.(default) type 0 (Te with Z = 52) has force weight of 1.(default) type 1 (Pb with Z = 82) has force weight of 1.(default) will not add the ZBL potential.(input) radial cutoff = 8 A.(input) angular cutoff = 4 A.(input) n_max_radial = 4.(input) n_max_angular = 4.(default) basis_size_radial = 8.(default) basis_size_angular = 8.(input) l_max_3body = 4.(input) l_max_4body = 2.(input) l_max_5body = 0.(input) number of neurons = 30.(default) lambda_1 = 0.05.(default) lambda_2 = 0.05.(default) lambda_e = 1.(default) lambda_f = 1.(default) lambda_v = 0.1.(default) force_delta = 0.(input) batch size = 25.(default) population size = 50.(input) maximum number of generations = 10000.
Some calculated parameters:number of radial descriptor components = 5.number of angualr descriptor components = 25.total number of descriptor components = 30.NN architecture = 30-30-1.number of NN parameters to be optimized = 961.number of descriptor parameters to be optimized = 360.total number of parameters to be optimized = 1321.---------------------------------------------------------------
Finished reading nep.in.
------------------------------------------------------------------------------------------------------------------------------
Started reading train.in.
---------------------------------------------------------------Number of configurations = 325.
Number of devices = 1
Number of batches = 13Batch 0:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 74.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 5.Maximum number of neighbors for one atom = 9.
---------------------------------------------------------------Batch 1:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 73.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 4.Maximum number of neighbors for one atom = 10.
---------------------------------------------------------------Batch 2:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 73.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 5.Maximum number of neighbors for one atom = 9.
---------------------------------------------------------------Batch 3:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 72.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 5.Maximum number of neighbors for one atom = 9.
---------------------------------------------------------------Batch 4:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 73.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 4.Maximum number of neighbors for one atom = 9.
---------------------------------------------------------------Batch 5:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 72.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 5.Maximum number of neighbors for one atom = 8.
---------------------------------------------------------------Batch 6:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 73.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 4.Maximum number of neighbors for one atom = 8.
---------------------------------------------------------------Batch 7:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 73.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 5.Maximum number of neighbors for one atom = 8.
---------------------------------------------------------------Batch 8:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 72.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 5.Maximum number of neighbors for one atom = 8.
---------------------------------------------------------------Batch 9:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 57.Maximum number of neighbors for one atom = 74.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 4.Maximum number of neighbors for one atom = 9.
---------------------------------------------------------------Batch 10:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 72.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 4.Maximum number of neighbors for one atom = 9.
---------------------------------------------------------------Batch 11:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 73.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 5.Maximum number of neighbors for one atom = 8.
---------------------------------------------------------------Batch 12:
Number of configurations = 25.---------------------------------------------------------------
Constructing train_set in device 0.
Total number of atoms = 6250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 73.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 5.Maximum number of neighbors for one atom = 8.
------------------------------------------------------------------------------------------------------------------------------
Started reading test.in.
---------------------------------------------------------------Number of configurations = 325.---------------------------------------------------------------
Constructing test_set in device 0.
Total number of atoms = 81250.
Number of atoms in the largest configuration = 250.
Number of configurations having virial = 0.
Radial descriptor with a cutoff of 8 A:Minimum number of neighbors for one atom = 56.Maximum number of neighbors for one atom = 74.
Angular descriptor with a cutoff of 4 A:Minimum number of neighbors for one atom = 4.Maximum number of neighbors for one atom = 10.
------------------------------------------------------------------------------------------------------------------------------
Time used for initialization = 1.004430 s.
------------------------------------------------------------------------------------------------------------------------------
Started training.
---------------------------------------------------------------Step Total-Loss L1Reg-Loss L2Reg-Loss RMSE-E-Train RMSE-F-Train RMSE-V-Train RMSE-E-Test RMSE-F-Test RMSE-V-Test
100 0.07901 0.01401 0.02655 0.00055 0.03790 0.00000 0.00043 0.03604 0.00000
200 0.07733 0.01389 0.02647 0.00043 0.03655 0.00000 0.00041 0.03616 0.00000
300 0.07729 0.01376 0.02641 0.00047 0.03666 0.00000 0.00040 0.03611 0.00000
400 0.08023 0.01371 0.02638 0.00037 0.03977 0.00000 0.00040 0.03611 0.00000
500 0.07376 0.01359 0.02630 0.00032 0.03356 0.00000 0.00040 0.03615 0.00000
600 0.07731 0.01352 0.02624 0.00046 0.03709 0.00000 0.00042 0.03617 0.00000
700 0.07953 0.01346 0.02620 0.00039 0.03947 0.00000 0.00039 0.03620 0.00000
800 0.07668 0.01343 0.02615 0.00033 0.03677 0.00000 0.00040 0.03616 0.00000
900 0.08001 0.01340 0.02612 0.00029 0.04020 0.00000 0.00039 0.03618 0.00000
1000 0.07375 0.01334 0.02608 0.00023 0.03410 0.00000 0.00040 0.03619 0.00000
1100 0.07375 0.01331 0.02603 0.00034 0.03406 0.00000 0.00038 0.03620 0.00000
1200 0.07236 0.01321 0.02599 0.00031 0.03284 0.00000 0.00042 0.03620 0.00000
1300 0.06837 0.01315 0.02594 0.00024 0.02904 0.00000 0.00040 0.03622 0.00000
1400 0.07761 0.01313 0.02590 0.00052 0.03806 0.00000 0.00040 0.03622 0.00000
1500 0.07606 0.01308 0.02588 0.00042 0.03668 0.00000 0.00041 0.03625 0.00000
1600 0.07611 0.01304 0.02584 0.00045 0.03678 0.00000 0.00039 0.03622 0.00000
1700 0.07910 0.01301 0.02580 0.00036 0.03994 0.00000 0.00041 0.03624 0.00000
1800 0.07272 0.01299 0.02576 0.00029 0.03369 0.00000 0.00040 0.03628 0.00000
1900 0.07633 0.01295 0.02572 0.00046 0.03720 0.00000 0.00043 0.03625 0.00000
2000 0.07848 0.01292 0.02568 0.00039 0.03948 0.00000 0.00038 0.03627 0.00000
2100 0.07572 0.01288 0.02564 0.00032 0.03688 0.00000 0.00039 0.03629 0.00000
2200 0.07907 0.01282 0.02560 0.00030 0.04035 0.00000 0.00038 0.03631 0.00000
2300 0.07282 0.01277 0.02556 0.00024 0.03425 0.00000 0.00039 0.03631 0.00000
2400 0.07282 0.01276 0.02552 0.00033 0.03420 0.00000 0.00039 0.03631 0.00000
2500 0.07148 0.01271 0.02548 0.00031 0.03297 0.00000 0.00043 0.03633 0.00000
2600 0.06754 0.01269 0.02544 0.00024 0.02918 0.00000 0.00039 0.03634 0.00000
2700 0.07674 0.01267 0.02541 0.00053 0.03814 0.00000 0.00040 0.03631 0.00000
2800 0.07525 0.01262 0.02537 0.00043 0.03682 0.00000 0.00041 0.03639 0.00000
2900 0.07530 0.01259 0.02535 0.00045 0.03691 0.00000 0.00039 0.03634 0.00000
3000 0.07828 0.01257 0.02530 0.00034 0.04007 0.00000 0.00038 0.03635 0.00000
3100 0.07186 0.01252 0.02528 0.00029 0.03377 0.00000 0.00041 0.03638 0.00000
3200 0.07551 0.01249 0.02524 0.00045 0.03733 0.00000 0.00041 0.03639 0.00000
3300 0.07772 0.01247 0.02521 0.00040 0.03964 0.00000 0.00038 0.03638 0.00000
3400 0.07491 0.01244 0.02517 0.00033 0.03697 0.00000 0.00039 0.03638 0.00000
3500 0.07828 0.01241 0.02512 0.00031 0.04044 0.00000 0.00038 0.03641 0.00000
3600 0.07206 0.01240 0.02509 0.00024 0.03434 0.00000 0.00039 0.03640 0.00000
3700 0.07204 0.01236 0.02506 0.00033 0.03430 0.00000 0.00039 0.03644 0.00000
3800 0.07064 0.01233 0.02502 0.00030 0.03299 0.00000 0.00041 0.03640 0.00000
3900 0.06677 0.01230 0.02500 0.00024 0.02923 0.00000 0.00039 0.03638 0.00000
4000 0.07600 0.01228 0.02496 0.00053 0.03824 0.00000 0.00040 0.03641 0.00000
4100 0.07451 0.01225 0.02493 0.00043 0.03690 0.00000 0.00040 0.03643 0.00000
4200 0.07457 0.01224 0.02490 0.00046 0.03697 0.00000 0.00039 0.03641 0.00000
4300 0.07756 0.01222 0.02489 0.00034 0.04012 0.00000 0.00039 0.03641 0.00000
4400 0.07113 0.01218 0.02485 0.00029 0.03381 0.00000 0.00040 0.03645 0.00000
4500 0.07481 0.01215 0.02481 0.00045 0.03740 0.00000 0.00041 0.03644 0.00000
4600 0.07702 0.01212 0.02479 0.00040 0.03972 0.00000 0.00039 0.03643 0.00000
4700 0.07421 0.01208 0.02475 0.00034 0.03704 0.00000 0.00039 0.03645 0.00000
4800 0.07757 0.01205 0.02471 0.00032 0.04050 0.00000 0.00038 0.03646 0.00000
4900 0.07139 0.01205 0.02470 0.00025 0.03440 0.00000 0.00039 0.03646 0.00000
5000 0.07136 0.01202 0.02467 0.00032 0.03434 0.00000 0.00039 0.03647 0.00000
5100 0.07002 0.01202 0.02464 0.00030 0.03307 0.00000 0.00041 0.03646 0.00000
5200 0.06611 0.01199 0.02461 0.00023 0.02928 0.00000 0.00039 0.03647 0.00000
5300 0.07537 0.01197 0.02458 0.00053 0.03829 0.00000 0.00040 0.03647 0.00000
5400 0.07388 0.01194 0.02454 0.00044 0.03696 0.00000 0.00041 0.03650 0.00000
5500 0.07394 0.01192 0.02452 0.00045 0.03704 0.00000 0.00039 0.03647 0.00000
5600 0.07695 0.01193 0.02450 0.00034 0.04019 0.00000 0.00038 0.03647 0.00000
5700 0.07054 0.01191 0.02447 0.00030 0.03386 0.00000 0.00040 0.03648 0.00000
5800 0.07422 0.01188 0.02442 0.00046 0.03746 0.00000 0.00042 0.03648 0.00000
5900 0.07641 0.01186 0.02440 0.00039 0.03975 0.00000 0.00038 0.03649 0.00000
6000 0.07364 0.01184 0.02437 0.00035 0.03709 0.00000 0.00038 0.03648 0.00000
6100 0.07700 0.01180 0.02434 0.00033 0.04054 0.00000 0.00039 0.03650 0.00000
6200 0.07076 0.01178 0.02432 0.00024 0.03443 0.00000 0.00039 0.03650 0.00000
6300 0.07076 0.01176 0.02429 0.00033 0.03438 0.00000 0.00039 0.03651 0.00000
6400 0.06938 0.01173 0.02425 0.00030 0.03310 0.00000 0.00041 0.03651 0.00000
6500 0.06549 0.01171 0.02424 0.00023 0.02931 0.00000 0.00038 0.03650 0.00000
6600 0.07476 0.01170 0.02420 0.00053 0.03833 0.00000 0.00039 0.03650 0.00000
6700 0.07326 0.01167 0.02417 0.00045 0.03697 0.00000 0.00040 0.03651 0.00000
6800 0.07332 0.01166 0.02414 0.00045 0.03707 0.00000 0.00039 0.03651 0.00000
6900 0.07637 0.01166 0.02411 0.00034 0.04026 0.00000 0.00039 0.03651 0.00000
7000 0.06991 0.01165 0.02408 0.00028 0.03389 0.00000 0.00041 0.03655 0.00000
7100 0.07368 0.01162 0.02407 0.00045 0.03754 0.00000 0.00043 0.03653 0.00000
7200 0.07581 0.01160 0.02404 0.00041 0.03976 0.00000 0.00042 0.03653 0.00000
7300 0.07307 0.01157 0.02400 0.00033 0.03717 0.00000 0.00039 0.03655 0.00000
7400 0.07646 0.01155 0.02397 0.00034 0.04060 0.00000 0.00039 0.03653 0.00000
7500 0.07021 0.01154 0.02394 0.00023 0.03449 0.00000 0.00039 0.03656 0.00000
7600 0.07024 0.01153 0.02392 0.00033 0.03446 0.00000 0.00039 0.03655 0.00000
7700 0.06881 0.01151 0.02389 0.00030 0.03310 0.00000 0.00041 0.03655 0.00000
7800 0.06494 0.01150 0.02387 0.00024 0.02933 0.00000 0.00039 0.03654 0.00000
7900 0.07421 0.01148 0.02384 0.00052 0.03837 0.00000 0.00039 0.03656 0.00000
8000 0.07275 0.01146 0.02382 0.00043 0.03704 0.00000 0.00041 0.03657 0.00000
8100 0.07279 0.01143 0.02378 0.00046 0.03712 0.00000 0.00040 0.03658 0.00000
8200 0.07582 0.01142 0.02375 0.00033 0.04031 0.00000 0.00039 0.03657 0.00000
8300 0.06936 0.01139 0.02374 0.00029 0.03394 0.00000 0.00040 0.03658 0.00000
8400 0.07312 0.01137 0.02371 0.00045 0.03759 0.00000 0.00043 0.03656 0.00000
8500 0.07526 0.01136 0.02369 0.00040 0.03981 0.00000 0.00038 0.03659 0.00000
8600 0.07253 0.01135 0.02366 0.00034 0.03718 0.00000 0.00041 0.03658 0.00000
8700 0.07591 0.01135 0.02364 0.00032 0.04060 0.00000 0.00039 0.03654 0.00000
8800 0.06965 0.01132 0.02361 0.00023 0.03448 0.00000 0.00039 0.03657 0.00000
8900 0.06971 0.01130 0.02358 0.00032 0.03451 0.00000 0.00038 0.03657 0.00000
9000 0.06829 0.01130 0.02356 0.00030 0.03314 0.00000 0.00040 0.03656 0.00000
9100 0.06436 0.01128 0.02353 0.00023 0.02933 0.00000 0.00039 0.03656 0.00000
9200 0.07365 0.01126 0.02350 0.00052 0.03837 0.00000 0.00039 0.03656 0.00000
9300 0.07220 0.01124 0.02347 0.00044 0.03706 0.00000 0.00041 0.03661 0.00000
9400 0.07224 0.01122 0.02344 0.00045 0.03713 0.00000 0.00039 0.03656 0.00000
9500 0.07527 0.01120 0.02341 0.00035 0.04031 0.00000 0.00040 0.03656 0.00000
9600 0.06881 0.01119 0.02338 0.00030 0.03393 0.00000 0.00040 0.03658 0.00000
9700 0.07255 0.01117 0.02335 0.00044 0.03759 0.00000 0.00042 0.03661 0.00000
9800 0.07473 0.01117 0.02333 0.00041 0.03982 0.00000 0.00040 0.03657 0.00000
9900 0.07196 0.01114 0.02330 0.00035 0.03717 0.00000 0.00038 0.03658 0.00000
10000 0.07541 0.01114 0.02327 0.00034 0.04066 0.00000 0.00039 0.03658 0.00000 ---------------------------------------------------------------
Time used for training = 425.320282 s.
------------------------------------------------------------------------------------------------------------------------------
Finished running nep.
---------------------------------------------------------------
训练输出
9900 0.07196 0.01114 0.02330 0.00035 0.03717 0.00000 0.00038 0.03658 0.00000
10000 0.07541 0.01114 0.02327 0.00034 0.04066 0.00000 0.00039 0.03658 0.00000 ---------------------------------------------------------------
Time used for training = 425.320282 s.
------------------------------------------------------------------------------------------------------------------------------
Finished running nep.
---------------------------------------------------------------
pyCUDA 实现《CUDA编程》
氩(Argon)分子模拟
CUDA-Programming-with-Python/src(CUDA-Programming-with-Python)/13-md/whole-code
# 用时4秒
!cd 'CUDA-Programming-with-Python/src(CUDA-Programming-with-Python)/13-md/whole-code' && python Ar.py
time used for equilibration = 4.015681028366089 s
time used for production = 2.834850788116455 s
Time used for training = 425.320282 s.
Finished running nep.
# pyCUDA 实现《CUDA编程》## 氩(Argon)分子模拟CUDA-Programming-with-Python/src(CUDA-Programming-with-Python)/13-md/whole-code```python
# 用时4秒
!cd 'CUDA-Programming-with-Python/src(CUDA-Programming-with-Python)/13-md/whole-code' && python Ar.py
time used for equilibration = 4.015681028366089 s
time used for production = 2.834850788116455 s