Skip to content

Releases: deepmodeling/deepmd-kit

v3.2.0b0

06 Jun 21:38
2e3117e

Choose a tag to compare

v3.2.0b0 Pre-release
Pre-release

Highlights

DPA4/SeZM

We are excited to introduce DPA4/SeZM in DeePMD-kit, bringing the next generation of high-accuracy, high-efficiency machine-learning interatomic potentials to the Deep Modeling community.
DPA4 is designed for the era of Large Atomistic Models (LAMs): it pushes the accuracy-cost frontier by combining strong SE(3)-equivariant modeling power with dramatically reduced training cost. Built around an EMFA SO(2)-equivariant convolution, DPA4 uses edge-conditioned low-rank equivariant products, multi-focus nonlinear message updates, and envelope-gated attention to deliver excellent accuracy without relying on oversized models or massive training budgets.
In benchmark results reported in the DPA4 paper, DPA4-Pro achieves the best Combined Performance Score on Matbench Discovery, while compact DPA4 variants outperform much larger baselines with far fewer parameters and substantially lower training compute. On SPICE-MACE-OFF, DPA4 also sets a new accuracy-cost Pareto frontier for molecular energy and force prediction.
image

Highlights

  • New DPA4/SeZM descriptor for the PyTorch backend of DeePMD-kit.
  • State-of-the-art performance on Matbench Discovery and SPICE-MACE-OFF benchmarks.
  • Much lower training cost compared with previous leading equivariant models.
  • Compiler-friendly training path with native support for torch.compile, enabling up to about 3x wall-clock speedup in reported settings.
  • Efficient SO(2)-equivariant design in local edge frames, reducing the cost of equivariant angular computation.
  • Lebedev-grid projection to preserve SO(3) equivariance through nonlinear operations.
  • Native ZBL short-range repulsion support, improving robustness for close-contact and extreme configurations.

DPA4 shows that top-tier accuracy no longer has to come with top-tier compute cost. With this release, DeePMD-kit makes the new DPA4/SeZM architecture available to researchers and developers who want to train accurate, efficient, and physically consistent interatomic potentials for materials, molecules, and future large atomistic model pretraining.
Learn more in the paper: DPA4: Pushing the Accuracy-Cost Frontier of Interatomic Potentials with EMFA SO(2) Convolution.

New features in models and training strategies

  • DPA3 now supports add_chg_spin_ebd, sequential_update, use_default_pf, and decoupling of charge_spin from fparam, improving its handling of charge and spin information.
  • The property fitting network now supports element-type-wise bias.
  • New loss-related features include force L2 norm loss, MAE loss, and support for three-value Huber delta.
  • The PyTorch backend now includes full validation support, including validation on LMDB-format datasets. Training stability and optimization are also improved through the addition of EMA shadow models, the WSD learning-rate scheduler, and updates to the HybridMuon optimizer. LMDB support was added to the pt/dpmodel data pipeline, including a new LMDB dataloader and max/filter modes.

Beta: The exportable PyTorch backend (pt_expt)

An exportable PyTorch backend (pt_expt) is added based on the Array API, torch.export, and torch.compile. The usage of the Array API makes it accessible to almost all models. The old PyTorch backend will be deprecated in the future, since TorchScript has been deprecated by the PyTorch team. Try the new backend using dp --pt-expt train input.json.

The exportable PyTorch backend received a major expansion in this release, covering new model types, training workflows, evaluation interfaces, data handling, and deployment support. It now supports Linear Energy Model, DeepSpin, multi-task training, missing losses for spin/DOS/tensor/property tasks, and new evaluation APIs such as eval_typeebd, eval_descriptor, and eval_fitting_last_layer. The backend also adds support for dp compress, dp finetune, dp change-bias, .pt training checkpoints in DeepEval, LMDB datasets, pluggable neighbor-list strategies, and efficient O(N) vesin neighbor lists for Python/ASE inference. In addition, .pt2 AOTInductor-based C/C++ inference is now available for DPA1/DPA2/DPA3 models, with improved export/loading tests and multi-rank LAMMPS support for GNN models. Together, these changes make pt_expt much closer to a complete experimental PyTorch backend for training, evaluation, deployment, and production MD workflows.

