Skip to content

Releases: deepmodeling/deepmd-kit

v2.2.0-beta.0

19 Dec 09:23
89d0d23
Compare
Choose a tag to compare
v2.2.0-beta.0 Pre-release
Pre-release

New features

Enhancements

Python

  • dp test output files: energy per atom, virial per atom by @likefallwind in #2029
  • log HIP_VISIBLE_DEVICES for ROCm by @njzjz in #2032
  • move run_config.ini into the root directory by @njzjz in #2098
  • skip get_gpus subprocess when TF is cpu only by @njzjz in #2135
  • add Optional to type hints when default is None by @njzjz in #2139
  • optimize FioBin.save by @njzjz in #2143
  • open the graph file only once in compress by @njzjz in #2144
  • refactor enable_compression by @njzjz in #2147
  • store energy bias with interface precision by @njzjz in #2174

Core

  • dynamically load CUDA runtime library by @njzjz in #2082

C++

  • uncouple model precision and interface precision by @njzjz in #2031
  • merge double and float cc library by @njzjz in #2033
  • add shuffle_exclude_empty to DeepPot.compute(nlist, atomic) by @njzjz in #2111

OP

LAMMPS

  • lmp: throw errors when 6-element atomic virial requested by @njzjz in #1983
  • enable ttm without a patch by @njzjz in #2055
  • bump lammps to stable_23Jun2022_update2 by @njzjz in #2053

Build and release

  • CMake
    • use CPP_CXX_ABI for Python libraries by @njzjz in #1960
    • find protobuf headers in an automatic way by @njzjz in #1975
    • search TF deps from LD_LIBRARY_PATH; eliminate errors by @njzjz in #1976
    • CMake config
    • refactor USE_TF_PYTHON_LIBS by @njzjz in #2177
    • add an option to enable native compilation optimization by @njzjz in #2151
  • Python and wheel building
    • migrate cibuildwheel configs to pyproject.toml and add tests by @njzjz in #2000
    • migrate from setup.cfg to pyproject.toml by @njzjz in #2011
    • migrate to PEP 517 and PEP 621 by @njzjz in #2035
    • store TF version in the wheel's extras_require by @njzjz in #2084
    • fix win64 builds and add win64 wheels by @njzjz in #2085
    • enable CUDA for linux-64 wheels by @njzjz in #2087
    • add macos-64 wheels by @njzjz in #2088
    • pin manylinux image to a specific tag for GCC 11 by @njzjz in #2137
    • retag wheels to py37-none-<platform> by @njzjz in #2180
    • build wheels for Linux ARM64 by @njzjz in #2179
    • pip install lammps module by @njzjz in #2186
  • build_tf.py
    • build_tf.py: support ROCm; bump to TF 2.10 by @njzjz in #2030
    • build_tf.py: export LD_LIBRARY_PATH when executing configure by @njzjz in #2185
  • build, package, and release C library by @njzjz in #2072
  • perceive LAMMPS version for built-in mode by @njzjz in #1950

Test

Code cleanup

Documents

Bug fixings

Read more

v2.1.5

23 Sep 08:10
6e3d4a6
Compare
Choose a tag to compare

New features:

