Skip to content

v2.2.0

Compare
Choose a tag to compare
@amcadmus amcadmus released this 14 Mar 16:31
· 1095 commits to master since this release
6cdc5bf

Caution

Known critical issues in this version

  • Frozen models cannot be used in molecular dynamics.
  • Incorrect results from se_e3 compressed model.
  • Incorrect results from DPLR training.

We suggest all users use a newer version. See #2866 for more information.

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
    • c: add DipoleChargeModifier by @njzjz in #2204
    • merge print_summary and add it to C API by @njzjz in #2207
    • support multiple frames DeepPot in C/hpp API by @njzjz in #2309
    • support exceptions in C/hpp APIs by @njzjz in #2344
  • 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
  • support the custom training times for each frame by @njzjz in #2208
  • support init_frz_model api for multi model by @iProzd in #2206
  • support sharing fitting network parameters by @njzjz in #2211
  • support dp test with a .txt file specifying the test data dirs by @HuangJiameng in #2235
  • support DeepEval.eval_typeebd to get type embedding by @njzjz in #2244
  • assign type map for LAMMPS pair_style deepmd by @njzjz in #2267
  • support restarting from compressed checkpoints by @njzjz in #2253
  • update frame parameter by LAMMPS compute command by @mingzhong15 in #2254
  • nvnmd supports floating point number training and inference by @LiuGroupHNU in #2225
  • support multiple frames inference with C++ DeepPot by @njzjz in #2305
  • Implementation of se_a_mask op by @dingye18 in #2313
  • support exclude_types for se_atten by @njzjz in #2315
  • support mixed numbers of atoms with mixed_type by @njzjz in #2345
  • add C++/C/hpp mixed type inference interface by @njzjz in #2360

Enhancements

Python

Core

C++

  • uncouple model precision and interface precision by @njzjz in #2031
  • merge double and float cc library by @njzjz in #2033

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
  • Change gridcomm into grid3d in pppm_dplr.cpp to support LAMMPS after 20221222 by @Yi-FanLi in #2300
  • bump LAMMPS version to stable_23Jun2022_update3 by @njzjz in #2336

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
    • added option to read HIPCC_FLAGS environment variable. by @sigbjobo in #2269
    • fix cmake syntax for USE_TF_PYTHON_LIBS by @njzjz in #2291
    • remove dependencies on _pywrap_tensorflow_internal and libpython for TF 2.12 by @njzjz in #2335
    • improve cxx11 abi flags and messages for Red Hat Developer Toolset by @njzjz in #2363
  • 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
    • pass --prefer-binary to cibuildwheel by @njzjz in #2274
    • package dp_ipi in the PyPI wheels by @njzjz in #2320
  • 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
  • build Docker images for each push by @njzjz in #2324

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
  • Add unit test TestSelectByType by @Yi-FanLi in #2337
  • Add C++ unittests for deepmd::select_map, deepmd::read_file_to_string, and deepmd::deepmd_exception by @Yi-FanLi in #2338
  • always pass the codecov status by @njzjz in #2356
  • set Codecov patch threshold to 100% by @njzjz in #2364
  • Test se_a_ebd to increase test coverage by @kmu in #2353
  • speed up the UTs
  • CI

Code cleanup

Documents

Important bug fixings:

  • Enforce set_davg_zero to be true in se_atten descriptor by @iProzd in #2350

Bug fixings

New Contributors

Full Changelog: v2.1.5...v2.2.0