GPUMD分子动力学模拟-学习与实践

news2024/9/22 11:23:00

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:                   0
    Device name:             Tesla V100-SXM2-32GB
    Compute capability:      7.0
    Amount of global memory: 31.7485 GB
    Number 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] is
    1.2150000000e+01    0.0000000000e+00    0.0000000000e+00
    0.0000000000e+00    1.2150000000e+01    0.0000000000e+00
    0.0000000000e+00    0.0000000000e+00    1.2150000000e+01
Inverse box matrix g = inv(h) is
    8.2304526749e-02    0.0000000000e+00    0.0000000000e+00
    0.0000000000e+00    8.2304526749e-02    0.0000000000e+00
    0.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.in
    Reading data from ../../../potentials/fcp/Al/clusters_order2.in
    Reading data from ../../../potentials/fcp/Al/fcs_order3.in
    Reading data from ../../../potentials/fcp/Al/clusters_order3.in
    Reading data from ../../../potentials/fcp/Al/fcs_order4.in
    Reading data from ../../../potentials/fcp/Al/clusters_order4.in
    Reading data from ../../../potentials/fcp/Al/fcs_order5.in
    Reading data from ../../../potentials/fcp/Al/clusters_order5.in
    Reading data from ../../../potentials/fcp/Al/fcs_order6.in
    Reading data from ../../../potentials/fcp/Al/clusters_order6.in
    applies 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:                   0
    Device name:             Tesla V100-SXM2-32GB
    Compute capability:      7.0
    Amount of global memory: 31.7485 GB
    Number 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 = 13

Batch 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1381302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

绘制几何图形(Shape)

目录 1、创建绘制组件 2、形状视口viewport 3、自定义样式 4、场景示例 绘制组件用于在页面绘制图形,Shape组件是绘制组件的父组件,父组件中会描述所有绘制组件均支持的通用属性。具体用法请参考Shape。 1、创建绘制组件 绘制组件可以由以下两种形式…

Servlet-Request

一、预览 在上一篇Servlet体系结构中,我们初步了解了怎么快速本篇将介绍Servlet中请求Request的相关内容,包括Request的体系结构,Request常用API。 二、Request体系结构 我们注意到我们定义的Servlet类若实现Servlet接口时,请求…

第十七周周报

文章目录 摘要目标检测锚框交并比NMS 非极大值抑制输出 文献阅读:SMPL: A Skinned Multi-Person Linear ModelIntroductionRelated WorkModel FormulationTraining评估动态SMPL讨论结论 总结 摘要 本周看了三维人体重建的领域,看了一篇SMPL的文章&#…

C++算法学习心得五.二叉树(4)

1.二叉搜索树中的插入操作(701题) 题目描述:给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意…

Go 知多少?

作为一名已接触过其他语言的开发,再去学习一门新语言可比之前轻松不少, 语言之间存在很多相似点,但是新语言也有自己的不同点,通常我会先了解它与其他语言常遇到的不同点有哪些, 使自己先能够上手编写基础程序&#…

【LabVIEW FPGA入门】LabVIEW FPGA实现I2S解码器

该示例演示了如何使用 LabVIEW FPGA 解码 IS 信号。该代码可用于大多数支持高速数字输入的LabVIEW FPGA 目标(例如R 系列、CompactRIO)。IS 用于对系统和组件内的数字音频数据进行编码。例如,MP3 播放器或 DVD 播放器内部的数字音频通常使用 …

【b站咸虾米】新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握

课程地址:【新课uniapp零基础入门到项目打包(微信小程序/H5/vue/安卓apk)全掌握】 https://www.bilibili.com/video/BV1mT411K7nW/?p12&share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 三、vue语法 继续回到官…

飞桨分子动力学模拟-论文复现第六期:复现TorchMD

飞桨分子动力学模拟-论文复现第六期:复现TorchMD Paddle for MD 飞桨分子动力学模拟科学计算 复现论文-TorchMD: A deep learning framework for molecular simulations 本项目可在AIStudio一键运行:飞桨分子动力学模拟PaddleMD-复现TorchMD 【论文复…