Enhancements:

  • remove white space from train_attr/training_script (#1870)
  • replace FastGFile with GFile. FastGFile throws a deprecated warning. (#1874)
  • docs: make warnings more prominent (#1879)
  • add examples to cli help (#1887)
  • remove get_platform in setup.py (#1897)
  • bump to C++ 17 for TF 2.10 (#1898)
  • compare converted lr with almost equal (#1901)
  • add tutorial and publication links to docs (#1904)
  • LAMMPS: Use of “override” instead of “virtual” (#1915)
  • highlight LAMMPS codes in doc (#1921)

Bug fixings:

  • support initilize parameters from a fitting with suffix (#1885)
  • fix DeprecationWarning of imp (#1896)
  • find protobuf headers from extra paths (#1910)
  • Fix bugs when init_frz_model using tebd. (#1891)
  • Use GeluCustom as operator name (#1918)
  • handle float point error in sys_probs (#1919)
  • fix model conversion of 0.12 (#1941)

v2.1.4

19 Aug 04:11
c393392
Compare
Choose a tag to compare

Enhancements:

  • add core api docs (#1800)
  • add op docs (#1804)
  • There's no need for building libtensorflow_cc.so anymore (#1744)
  • improve conda installation in the documentation (#1808)
  • merge CMake test codes via add_subdirectory (#1814)
  • avoid multiple sessions in DeepEval (#1829)
  • bump default lammps version to stable_23Jun2022_update1 (#1847)
  • error if LAMMPS_VERSION_NUMBER is not defined (#1849)
  • add variant info to output message (#1851)
  • generate author list from git (#1854)
  • lammps plugin: replace v2.0 with actual version (#1863)

Bug fixings:

  • fix OMP bugs in prod_force and prod_virial triggered when the cell is smaller than 2rc. (revert prod_force OMP in #1360) (#1862)
  • fix typo in hip assert error message (#1802)
  • fix memory leaking of GraphDef (#1811)
  • add the missing sstream header (#1817)
  • fix grappler compilation error with TF 1.15 (#1821)
  • docs: fix shape of virial (#1824)
  • fix build and running issues on Windows (#1830)
  • comment unused session in DPTabulate (#1834)
  • fix deprecated bare pair_coeff (#1838)

v2.1.3

01 Jul 01:56
5a32c49
Compare
Choose a tag to compare

New features:

  • Non-von-Neumann training of DP models. (#1707)

Enhancements

  • remove dependency of TF headers from C++ public headers (#1789)
  • use lru_cache for DeepEval (#1790)
  • support custom gelu implementation (#1795)
  • support optional gitee gtest download (#1793)

Bug fixings:

  • bump manylinux image to 2_24; add error message when TF_CXX11_ABI_FLAG is 1 (#1796)

v2.1.2

26 Jun 06:49
03c8742
Compare
Choose a tag to compare

New features:

  • supports dp convert-from 0.12 (#1685)
  • add enable_atom_ener_coeff option for energy loss (#1743)

Enhancements:

  • change default NN precision from float64 to default (#1644)
  • update TF installation doc (#1652)
  • migrate test_cc from conda to docker (#1650)
  • use float constants and functions in float functions (#1647)
  • convert tabulate data from np.ndarray to tf.Tensor (#1657)
  • reset the graph before freezing the compressed model (#1658)
  • add free_energy to ase calculator (#1667)
  • rewrite data doc (#1668)
  • migrate sphinx mathjax from jsdelivr to cdnjs (#1669)
  • Documentation improvements (#1673)
  • doc: add information abotu supported versions of dependencies (#1683)
  • doc: add Interfaces out of DeePMD-kit (#1691)
  • optimize format_nlist_i_cpu (#1717)
  • use net-wise tabulate range (#1665)
  • implement parallelism for neighbor stat (#1624)
  • render equations in markdown files (#1721)
  • update the latest state of easy installation (#1726)
  • throw warning in C++ if env is not set (#1728)
  • in model_devi, assumes nopbc if box is set to None (#1704)
  • add Loss abstract class (#1733)
  • prevent from linking TF lib when determining TF version (#1734)
  • Automatically label new pull requests based on the paths of files being changed (#1738)
  • replace GPU 1./sqrt with rsqrt (#1741)
  • add DPRc docs (#1750)
  • docs: switch to dargs directive (#1753)
  • docs: fix emoji in PDF (#1754)
  • add a script to build TF C++ library from source (#1755)
  • add auto cli docs (#1751)
  • search TF from user site-packages (#1764)
  • build_tf.py: expose CC and CXX env to bazel (#1766)
  • docs: add links to parameter keys (#1767)
  • add argument tests to check examples (#1770)
  • reduce training steps in tests (#1771)
  • deprecated docstring_parameter; use sphinx rst_epilog instead (#1783)
  • remove run_doxygen from sphinx conf.py (#1785)
  • bump LAMMPS version to stable_23Jun2022 (#1779)

Bug fixings:

  • fix variable declaration error (#1651)
  • fix bug of aparam size, should be nlocal_real (#1664)
  • fix rcut in hybrid model compression (#1663)
  • provide valid_data the same type_map as train_data (#1677)
  • deepmodeling.org -> deepmodeling.com (#1678)
  • fix compress training (#1680)
  • fix bug of model compression training with se_e2_r type descriptor (#1686)
  • fix typos in doc (#1687)
  • fix grappler compilation error with TF 1.15 ~ 2.6 (#1697)
  • set default fparam and aparam stat and recover from graph (#1695)
  • fix git permission issue (#1716)
  • fix tf_cxx_abi in TF 2.9 (#1723)
  • correct type behavior when atomic energy is requested (#1727)
  • prevent explicit slash in the path (#1713)
  • avoid static CUDA linking (#1731)
  • fix finding TF 2.9 ABI (#1736)
  • using int64 within the memory allocation operations (#1737)
  • fix typos in docs and docstrings (#1752)
  • set a proper std when there is no atoms in the data (#1765)
  • bump manylinux image to 2014 (#1780)
  • add init.py to deepmd/train/ (#1784)
  • docs: fix arg reference (#1786)

v2.1.1

16 Apr 03:14
c4f0cec
Compare
Choose a tag to compare

New features:

  • support type_one_side along with exclude_types (#1423)
  • support adjust sel of frozen models (#1573 #1574 )
  • support dp convert-from 1.1 (#1587)
  • support dp convert-from 1.0 (#1597)
  • add atom energy bias to type embedding energy (#1592 #1606 )
  • add another way to load LAMMPS plugins (#1604)

Enhancement:

  • add the deepmodeling banner to doc (#1529)
  • bump default LAMMPS version to stable_29Sep2021_update3 (#1596)
  • compile CUDA code for all archs (#1595 #1598 )
  • follow API changes from latest LAMMPS (#1601)
  • add kspace pppm/dplr to lmp plugin library (#1603)
  • add a graph optimizer to parallelize prod_force_a_cpu (#1429 #1638 )
  • refactor init_variable and support type embedding (#1610)
  • optimize dplr data modifier (#1615)
  • add system names to model devi header (#1618)
  • add tips for easy installation (#1634)
  • add the order of box.raw in data-conv.md (#1635)

Bug fixings:

  • fix the name of deeptensor/atom and dplr plugin (#1548)
  • fix macos library name (#1566)
  • fix model compression bug of nan output (#1575)
  • fix lammps plugin creator pointer (#1602)
  • fix the bug introduced by lammps PR #2481 (#1605)
  • update compress cli input file (#1633)
  • correct the forward communication at ik differentiation mode in pppm_dplr (#1637)
  • Fix compilation error and bug in UT in the ROCm environment (#1628)

v2.1.0

07 Mar 03:46
3e54fea
Compare
Choose a tag to compare

New feature:

  • Model compression for se_3, se_r descriptors. Energy and tensor models (#1225 #1228 #1361 )
  • Add init-frz-model support for se-t type descriptor (#1245)
  • Added all activation functions for model compression. (#1283)
  • Update guidelines for the number of threads (#1291)
  • Enable mixed precision support for deepmd-kit (#1285 #1471 )
  • Unify C++ errors and pass message to LAMMPS (#1326)
  • Optimize DPTabulate._build_lower method (#1323)
  • Calculate neighbor statistics from CLI (#1476)
  • Add an interface to eval descriptors (#1483)

Enhancement:

  • deprecate numb_test in the training script (#1249)
  • Accelerate model compression (#1274)
  • Use c++14 for TF 2.7 (#1275)
  • Add a citation badge (#1280)
  • Add embedding network dimension check of model compression (#1303)
  • Provide an option to skip neighbor stat (#1313)
  • Add an error message to compress/freeze (#1319)
  • Redirect print_summary to LAMMPS log (#1324)
  • Enable OpenMP for prod_force and prod_virial (#1360)
  • Update issue templates (#1368)
  • Bump LAMMPS version to stable_29Sep2021_update2 (#1279)
  • Remove api_cc/include/custom_op.h (#1405)
  • Introduce TensorFlow Profiler (#1414)
  • Only test/eval fitting properties during training (#1416 #1419 )
  • Remove the dependency on inputs from inputs_zero (#1417)
  • Support recursive detection for the systems of model_devi (#1424)
  • Enable TF remapper optimizer (#1418)
  • Dynamically load op library in C++ interface (#1384)
  • Dplr doc and examples (#1458)
  • Bump the Python version to 3.10 (#1465)
  • Do some small optimization to ops (avoid concat or add in loops. Instead, append tensors to a list, and concat or accumulate_n after loops) (#943)
  • Optimizations related to data statistics
    • Skip data_stat in init_from_model and restart mode (#1463)
    • Assign energy shift stats if atomic energies are assigned (#1477)
    • Recover input stats from frozen models (#1482)
  • Test: move loading graphs to setUpClass to accelerate tests (#1484)
  • Run test_python in the pre-built container (#1487)

Bug fixings:

  • Update and fix typos in doc (#1238 #1239 #1328 #1300 #1445 #1490 #1497 #1504 #1503 #1514 )
  • Fix compress training bug within the dp train --init-frz-model interface (#1233)
  • Fix Python bugs of loc_frame descriptor (#1253)
  • Fix bug of loc_frame descriptor when using lammps (#1255)
  • Fix single precision error (#1212)
  • Fix the np.frombuffer in dp transfer (#1246)
  • Fix SyntaxWarning in graph.py (#1278)
  • Change googletest from master to main (#1292)
  • update_deepmd_input when compress (#1297 #1301 )
  • Add importlib_metadata as dependency (#1308)
  • Fix bugs about parameters of memset (#1302)
  • Fix model compression bug when fparam or aparam is not zero (#1306)
  • Add space between words in messages (#1312)
  • Do not print virial error with nopbc data (#1314)
  • Fix test errors with TensorFlow 2.7 (#1315)
  • Fix bug of hip model compression (#1325)
  • Prevents rcut_smth larger than rcut (#1354)
  • Fix cell and virial transpose bug in dp_ipi (#1353)
  • Fix bug in DipoleFittingSeA: (#1363)
  • Fix cxx standard for LAMMPS (#1379)
  • Explicitly set neighbor request to full in compute deeptensor/atom to fix bug #1381 (#1382)
  • Fix NameError (#1385)
  • Fix network precision under specific situation (#1391 #1394 )
  • Initialize input virial vector to zero (#1397)
  • Make OpenMP an optional dependency (#1498)
  • Fix nvcc warning when using cuda-11.x toolkit (#1401)
  • Add UT for se_3 type descriptor (#1404)
  • Fix github git url (#1409)
  • Fix gelu grad multi definitions error (#1406)
  • Fix cast_precision breaking docstring (#1437)
  • Add image link of ROCm version. (#1432)
  • Pass integer zero to memset (#1499)

Manual (PDF·Epub)

v2.0.3

15 Oct 02:34
159e45d
Compare
Choose a tag to compare

Enhancements

  • bump default LAMMPS version to stable_29Sep2021 (#1176)
  • improved documentation (#1184 #1191)

Bug fixings

  • add start_pref_pf and limit_pref_pf to loss Argument (#1200)
  • Fix the bug when type_map has only one element (#1196)
  • failure of hybrid descriptor (#1214)
  • fix single precision error in the model compression (#1212)

Download manual

v2.0.2

29 Sep 08:54
5a84796
Compare
Choose a tag to compare

New features:

  • support the plugin for GROMACS (#1160 #1169 )
  • support the init-frz-model option for se_r and se_t (#1144)
  • support data in hdf5 format (#1163)
  • automatic batch size for the inference of DP (#1165 #1154 #1173 )
  • Allow to scale LR in parallel training in different ways. (#1167)

Enhancement for developers:

Bug fixings:

  • explicitly set lammps' neighbor request to full to fix bug #1109
  • Add init-frz-model command support to the frozen model generated by this command (#1137)
  • Add error message for repeated model compression (#1136)
  • doc related improvements and bug fixings (#1141 #1131 #1147 #1156 #1153 #1171 )
  • Fix freezing error on checkpoint from parallel training. (#1166)

v2.0.1

10 Sep 14:29
2f6020b
Compare
Choose a tag to compare

New features:

  • correct heat flux calculation: interface for deepmd with the centroids atoms, full 3x3 "atomic-virial" (#1093).
  • Enable init-frz-model support for the original model (#1102 #1107 )
  • support init-frz-model for hybrid descriptor (#1112)

Enhancements:

  • use np.testing.assert_almost_equal for array comparing (#1059)
  • set allow_growth in default_tf_session_config (#1067)
  • Enable parallel training UT in GitHub CI. (#1075)
  • create cross-references in docstring (#1083)
  • add ABC for descriptors (#1081)
  • merge duplicated NeighborStat.get_stat (#1103)

Bug fixings:

  • fix hybrid descriptor training error (#1052)
  • bugs and memory issues in UTs (#1056 #1066 )
  • copy all_virial for float precision (#1069)
  • fix building problem on macos (#1071)
  • use @loader_path on macos instead of $ORIGIN (#1078)
  • Revert "get library extension suffix from built-in method" #1072
  • undo reset lcurve.out during the model compression process (#1080)
  • fix typo: lcueve.out->lcurve.out (#1077)
  • create model compression checkpoint, avoid overwriting original checkpoint (#1076)
  • Fix shape mismatch when type_embedding is enabled and type_one_side is disabled (#1074 )
  • reduce rcut and sel in the example of se_e3 (#1082)
  • Fix a potential slice bug in se_t descriptor (#1087)
  • make compress work for hybrid descriptor composed of se_e2_a (#1094)
  • Fix gradient not averaged when parallel training. (#1104)
  • fix bug of single precision model compression (#1110)
  • fix bug of single precision transfer (#1111)
  • fix LAMMPS_VERSION_NUMBER condition (#1116)
  • Fix missing std::numeric_limits (#1113)
  • fix data_modifier OOM problem when set size is too large (#1117)
  • fix bugs of dipole charge modifier: binary str and missing frozen node (#1124 )
  • fix "Call to method DeepTensor.init with too many arguments" (#1125)