Releases: deepmodeling/deepmd-kit
Releases · deepmodeling/deepmd-kit
v2.2.0-beta.0
New features
- support C API by @njzjz in #1098
- add get cutoff, numb_types, and type_map to C API by @njzjz in #2061
- c: support neighbor list input in the C API by @njzjz in #2106
- c: support DeepPot model deviation in the C API by @njzjz in #2112
- c: fix
ComputeNlist
->ComputeNList
in the C API by @njzjz in #2119 - c: fix bug in hpp float interface and add tests by @njzjz in #2128
- c: DeepTensor by @njzjz in #2184
- add a header-only C++ DeepPot class based on C library by @njzjz in #2079
- support the multi-task training api by @iProzd in #2093
- support the finetune api by @iProzd in #1946
- supports left hands volume by @njzjz in #1956
- support bfloat16 by @njzjz in #1970
- support DPRc + type embedding by @njzjz in #2166
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
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, package, and release C library by @njzjz in #2072
- perceive LAMMPS version for built-in mode by @njzjz in #1950
Test
- enable gcov for Python tests by @njzjz in #1969
- add unittests for LAMMPS pair deepmd by @njzjz in #1977
- c++: add clang tests and fix clang errors by @njzjz in #1992
- refactor: merge tests into the main cmake project by @njzjz in #2102
- merge double and float cc tests by @njzjz in #2108
- add ut for dp convert-from by @njzjz in #2175
- speed up the UTs
- CI
Code cleanup
Documents
- docs: document lammps keyword
relative_v
,aparam
, andttm
by @njzjz in #2060 - add dp test help doc by @likefallwind in #2038
- docs: fix HDF5 path by @njzjz in #2076
- docs: document pip install by @njzjz in #2091
- docs: document the conda-forge channel by @njzjz in #2095
- docs: fix spellings and grammars by @njzjz in #2114
- docs: rewrite docs for parallelism by @njzjz in #2099
- docs: add a FAQ about precision by @njzjz in #2115
- docs: add a note about lammps runpath by @njzjz in #2156
- the se-2 descriptor is multi-body by @amcadmus in #2069
- add header only library example by @njzjz in #2083
- Update python.md by @LiangWenshuo1118 in #2158
Bug fixings
- fix gcov coverage by @njzjz in #1951
- Fix typo of radisu by @kmu in #1954
- fix compatible with importlib_metadata 5.0.0 and Python 3.12 by @njzjz in #1961
- fix googletest download by @njzjz in #1949
- fix typo in the doc of
loc_frame
by @amcadmus in #1963 - replace
:
by;
fromLD_LIBRARY_PATH
in cmake by @njzjz in #1982 - CVE-2007-4559 Patch by @TrellixVulnTeam in #1984
- use float/double constants for spline5_switch by @njzjz in #1985
- remove duplicated
convert_13_to_21
by @njzjz in #1986 - resolve macos clang errors by @njzjz in #1993
- fix Findtensorflow when LD_LIBRARY_PATH is empty by @njzjz in #2010
- fix OP_CXX_ABI for TF>=2.9 by @njzjz in #2013
- Fix compatibility with ROCm>=3.5.1; fix typo in hip neighbor_list by @nj...
v2.1.5
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
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
andprod_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
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
New features:
Enhancements:
- change default NN precision from
float64
todefault
(#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
New features:
- support
type_one_side
along withexclude_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
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
andprod_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
frominputs_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
- 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)
v2.0.3
v2.0.2
New features:
- support the plugin for GROMACS (#1160 #1169 )
- support the
init-frz-model
option forse_r
andse_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
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
indefault_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
andsel
in the example ofse_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)