Beta: Model training in the JAX backend

The JAX backend now supports model training. In the previous versions, it only supported inference. Same as the exportable PyTorch backend, the JAX backend is built on the Array API, making it accessible to almost all models. Try JAX training using dp --jax train input.json.

Agent Skills

Official Agent Skills for DeePMD-kit are now available in the skills directory, introduced as part of this work. Installing these skills empowers your agents to seamlessly interact with DeePMD-kit, enabling them to train Deep Potential models and execute molecular dynamics simulations.

What's Changed

Breaking Changes

  • breaking(gmx): remove in-tree GROMACS patch integration by @njzjz-bot in #5377

New Features

Read more

v3.1.3

19 Mar 09:37
b2c8511

Choose a tag to compare

Highlights

This release focuses on two major themes: easier access to pretrained models and the next stage of the PyTorch roadmap. DeePMD-kit can now download built-in pretrained models directly, and the same release series also introduces a new pretrained model, DPA3-Omol-Large, on top of that mechanism. In parallel, we have started building an experimental exportable PyTorch backend based on the Array API, torch.export, and torch.compile, motivated in part by the deprecation of torch.jit.

Beyond these headline items, v3.1.3 expands PyTorch training capabilities with new optimizers and distributed-training support, improves diagnostics and training safety, adds charge-spin and spin-virial related functionality, and continues to strengthen documentation, CI, packaging, and backend consistency across the project.

Try DPA3-Omol-Large in 3 steps:

# Install the latest version of DeePMD-kit (will be available a few days after this release)
curl -fsSL https://dp1s.deepmodeling.com | bash
# Restart the shell, and download the pretrained model
dp pretrained download DPA3-Omol-Large
# Evaluate your training/test data with the pretrained model
dp test -m ~/.cache/deepmd/pretrained/models/DPA3-Omol-Large.pt -s path_to_your_system

Breaking Changes

New Features

Pretrained models and model distribution

Experimental PyTorch backend

  • Add PyTorch support to Array API utilities by @Copilot in #5198
  • Add a new exportable PyTorch backend by @wanghan-iapcm in #5194
  • Provide infrastructure for converting dpmodel classes to PyTorch modules by @wanghan-iapcm in #5204
  • Implement se_t and se_t_tebd descriptors in the experimental PyTorch backend by @wanghan-iapcm in #5208
  • Add energy fitting in the experimental PyTorch backend by @wanghan-iapcm in #5218
  • Add the atomic model in the experimental PyTorch backend by @wanghan-iapcm in #5220
  • Add the full model in the experimental PyTorch backend by @wanghan-iapcm in #5244
  • Auto-generate forward / forward_lower in the torch_module decorator by @Copilot in #5246
  • Add dpa1, dpa2, dpa3, and hybrid descriptors in the experimental PyTorch backend by @wanghan-iapcm in #5248
  • Add DOS, dipole, polar, and property fittings in the experimental PyTorch backend by @wanghan-iapcm in #5254
  • Add dipole, polar, DOS, property, and DP-ZBL models with cross-backend consistency tests by @wanghan-iapcm in #5260
  • Add training infrastructure for the experimental PyTorch backend by @wanghan-iapcm in #5270
  • Implement the .pte inference pipeline with dynamic shapes by @wanghan-iapcm in #5284
  • Implement the energy Hessian model in the experimental PyTorch backend by @wanghan-iapcm in #5287
  • Add DP freeze support and dp test coverage for .pte models by @wanghan-iapcm in #5302
  • Add frozen-model support in the experimental PyTorch backend by @wanghan-iapcm in #5318

PyTorch training, optimization, and scaling