浅析三种Anaconda虚拟环境创建方式和第三方包的安装

目录 引言 一、Anaconda虚拟环境创建方式 1. 使用conda命令创建虚拟环境 2. 使用conda-forge创建虚拟环境 3. 使用Miniconda创建虚拟环境 二、第三方包的安装和管理 1. 使用 pip 安装包: 2. 使用 conda 安装包: 三、结论与建议 引言 在当今的数…

Ceph入门到精通-通过 CloudBerry Explorer 管理对象bucket

简介 CloudBerry Explorer 是一款可用于管理对象存储(Cloud Object Storage,COS)的客户端工具。通过 CloudBerry Explorer 可实现将 COS 挂载在 Windows 等操作系统上,方便用户访问、移动和管理 COS 文件。 支持系统 支持 Wind…

【ceph】在虚拟环境中需要给osd所在的虚拟盘扩容操作

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…

力扣每日一练(24-1-13)

如果用列表生成式,可以满足输出的型式,但是不满足题意: nums[:] [i for i in nums if i ! val]return len(nums) 题意要求是: 你需要原地修改数组,并且只使用O(1)的额外空间。这意味着我们不能创建新的列表&#xff…

2024年 13款 Linux 最强视频播放器

Linux视频播放器选择多样,如榛名、MPlayer、VLC等,功能强大、支持多格式,满足各类用户需求 Linux有许多非常强大的播放器,与windows最强视频播放器相比,几乎丝毫不逊色! 一、榛名视频播放器 榛名视频播放…

Java副本的概念

在Java中,"副本"(copy)一词可以用于描述不同的概念,具体取决于上下文。以下是两个常见的用法: 对象的副本:在Java中,当你创建一个对象并将其赋值给另一个变量时,实际上是创…

遥感影像-语义分割数据集:高分卫星-云数据集详细介绍及训练样本处理流程

原始数据集详情 简介:该云数据集包括RGB三通道的高分辨率图像,包含高分一、高分二及宽幅数据集。 KeyValue卫星类型高分系列覆盖区域未知场景未知分辨率1m、2m、8m数量12000单张尺寸1024*1024原始影像位深8位标签图片位深8位原始影像通道数三通道标签图…

Nightingale 夜莺监控系统 - 部署篇(1)

Author:rab 官方文档:https://flashcat.cloud/docs 目录 一、概述二、架构2.1 中心机房架构2.2 边缘下沉式混杂架构 三、环境四、部署4.1 中心机房架构部署4.1.1 MySQL4.1.2 Redis4.1.3 Prometheus4.1.4 n9e4.1.5 Categraf4.1.6 验证4.1.7 配置数据源 4…

突然又对 Go 感兴趣,GOPATH entry cannot start with shell metacharacter 错误

打发无聊时间,水文一篇~ 事情是这样的,因为我们上架的渠道包基本是定制化混淆出包, 混淆出包有一个关键点就是指定映射文件,映射文件的内容有一部分是使用外部工具在打包前按照一定规律随机生成包名、类名&#xff0c…

flutter使用get库管理路由,并设页面跳转动画和常见动画

get库还是非常强大的一个仓库,里面包含了非常常用的一些方法,比如路由管理,这是最常见和最常用的一个功能了,我们可以先配置一个路由对象,然后在里面配置路由列表,并且设置路由跳转方式。 第一种方式&…

vue3-计算属性

计算属性 模板中的表达式虽然方便&#xff0c;但也只能用来做简单的操作。如果在模板中写太多逻辑&#xff0c;会让模板变得臃肿&#xff0c;难以维护。 根据作者今年是否看过书展示不同信息 <script lang"ts" setup> import { ref, reactive } from "…

java实现局域网内视频投屏播放(五)视频搜索和投屏自动切换下一个

代码链接 这次对ui做了一些调整&#xff0c;整体分成了5个类别分别为 搜索设备播放任务已下载视频列表视频搜索下载任务列表 视频搜索 搜索 点击搜索后&#xff0c;会从执行所有VideoResolver实现类的search方法&#xff0c;将搜索到的结果汇总到一起&#xff0c;根据视频的…