Core functionality and usability

  • Optimize data-modifier calls in deepeval by @ChiahsinChu in #5120
  • Add NaN detection during training by @njzjz in #5135
  • Support Array API learning rates in dpmodel by @njzjz in #5143
  • Reuse dpmodel EnvMatStat in PyTorch by @njzjz in #5139
  • Add device-name display (for example, A100 instead of only cuda) by @OutisLi in #5146
  • Improve capitalization in info display by @OutisLi in #5145
  • Add a Node class for serialization and implement display functionality by @njzjz in #5158
  • Unify learning-rate schedulers with the Array API by @OutisLi in #5154
  • Use data statistics for observed types in PyTorch / dpmodel by @iProzd in #5269
  • Add charge-spin embedding for the DP and PyTorch backends by @iProzd in #5295
  • Add skills for adding new descriptors by @wanghan-iapcm in #5249
  • Add a skill to debug gradient flow in the experimental PyTorch backend by @wanghan-iapcm in #5280

Documentation

Build & Releases

Packaging, dependencies, and release infrastructure

Read more

v3.1.2

12 Dec 10:39
d798b33

Choose a tag to compare

Today marks the 8th birthday of the deepmodeling/deepmd-kit repository!

What's Changed

New features

  • feat(pt): add compression support for se_e3_tebd by @OutisLi in #4992
  • feat: Enhance process_systems to recursively search all paths in systems list by @OutisLi in #5033
  • feat(pt): type embedding can still be compress even if attn_layer != 0 by @OutisLi in #5066
  • feat(pt): Implement type embedding compression for se_atten by @OutisLi in #5057
  • feat(pt): Implement type embedding compression for se_e3_tebd by @OutisLi in #5059
  • feat(pt): Add support for SiLU activation function in gradient calculations by @OutisLi in #5055

Bugfix

  • fix: bump CMake minimum version to 3.25.2 by @Copilot in #5001
  • fix(cmake): improve CUDA C++ standard for compatibility with gcc-14 by @njzjz in #5036
  • fix: optimize atom type mapping by @OutisLi in #5043
  • fix(finetune): calculate fitting stat when using random fitting in finetuning process by @Chengqian-Zhang in #4928
  • fix(stat): Caculate correct fitting stat when using default fparam and using share fitting. by @Chengqian-Zhang in #5038
  • fix: set multiprocessing start method to 'fork' in pt env (since python3.14 defaults to forkserver) by @OutisLi in #5019
  • fix(jax): fix compatibility with flax 0.12 by @njzjz in #5067
  • Fix: model_output_type unify name by @anyangml in #5069
  • fix(pd): adapting code for hardware compatibility by @HydrogenSulfate in #5047

Enhancement

  • build: bump LAMMPS version to stable_22Jul2025_update2 by @Copilot in #5052
  • feat:support CUDA 13.0+ by @OutisLi in #5017
  • perf: accelerate data loading in training by @OutisLi in #5023
  • fix: remove hessian outdef if not necessary by @iProzd in #5045
  • feat: Performance Optimization: Data Loading and Statistics Acceleration by @OutisLi in #5040
  • build(deps-dev): update scikit-build-core requirement from !=0.6.0,<0.11,>=0.5 to >=0.5,!=0.6.0,<0.12 by @dependabot[bot] in #5076

Documentation

CI/CD

  • feat(pt/test): add unit test for the compression of se_e3_tebd by @OutisLi in #5060
  • test(common): add regression for atom type remap by @OutisLi in #5050
  • CI: stop running Horovod tests by @njzjz in #5079
  • build(deps): bump pypa/cibuildwheel from 3.1 to 3.2 by @dependabot[bot] in #4996
  • CI: Replace the macos-13 images with the macos-15-intel images by @njzjz in #5002
  • build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #5011
  • build(deps): bump astral-sh/setup-uv from 6 to 7 by @dependabot[bot] in #5012
  • build(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #5025
  • build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #5026
  • test: add TensorFlow graph reset in teardown method for entrypoint tests and bias standard tests by @OutisLi in #5049
  • feat(test): add unit test for the compression of se_atten by @OutisLi in #5058
  • build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #5063
  • build(deps): bump pypa/cibuildwheel from 3.2 to 3.3 by @dependabot[bot] in #5064
  • chore: manage CI pinnings in pyproject.toml by @njzjz in #5068
  • CI: configure dependabot to bump Python deps by @njzjz in #5072
  • CI: pin cibuildwheel TF/PT deps to global pinnings by @njzjz in #5071
  • CI: free disk in package_c workflow by @njzjz in #5081
  • build(deps-dev): update torch requirement from ~=2.7.0 to >=2.7,<2.9 by @dependabot[bot] in #5075
  • build(deps-dev): update tensorflow-cpu requirement from ~=2.18.0 to >=2.18,<2.21 by @dependabot[bot] in #5074

Full Changelog: v3.1.1...v3.1.2

v3.1.1

30 Sep 18:02
bfa6245

Choose a tag to compare

What's Changed

New features

  • feat(pt): add observed-type option for dp show by @iProzd in #4820
  • feat(pt): add Mean absolute percentage error (MAPE) loss for prop. pred. by @SchrodingersCattt in #4854
  • feat: Add eval-desc CLI command for descriptor evaluation with 3D output format by @Copilot in #4903
  • feat(tf): implement change-bias command by @Copilot in #4927
  • feat: add PyTorch profiler support to LAMMPS MD by @caic99 in #4969
  • pd(feat): support python inference with DP class by @HydrogenSulfate in #4987
  • Feat: support fparam/aparam in dp calculator by @anyangml in #4819
  • pd: support dpa3 dynamic shape for pd backend by @HydrogenSulfate in #4828
  • feat(pt): add hook to last fitting layer output by @iProzd in #4789
  • feat(pd): support dpa2/dpa3 C++ inference by @HydrogenSulfate in #4870
  • feat(pt): support zbl finetune by @iProzd in #4849
  • feat: add yaml input file support by @caic99 in #4894
  • feat(pd): support gradient accumulation by @HydrogenSulfate in #4920
  • feat(pt): add model branch alias by @iProzd in #4883
  • feat: handle masked forces in test by @caic99 in #4893
  • feat: support using train/valid data from input.json for dp test by @caic99 in #4859
  • feat(infer): add get_model method to DeepEval for accessing backend-specific model instances by @Copilot in #4931
  • feat(dp/pt): add default_fparam by @iProzd in #4888
  • feat(pt): implement DeepTensorPT by @Copilot in #4937

Enhancements

  • pd: add flag CINN_ALLOW_DYNAMIC_SHAPE for better performance with dynamic shape by @HydrogenSulfate in #4826
  • refactor(training): Average training loss for smoother and more representative logging by @OutisLi in #4850
  • chore: bump LAMMPS to stable_22Jul2025 by @njzjz in #4861
  • style: add comprehensive type hints to core modules excluding backends and tests by @Copilot in #4936
  • chore(deps): bump LAMMPS to stable_22Jul2025_update1 by @njzjz in #4955
  • perf: use contiguous memory stride for edge/angle indices by @caic99 in #4804
  • pd: support different label_dict in CINN by @HydrogenSulfate in #4795
  • pd: update loc_mapping for dpa3 in paddle backend by @HydrogenSulfate in #4797
  • style: complete type annotation enforcement for deepmd.pt by @Copilot in #4943
  • style(jax): enable ANN rule and add comprehensive type hints to JAX backend by @Copilot in #4967
  • perf: fix cuda-aware mpi in v3 by @caic99 in #4977

Documentation

  • doc: fix inconsistency between the docstring and the implementation of argument auto_batch_size of DeepEval with paddle and pytorch backend by @A-LOST-WAPITI in #4865
  • docs: add docs about LAMMPS D3 dispersion by @njzjz in #4875
  • doc(pd): update paddle installation scripts and paddle related content in dpa3 document by @HydrogenSulfate in #4887
  • docs(lmp): fix the usage of LAMMPS pair_style hybrid/overlay by @njzjz in #4951
  • docs: clarify atomic_dipole meaning for DPLR models by @Copilot in #4979
  • docs: add bfloat16 option to the model precision choice by @caic99 in #4866
  • docs: add comprehensive GitHub Copilot instructions and environment setup by @Copilot in #4911
  • docs: move copilot-instructions.md to AGENTS.md by @Copilot in #4982

Bugfix

  • pd: fix local_rank and in mutlti nodes training by @HydrogenSulfate in #4811
  • fix: fix pytorch in the cuda11 image by @njzjz in #4841
  • Profile bug fix when both enable_profiler and profiling are set to true. by @OutisLi in #4855
  • fix: use tuple in xp.reshape by @caic99 in #4808
  • fix: training speed might be incorrect by @caic99 in #4806
  • fix(jax): use more safe_for_vector_norm by @njzjz in #4809
  • fix: omit virial in dp test summary if not available by @caic99 in #4818
  • fix(jax): fix the usage of jaxlib.xla_extension by @njzjz in #4824
  • fix(dpmodel/pt/pd/jax): pass trainable to layer & support JAX trainable & support TF tensor fitting trainable by @njzjz in #4793
  • fix(cc): use insert_or_assign instead of insert by @CaRoLZhangxy in #4844
  • fix(CI): prefer stable versions by @njzjz in #4857
  • fix: merge get_np_precision to get_xp_precision by @njzjz in #4867
  • fix: no pinning memory on CPU by @caic99 in #4874
  • Fix: support "max:N" and "filter:N" batch_size rules in DeepmdDataSystem by @OutisLi in #4876
  • fix(pt/pd): fix eta computation by @HydrogenSulfate in #4886
  • fix: get correct intensive property prediction when using virtual atoms by @Chengqian-Zhang in #4869
  • fix(tf): fix compatibility with TF 2.20 by @njzjz in #4890
  • fix: relax atol and rtol value of padding atoms UT by @Chengqian-Zhang in #4892
  • fix(pt): fix CMake compatibility with PyTorch 2.8 by @njzjz in #4891
  • Fix(pt): add comm_dict for zbl, linear, dipole, dos, polar model to fix bugs mentioned in issue #4906 by @OutisLi in #4908
  • fix(pt,pd): remove redundant tensor handling to eliminate tensor construction warnings by @Copilot in #4907
  • fix: Avoid setting pin_memory in tests by @caic99 in #4919
  • fix(pd): change numel function return type from int to size_t to prevent overflow by @Copilot in #4924
  • fix(tf): fix serialization of dipole fitting with sel_type by @Copilot in #4934
  • style(dpmodel): enforce type annotations by @Copilot in #4953
  • fix: change eV/A to eV/Å for dp test by @OutisLi in #4978
  • fix: fix unit display in dp test by @njzjz in #4980
  • fix(tf): make dipole, polar, and dos models consistent with dpmodel by @Copilot in #4962

CI/CD

  • build(deps): bump pypa/cibuildwheel from 2.23 to 3.0 by @dependabot[bot] in #4805
  • fix(CI): clean up mpi4py index by @njzjz in #4822
  • build(deps): bump pypa/cibuildwheel from 3.0 to 3.1 by @dependabot[bot] in #4851
  • build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #4881
  • build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #4897
  • build(deps): bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #4918
  • chore(CI): bump PyTorch from 2.7 to 2.8 by @njzjz in #4884
  • feat(ci): skip workflows on bot branches to avoid redundant CI runs by @Copilot in #4916
  • build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #4966
  • build(deps): bump actions/labeler from 5 to 6 by @dependabot[bot] in #4964
  • build(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #49...
Read more

v3.1.0

11 Jun 06:01
b494a0d

Choose a tag to compare

What's Changed

Highlights

DPA3

DPA3 is an advanced interatomic potential leveraging the message-passing architecture. Designed as a large atomic model (LAM), DPA3 is tailored to integrate and simultaneously train on datasets from various disciplines, encompassing diverse chemical and materials systems across different research domains. Its model design ensures exceptional fitting accuracy and robust generalization within and beyond the training domain. Furthermore, DPA3 maintains energy conservation and respects the physical symmetries of the potential energy surface, making it a dependable tool for a wide range of scientific applications.

Refer to examples/water/dpa3/input_torch.json for the training script. After training, the PyTorch model can be converted to the JAX model.

PaddlePaddle backend

The PaddlePaddle backend features a similar Python interface to the PyTorch backend, ensuring compatibility and flexibility in model development. PaddlePaddle has introduced dynamic-to-static functionality and PaddlePaddle JIT compiler (CINN) in DeePMD-kit, which allow for dynamic shapes and higher-order differentiation. The dynamic-to-static functionality automatically captures the user’s dynamic graph code and converts it into a static graph. After conversion, the CINN compiler is used to optimize the computational graph, thereby enhancing the efficiency of model training and inference. In experiments with the DPA-2 model, we achieved approximately a 40% reduction in training time compared to the dynamic graph, effectively improving the model training efficiency.

Breaking changes

  • breaking: enable PyTorch backend for PyPI LAMMPS by @njzjz in #4728

Other new features

All changes in v3.0.1, v3.0.2, and v3.0.3 are included.

Contributors

New Contributors

Full Changelog: v3.0.0...v3.1.0rc0

v3.1.0rc0

31 May 18:31
265d094

Choose a tag to compare

v3.1.0rc0 Pre-release
Pre-release

What's Changed

Highlights

DPA-3

DPA-3 is an advanced interatomic potential leveraging the message-passing architecture. Designed as a large atomic model (LAM), DPA-3 is tailored to integrate and simultaneously train on datasets from various disciplines, encompassing diverse chemical and materials systems across different research domains. Its model design ensures exceptional fitting accuracy and robust generalization within and beyond the training domain. Furthermore, DPA-3 maintains energy conservation and respects the physical symmetries of the potential energy surface, making it a dependable tool for a wide range of scientific applications.

Refer to examples/water/dpa3/input_torch.json for the training script. After training, the PyTorch model can be converted to the JAX model.

PaddlePaddle backend

The PaddlePaddle backend features a similar Python interface to the PyTorch backend, ensuring compatibility and flexibility in model development. PaddlePaddle has introduced dynamic-to-static functionality and PaddlePaddle JIT compiler (CINN) in DeePMD-kit, which allow for dynamic shapes and higher-order differentiation. The dynamic-to-static functionality automatically captures the user’s dynamic graph code and converts it into a static graph. After conversion, the CINN compiler is used to optimize the computational graph, thereby enhancing the efficiency of model training and inference. In experiments with the DPA-2 model, we achieved approximately a 40% reduction in training time compared to the dynamic graph, effectively improving the model training efficiency.

Breaking changes

  • breaking: enable PyTorch backend for PyPI LAMMPS by @njzjz in #4728

Other new features

All changes in v3.0.1, v3.0.2, and v3.0.3 are included.

Contributors

New Contributors

Full Changelog: v3.0.0...v3.1.0rc0

v3.0.3

23 May 17:27
e7eb16e

Choose a tag to compare

What's Changed

Breaking changes

  • breaking(wheel): bump minimal macos version to 11.0 (#4704)

Bugfixes

  • fix(tf): fix dplr Python inference (#4753)
  • fix: data type of nloc, nall-nloc in the input of border_op (#4653)
  • fix(data): Throw error when data's element is not present in input.json/type_map (#4639)
  • fix(ase): aviod duplicate stress calculation for ase calculator (#4633)
  • fix(pt): improve OOM detection (#4638)
  • fix(tf): always use float64 for the global tensor (#4735)
  • fix(jax): set default_matmul_precision to tensorfloat32 (#4726)
  • fix(jax): fix NaN in sigmoid grad (#4724)
  • fix: fix compatibility with CMake 4.0 (#4680)

CI/CD

  • fix(CI): set CMAKE_POLICY_VERSION_MINIMUM environment variable (#4692)
  • CI: bump PyTorch to 2.7 (#4717)
  • fix(tests): fix tearDownClass and release GPU memory (#4702)
  • fix(CI): upgrade setuptools to fix its compatibility with wheel (#4700)

Full Changelog: v3.0.2...v3.0.3

v3.1.0a0

30 Mar 01:47
52f8ece

Choose a tag to compare

v3.1.0a0 Pre-release
Pre-release

What's Changed

Highlights

DPA-3

DPA-3 is an advanced interatomic potential leveraging the message-passing architecture. Designed as a large atomic model (LAM), DPA-3 is tailored to integrate and simultaneously train on datasets from various disciplines, encompassing diverse chemical and materials systems across different research domains. Its model design ensures exceptional fitting accuracy and robust generalization within and beyond the training domain. Furthermore, DPA-3 maintains energy conservation and respects the physical symmetries of the potential energy surface, making it a dependable tool for a wide range of scientific applications.

Refer to examples/water/dpa3/input_torch.json for the training script. After training, the PyTorch model can be converted to the JAX model.

PaddlePaddle backend

The PaddlePaddle backend features a similar Python interface to the PyTorch backend, ensuring compatibility and flexibility in model development. PaddlePaddle has introduced dynamic-to-static functionality and PaddlePaddle JIT compiler (CINN) in DeePMD-kit, which allow for dynamic shapes and higher-order differentiation. The dynamic-to-static functionality automatically captures the user’s dynamic graph code and converts it into a static graph. After conversion, the CINN compiler is used to optimize the computational graph, thereby enhancing the efficiency of model training and inference. In experiments with the DPA-2 model, we achieved approximately a 40% reduction in training time compared to the dynamic graph, effectively improving the model training efficiency.

Other new features

All changes in v3.0.1 and v3.0.2 are included.

Contributors

New Contributors

Full Changelog: v3.0.0...v3.1.0a0

v3.0.2

02 Mar 03:32
70bc6d8

Choose a tag to compare

What's Changed

This patch version only contains minor features, bug fixes, enhancements, and documentation improvements.

New features

  • feat(tf): support tensor fitting with hybrid descriptor by @njzjz in #4542

Enhancement

Bugfix

Documentation

  • docs: fix the header of the scaling test table by @njzjz in #4507
  • docs: add sphinx.configuration to .readthedocs.yml by @njzjz in #4553
  • docs: add v3 paper citations by @njzjz in #4619
  • docs: add PyTorch Profiler support details to TensorBoard documentation by @caic99 in #4615

CI/CD

  • CI: switch linux_aarch64 to GitHub hosted runners by @njzjz in #4557

New Contributors

Full Changelog: v3.0.1...v3.0.2

v3.0.1

23 Dec 20:14

Choose a tag to compare

This patch version only contains bug fixes, enhancements, and documentation improvements.

What's Changed

Enhancements

  • Perf: print summary on rank 0 (#4434)
  • perf: optimize training loop (#4426)
  • chore: refactor training loop (#4435)
  • Perf: remove redundant checks on data integrity (#4433)
  • Perf: use fused Adam optimizer (#4463)

Bug fixes

  • Fix: add model_def_script to ZBL (#4423)
  • fix: add pairtab compression (#4432)
  • fix(tf): pass type_one_side & exclude_types to DPTabulate in se_r (#4446)
  • fix: print dlerror if dlopen fails (#4485)

Documentation

  • chore(pt): update multitask example (#4419)
  • docs: update DPA-2 citation (#4483)
  • docs: update deepmd-gnn URL (#4482)
  • docs: fix a minor typo on the title of install-from-c-library.md (#4484)

Other Changes

Full Changelog: v3.0.0...v3.0.1