From a0df33dd6ace3f0789f82cf49f0d553fde41bf3c Mon Sep 17 00:00:00 2001 From: xysun <117051594+xysun25@users.noreply.github.com> Date: Mon, 20 Jul 2026 23:42:41 +0200 Subject: [PATCH] Add MACE support interface (#5580) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ole Schütt --- data/MACE/MACE_scratch_run-3.model-cp2k.pth | Bin 0 -> 287720 bytes docs/methods/machine_learning/index.md | 1 + docs/methods/machine_learning/mace.md | 60 +++++++ docs/technologies/libraries.md | 4 +- src/CMakeLists.txt | 2 +- src/common/bibliography.F | 9 +- src/fist_neighbor_list_control.F | 14 +- src/fist_nonbond_env_types.F | 8 +- src/fist_nonbond_force.F | 8 +- src/force_fields_all.F | 11 +- src/force_fields_input.F | 73 +++++++- src/input_cp2k_mm.F | 52 +++++- src/{manybody_nequip.F => manybody_e3nn.F} | 47 +++-- src/manybody_potential.F | 63 ++++--- src/pair_potential.F | 11 +- src/pair_potential_types.F | 12 +- tests/Fist/regtest-mace/TEST_FILES.toml | 3 + tests/Fist/regtest-mace/mace-test.xyz | 34 ++++ tests/Fist/regtest-mace/mace_test.inp | 41 +++++ tests/TEST_DIRS | 1 + tools/docker/scripts/test_misc.sh | 1 + tools/mace/create_cp2k_model.py | 190 ++++++++++++++++++++ 22 files changed, 568 insertions(+), 77 deletions(-) create mode 100644 data/MACE/MACE_scratch_run-3.model-cp2k.pth create mode 100644 docs/methods/machine_learning/mace.md rename src/{manybody_nequip.F => manybody_e3nn.F} (94%) create mode 100644 tests/Fist/regtest-mace/TEST_FILES.toml create mode 100644 tests/Fist/regtest-mace/mace-test.xyz create mode 100644 tests/Fist/regtest-mace/mace_test.inp create mode 100644 tools/mace/create_cp2k_model.py diff --git a/data/MACE/MACE_scratch_run-3.model-cp2k.pth b/data/MACE/MACE_scratch_run-3.model-cp2k.pth new file mode 100644 index 0000000000000000000000000000000000000000..f0ff697cb9f491f1ef997ca38c8e62671ba59e03 GIT binary patch literal 287720 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 writes my_mace.model-cp2k.pth +``` + +This conversion only needs to be performed once on a machine with both `torch` and `mace` installed. +The resulting `*.pth` file uses the same tensor and metadata format as the NequIP interface (inputs +`pos`, `edge_index`, `edge_cell_shift`, `cell`, `atom_types`; outputs `atomic_energy`, `forces`, +`virial`) and embeds the metadata (`num_types`, `r_max`, `type_names`, `model_dtype`) that CP2K +reads to build the neighbour graph. The `torch` version used for export must be compatible with the +LibTorch version linked into CP2K. + +## Input Section + +Inference is configured through the [MACE](#CP2K_INPUT.FORCE_EVAL.MM.FORCEFIELD.NONBONDED.MACE) +section within the `&NONBONDED` forcefield parameters: + +```text +&FORCEFIELD + &NONBONDED + &MACE + ATOMS Cu + POT_FILE_NAME MACE/my_mace.model-cp2k.pth + &END MACE + &END NONBONDED +&END FORCEFIELD +``` + +- [ATOMS](#CP2K_INPUT.FORCE_EVAL.MM.FORCEFIELD.NONBONDED.MACE.ATOMS): a list of elements/kinds; the + mapping to the model type list must be consistent with the coordinates in `&COORDS`/`&TOPOLOGY`. +- [POT_FILE_NAME](#CP2K_INPUT.FORCE_EVAL.MM.FORCEFIELD.NONBONDED.MACE.POT_FILE_NAME): path to the + exported MACE model. + +MACE is a message-passing model with a non-local receptive field. As with NequIP, the interface +evaluates the full system on every MPI rank and divides the energy, forces, and virial by the number +of ranks. + +## Further Resources + +- **MACE:** Paper [](#Batatia2022) and source code at + [github.com/ACEsuit/mace](https://github.com/ACEsuit/mace). +- **e3nn:** For an introduction to Euclidean neural networks, visit [e3nn.org](https://e3nn.org). diff --git a/docs/technologies/libraries.md b/docs/technologies/libraries.md index 2e5bf4ebbf..86a2cb3451 100644 --- a/docs/technologies/libraries.md +++ b/docs/technologies/libraries.md @@ -220,8 +220,8 @@ of each atom. ## Torch (PyTorch C++ library) -LibTorch is the C++ distribution of PyTorch. CP2K uses it for the NequIP interface and for GauXC -Skala models. +LibTorch is the C++ distribution of PyTorch. CP2K uses it for the NequIP and MACE interfaces and for +GauXC Skala models. - LibTorch can be downloaded from the [PyTorch installation page](https://pytorch.org/get-started/locally/). diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 89417a3cf5..a016d826a6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -355,7 +355,7 @@ list( manybody_deepmd.F manybody_gal21.F manybody_gal.F - manybody_nequip.F + manybody_e3nn.F manybody_potential.F manybody_siepmann.F manybody_tersoff.F diff --git a/src/common/bibliography.F b/src/common/bibliography.F index 621576c26d..38ca082835 100644 --- a/src/common/bibliography.F +++ b/src/common/bibliography.F @@ -66,7 +66,7 @@ MODULE bibliography Kantorovich2008a, Wellendorff2012, Niklasson2014, Borstnik2014, & Rayson2009, Grimme2011, Fattebert2002, Andreussi2012, & Khaliullin2007, Khaliullin2008, Merlot2014, Lin2009, Lin2013, Lin2016ACE, & - Batzner2022, DelBen2015, Souza2002, Umari2002, Stengel2009, & + Batzner2022, Batatia2022, DelBen2015, Souza2002, Umari2002, Stengel2009, & Luber2014, Berghold2011, DelBen2015b, Campana2009, & Schiffmann2015, Bruck2014, Rappe1992, Ceriotti2012, & Ceriotti2010, Walewski2014, Monkhorst1976, MacDonald1978, Worlton1972, & @@ -164,6 +164,13 @@ CONTAINS source="Nat. Commun.", volume="13", pages="2453", & year=2022, doi="10.1038/s41467-022-29939-5") + CALL add_reference(key=Batatia2022, & + authors=s2a("I. Batatia", "D. P. Kovacs", "G. N. C. Simm", "C. Ortner", "G. Csanyi"), & + title="MACE: Higher order equivariant message passing neural networks "// & + "for fast and accurate force fields", & + source="Adv. Neural Inf. Process. Syst.", volume="35", pages="11423-11436", & + year=2022, doi="10.48550/arXiv.2206.07697") + CALL add_reference(key=VandenCic2006, & authors=s2a("E. Vanden-Eijnden", "G. Ciccotti"), & title="Second-order integrators for Langevin equations with holonomic constraints", & diff --git a/src/fist_neighbor_list_control.F b/src/fist_neighbor_list_control.F index f16cc70787..0e23752054 100644 --- a/src/fist_neighbor_list_control.F +++ b/src/fist_neighbor_list_control.F @@ -39,14 +39,9 @@ MODULE fist_neighbor_list_control section_vals_val_get USE kinds, ONLY: dp USE message_passing, ONLY: mp_para_env_type - USE pair_potential_types, ONLY: ace_type,& - allegro_type,& - gal21_type,& - gal_type,& - nequip_type,& - pair_potential_pp_type,& - siepmann_type,& - tersoff_type + USE pair_potential_types, ONLY: & + ace_type, allegro_type, gal21_type, gal_type, mace_type, nequip_type, & + pair_potential_pp_type, siepmann_type, tersoff_type USE particle_types, ONLY: particle_type #include "./base/base_uses.f90" @@ -236,6 +231,9 @@ CONTAINS IF (ANY(potparm%pot(ikind, jkind)%pot%type == nequip_type)) THEN full_nl(ikind, jkind) = .TRUE. END IF + IF (ANY(potparm%pot(ikind, jkind)%pot%type == mace_type)) THEN + full_nl(ikind, jkind) = .TRUE. + END IF IF (ANY(potparm%pot(ikind, jkind)%pot%type == ace_type)) THEN full_nl(ikind, jkind) = .TRUE. END IF diff --git a/src/fist_nonbond_env_types.F b/src/fist_nonbond_env_types.F index 26360ee060..045df06365 100644 --- a/src/fist_nonbond_env_types.F +++ b/src/fist_nonbond_env_types.F @@ -23,8 +23,8 @@ MODULE fist_nonbond_env_types USE kinds, ONLY: default_string_length,& dp USE pair_potential_types, ONLY: & - ace_type, allegro_type, gal21_type, gal_type, nequip_type, pair_potential_pp_release, & - pair_potential_pp_type, siepmann_type, tersoff_type + ace_type, allegro_type, gal21_type, gal_type, mace_type, nequip_type, & + pair_potential_pp_release, pair_potential_pp_type, siepmann_type, tersoff_type USE torch_api, ONLY: torch_model_release,& torch_model_type #include "./base/base_uses.f90" @@ -497,6 +497,10 @@ CONTAINS fist_nonbond_env%ij_kind_full_fac(idim, jdim) = 0.5_dp fist_nonbond_env%ij_kind_full_fac(idim, jdim) = 0.5_dp END IF + IF (ANY(potparm%pot(idim, jdim)%pot%type == mace_type)) THEN + fist_nonbond_env%ij_kind_full_fac(idim, jdim) = 0.5_dp + fist_nonbond_env%ij_kind_full_fac(idim, jdim) = 0.5_dp + END IF IF (ANY(potparm%pot(idim, jdim)%pot%type == allegro_type)) THEN fist_nonbond_env%ij_kind_full_fac(idim, jdim) = 0.5_dp fist_nonbond_env%ij_kind_full_fac(idim, jdim) = 0.5_dp diff --git a/src/fist_nonbond_force.F b/src/fist_nonbond_force.F index 6de5a4894d..0d6680b31c 100644 --- a/src/fist_nonbond_force.F +++ b/src/fist_nonbond_force.F @@ -38,9 +38,9 @@ MODULE fist_nonbond_force USE message_passing, ONLY: mp_comm_type USE pair_potential_coulomb, ONLY: potential_coulomb USE pair_potential_types, ONLY: & - ace_type, allegro_type, deepmd_type, gal21_type, gal_type, nequip_type, nosh_nosh, & - nosh_sh, pair_potential_pp_type, pair_potential_single_type, sh_sh, siepmann_type, & - tersoff_type + ace_type, allegro_type, deepmd_type, gal21_type, gal_type, mace_type, nequip_type, & + nosh_nosh, nosh_sh, pair_potential_pp_type, pair_potential_single_type, sh_sh, & + siepmann_type, tersoff_type USE particle_types, ONLY: particle_type USE shell_potential_types, ONLY: get_shell,& shell_kind_type @@ -231,6 +231,7 @@ CONTAINS full_nl = ANY(pot%type == tersoff_type) .OR. ANY(pot%type == siepmann_type) & .OR. ANY(pot%type == gal_type) .OR. ANY(pot%type == gal21_type) & .OR. ANY(pot%type == nequip_type) .OR. ANY(pot%type == allegro_type) & + .OR. ANY(pot%type == mace_type) & .OR. ANY(pot%type == ace_type) .OR. ANY(pot%type == deepmd_type) IF ((.NOT. full_nl) .AND. (atom_a == atom_b)) THEN fac_ei = 0.5_dp*fac_ei @@ -722,6 +723,7 @@ CONTAINS full_nl = ANY(pot%type == tersoff_type) .OR. ANY(pot%type == siepmann_type) & .OR. ANY(pot%type == gal_type) .OR. ANY(pot%type == gal21_type) & .OR. ANY(pot%type == nequip_type) .OR. ANY(pot%type == allegro_type) & + .OR. ANY(pot%type == mace_type) & .OR. ANY(pot%type == ace_type) .OR. ANY(pot%type == deepmd_type) IF ((.NOT. full_nl) .AND. (atom_a == atom_b)) THEN fac_ei = fac_ei*0.5_dp diff --git a/src/force_fields_all.F b/src/force_fields_all.F index 6f9106752b..798fe280b8 100644 --- a/src/force_fields_all.F +++ b/src/force_fields_all.F @@ -64,10 +64,11 @@ MODULE force_fields_all spline_nonbond_control USE pair_potential_coulomb, ONLY: potential_coulomb USE pair_potential_types, ONLY: & - ace_type, allegro_type, deepmd_type, ea_type, lj_charmm_type, lj_type, nequip_type, & - nn_type, nosh_nosh, nosh_sh, pair_potential_lj_create, pair_potential_pp_create, & - pair_potential_pp_type, pair_potential_single_add, pair_potential_single_clean, & - pair_potential_single_copy, pair_potential_single_type, sh_sh, siepmann_type, tersoff_type + ace_type, allegro_type, deepmd_type, ea_type, lj_charmm_type, lj_type, mace_type, & + nequip_type, nn_type, nosh_nosh, nosh_sh, pair_potential_lj_create, & + pair_potential_pp_create, pair_potential_pp_type, pair_potential_single_add, & + pair_potential_single_clean, pair_potential_single_copy, pair_potential_single_type, & + sh_sh, siepmann_type, tersoff_type USE particle_types, ONLY: allocate_particle_set,& particle_type USE physcon, ONLY: bohr @@ -2194,7 +2195,7 @@ CONTAINS atmname == inp_info%nonbonded%pot(j)%pot%at2) THEN SELECT CASE (inp_info%nonbonded%pot(j)%pot%type(1)) CASE (ea_type, tersoff_type, siepmann_type, nequip_type, & - allegro_type, deepmd_type, ace_type) + allegro_type, deepmd_type, ace_type, mace_type) ! Charge is zero for EAM, TERSOFF and SIEPMANN type potential ! Do nothing.. CASE DEFAULT diff --git a/src/force_fields_input.F b/src/force_fields_input.F index 89bcf55132..1df71ce40d 100644 --- a/src/force_fields_input.F +++ b/src/force_fields_input.F @@ -69,7 +69,7 @@ MODULE force_fields_input USE pair_potential_types, ONLY: & ace_type, allegro_type, b4_type, bm_type, deepmd_type, do_potential_single_allocation, & ea_type, eam_pot_type, ft_pot_type, ft_type, ftd_type, gal21_type, gal_type, gp_type, & - gw_type, ip_type, ipbv_pot_type, lj_charmm_type, nequip_pot_type, nequip_type, & + gw_type, ip_type, ipbv_pot_type, lj_charmm_type, mace_type, nequip_pot_type, nequip_type, & no_potential_single_allocation, pair_potential_p_type, pair_potential_reallocate, & potential_single_allocation, siepmann_type, tab_pot_type, tab_type, tersoff_type, wl_type USE shell_potential_types, ONLY: shell_p_create,& @@ -109,8 +109,8 @@ CONTAINS CHARACTER(LEN=default_string_length), & DIMENSION(:), POINTER :: atm_names INTEGER :: nace, nb4, nbends, nbm, nbmhft, nbmhftd, nbonds, nchg, ndeepmd, neam, ngal, & - ngal21, ngd, ngp, nimpr, nipbv, nlj, nnequip, nopbend, nshell, nsiepmann, ntab, ntersoff, & - ntors, ntot, nubs, nwl + ngal21, ngd, ngp, nimpr, nipbv, nlj, nmace, nnequip, nopbend, nshell, nsiepmann, ntab, & + ntersoff, ntors, ntot, nubs, nwl LOGICAL :: explicit, unique_spline REAL(KIND=dp) :: min_eps_spline_allowed TYPE(input_info_type), POINTER :: inp_info @@ -135,9 +135,11 @@ CONTAINS SELECT CASE (ff_type%ff_type) CASE (do_ff_charmm, do_ff_amber, do_ff_g96, do_ff_g87) CALL section_vals_val_get(ff_section, "PARM_FILE_NAME", c_val=ff_type%ff_file_name) + IF (TRIM(ff_type%ff_file_name) == "") THEN CPABORT("Force Field Parameter's filename is empty! Please check your input file.") END IF + CASE (do_ff_undef) ! Do Nothing CASE DEFAULT @@ -326,6 +328,19 @@ CONTAINS CALL read_ace_section(inp_info%nonbonded, tmp_section2, ntot) END IF + tmp_section2 => section_vals_get_subs_vals(tmp_section, "MACE") + CALL section_vals_get(tmp_section2, explicit=explicit, n_repetition=nmace) + ntot = nlj + nwl + neam + ngd + nipbv + nbmhft + nbmhftd + nb4 + nbm + ngp + ntersoff + & + ngal + ngal21 + nsiepmann + nnequip + ntab + ndeepmd + nace + IF (explicit) THEN + ! avoid repeating the mace section for each pair + CALL section_vals_val_get(tmp_section2, "ATOMS", c_vals=atm_names) + nmace = nmace - 1 + SIZE(atm_names) + (SIZE(atm_names)*SIZE(atm_names) - SIZE(atm_names))/2 + ! MACE reuses the nequip_pot_type storage (set%nequip), hence nequip=.TRUE. here + CALL pair_potential_reallocate(inp_info%nonbonded, 1, ntot + nmace, nequip=.TRUE.) + CALL read_mace_section(inp_info%nonbonded, tmp_section2, ntot) + END IF + END IF tmp_section => section_vals_get_subs_vals(ff_section, "NONBONDED14") @@ -541,6 +556,7 @@ CONTAINS ipbv%a(15) = 12917180227.21_dp ELSE IF (((at1(1:1) == 'O') .AND. (at2(1:1) == 'H')) .OR. & ((at1(1:1) == 'H') .AND. (at2(1:1) == 'O'))) THEN + ipbv%rcore = 2.95_dp ! a.u. ipbv%m = -0.004025691139759147_dp ! Hartree/a.u. @@ -602,6 +618,7 @@ CONTAINS ft%d = cp_unit_to_cp2k(0.499_dp, "eV*angstrom^8") ELSE IF (((at1(1:2) == 'NA') .AND. (at2(1:2) == 'CL')) .OR. & ((at1(1:2) == 'CL') .AND. (at2(1:2) == 'NA'))) THEN + ft%a = cp_unit_to_cp2k(1256.31_dp, "eV") ft%c = cp_unit_to_cp2k(7.00_dp, "eV*angstrom^6") ft%d = cp_unit_to_cp2k(8.676_dp, "eV*angstrom^8") @@ -826,6 +843,54 @@ CONTAINS END SUBROUTINE read_nequip_section +! ************************************************************************************************** +!> \brief Reads the MACE section +!> \param nonbonded ... +!> \param section ... +!> \param start ... +!> \author Xinyue Sun +! ************************************************************************************************** + SUBROUTINE read_mace_section(nonbonded, section, start) + TYPE(pair_potential_p_type), POINTER :: nonbonded + TYPE(section_vals_type), POINTER :: section + INTEGER, INTENT(IN) :: start + + CHARACTER(LEN=default_string_length) :: pot_file_name + CHARACTER(LEN=default_string_length), & + DIMENSION(:), POINTER :: atm_names + INTEGER :: isec, jsec, n_items + TYPE(nequip_pot_type) :: mace + + n_items = 1 + isec = 1 + n_items = isec*n_items + CALL section_vals_val_get(section, "ATOMS", c_vals=atm_names) + CALL section_vals_val_get(section, "POT_FILE_NAME", c_val=pot_file_name) + + mace%pot_file_name = discover_file(pot_file_name) + ! MACE models use standardized units: Angstrom, eV and eV/Angstrom + mace%unit_length = "angstrom" + mace%unit_energy = "eV" + mace%unit_forces = "eV/Angstrom" + ! MACE models are exported to speak the same metadata/tensor dialect as NequIP + CALL read_nequip_data(mace) + CALL check_cp2k_atom_names_in_torch(atm_names, mace%type_names_torch) + + DO isec = 1, SIZE(atm_names) + DO jsec = isec, SIZE(atm_names) + nonbonded%pot(start + n_items)%pot%type = mace_type + nonbonded%pot(start + n_items)%pot%at1 = atm_names(isec) + nonbonded%pot(start + n_items)%pot%at2 = atm_names(jsec) + CALL uppercase(nonbonded%pot(start + n_items)%pot%at1) + CALL uppercase(nonbonded%pot(start + n_items)%pot%at2) + nonbonded%pot(start + n_items)%pot%set(1)%nequip = mace + nonbonded%pot(start + n_items)%pot%rcutsq = mace%rcutsq + n_items = n_items + 1 + END DO + END DO + + END SUBROUTINE read_mace_section + ! ************************************************************************************************** !> \brief Reads the LJ section !> \param nonbonded ... @@ -1272,11 +1337,13 @@ CONTAINS ! Calculate p_inv the inverse of the matrix p p_inv(:, :) = 0.0_dp CALL invert_matrix(p, p_inv, eval_error) + IF (eval_error >= 1.0E-8_dp) THEN CALL cp_warn(__LOCATION__, & "The polynomial fit for the BUCK4RANGES potential is only accurate to "// & TRIM(cp_to_string(eval_error))) END IF + ! Get the 6 coefficients of the 5th-order polynomial -> x(1:6) ! and the 4 coefficients of the 3rd-order polynomial -> x(7:10) x(:) = MATMUL(p_inv(:, :), v(:)) diff --git a/src/input_cp2k_mm.F b/src/input_cp2k_mm.F index aeb0be36a1..4938f9cfea 100644 --- a/src/input_cp2k_mm.F +++ b/src/input_cp2k_mm.F @@ -15,9 +15,9 @@ ! ************************************************************************************************** MODULE input_cp2k_mm USE bibliography, ONLY: & - Batzner2022, Bochkarev2024, Clabaut2020, Clabaut2021, Devynck2012, Dick1958, Drautz2019, & - Foiles1986, Lysogorskiy2021, Mitchell1993, Musaelian2023, Siepmann1995, Tan2025, & - Tersoff1988, Tosi1964a, Tosi1964b, Wang2018, Yamada2000, Zeng2023 + Batatia2022, Batzner2022, Bochkarev2024, Clabaut2020, Clabaut2021, Devynck2012, Dick1958, & + Drautz2019, Foiles1986, Lysogorskiy2021, Mitchell1993, Musaelian2023, Siepmann1995, & + Tan2025, Tersoff1988, Tosi1964a, Tosi1964b, Wang2018, Yamada2000, Zeng2023 USE cp_output_handling, ONLY: cp_print_key_section_create,& debug_print_level,& high_print_level,& @@ -1185,6 +1185,10 @@ CONTAINS CALL section_add_subsection(section, subsection) CALL section_release(subsection) + CALL create_MACE_section(subsection) + CALL section_add_subsection(section, subsection) + CALL section_release(subsection) + CALL create_DEEPMD_section(subsection) CALL section_add_subsection(section, subsection) CALL section_release(subsection) @@ -1483,6 +1487,48 @@ CONTAINS END SUBROUTINE create_NEQUIP_section +! ************************************************************************************************** +!> \brief This section specifies the input parameters for MACE potential type +!> \param section the section to create +!> \author Xinyue Sun +! ************************************************************************************************** + SUBROUTINE create_MACE_section(section) + TYPE(section_type), POINTER :: section + + TYPE(keyword_type), POINTER :: keyword + + CPASSERT(.NOT. ASSOCIATED(section)) + CALL section_create(section, __LOCATION__, name="MACE", & + description="This section specifies the input parameters for MACE potential type, "// & + "a higher-order equivariant message-passing neural network. "// & + "The MACE model must be exported to a TorchScript file that takes a single "// & + "dictionary argument (see the create_cp2k_model.py helper). "// & + "Requires linking with libtorch library from .", & + citations=[Batatia2022], n_keywords=1, n_subsections=0, repeats=.FALSE.) + + NULLIFY (keyword) + + CALL keyword_create(keyword, __LOCATION__, name="ATOMS", & + description="Defines the atomic kinds involved in the MACE potential. "// & + "Provide a list of each element, making sure that the mapping from the ATOMS list "// & + "to MACE atom types is correct. This mapping should also be consistent for the "// & + "atomic coordinates as specified in the sections COORDS or TOPOLOGY.", & + usage="ATOMS {KIND 1} {KIND 2} .. {KIND N}", type_of_var=char_t, & + n_var=-1) + CALL section_add_keyword(section, keyword) + CALL keyword_release(keyword) + + CALL keyword_create(keyword, __LOCATION__, name="POT_FILE_NAME", & + variants=["MODEL_FILE_NAME"], & + description="Specifies the filename that contains the exported MACE model. "// & + "MACE models use standardized units (Angstrom for length, eV for energy, "// & + "eV/Angstrom for forces), so no unit keywords are required.", & + usage="POT_FILE_NAME {FILENAME}", default_lc_val=" ") + CALL section_add_keyword(section, keyword) + CALL keyword_release(keyword) + + END SUBROUTINE create_MACE_section + ! ************************************************************************************************** !> \brief This section specifies the input parameters for ACE potential type !> \param section the section to create diff --git a/src/manybody_nequip.F b/src/manybody_e3nn.F similarity index 94% rename from src/manybody_nequip.F rename to src/manybody_e3nn.F index 9938d0b82b..58e5dc64c6 100644 --- a/src/manybody_nequip.F +++ b/src/manybody_e3nn.F @@ -6,13 +6,16 @@ !--------------------------------------------------------------------------------------------------! ! ************************************************************************************************** +!> \brief Shared TorchScript evaluation path for e3nn-based equivariant message-passing +!> potentials (NequIP, Allegro and MACE). !> \par History !> Implementation of NequIP and Allegro potentials - [gtocci] 2022 !> Index mapping of atoms from .xyz to Allegro config.yaml file - [mbilichenko] 2024 !> Refactoring and update to NequIP version >= v0.7.0 - [gtocci] 2026 +!> Renamed manybody_nequip -> manybody_e3nn as it now also serves MACE - [xysun] 2026 !> \author Gabriele Tocci ! ************************************************************************************************** -MODULE manybody_nequip +MODULE manybody_e3nn USE atomic_kind_types, ONLY: atomic_kind_type USE cell_types, ONLY: cell_type @@ -28,7 +31,8 @@ MODULE manybody_nequip dp,& int_8 USE message_passing, ONLY: mp_para_env_type - USE pair_potential_types, ONLY: nequip_pot_type,& + USE pair_potential_types, ONLY: mace_type,& + nequip_pot_type,& nequip_type,& pair_potential_pp_type,& pair_potential_single_type @@ -43,10 +47,10 @@ MODULE manybody_nequip IMPLICIT NONE PRIVATE - PUBLIC :: nequip_energy_store_force_virial, & - nequip_add_force_virial + PUBLIC :: e3nn_energy_store_force_virial, & + e3nn_add_force_virial - CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'manybody_nequip' + CHARACTER(len=*), PARAMETER, PRIVATE :: moduleN = 'manybody_e3nn' TYPE, PRIVATE :: nequip_work_type INTEGER :: target_pot_type @@ -89,10 +93,10 @@ CONTAINS !> Refactoring and unifying NequIP and Allegro - [gtocci] 2026 !> \author Gabriele Tocci - University of Zurich ! ************************************************************************************************** - SUBROUTINE nequip_energy_store_force_virial(nonbonded, particle_set, local_particles, cell, & - atomic_kind_set, potparm, r_last_update_pbc, & - pot_total, fist_nonbond_env, para_env, use_virial, & - target_pot_type) + SUBROUTINE e3nn_energy_store_force_virial(nonbonded, particle_set, local_particles, cell, & + atomic_kind_set, potparm, r_last_update_pbc, & + pot_total, fist_nonbond_env, para_env, use_virial, & + target_pot_type) TYPE(fist_neighbor_type), POINTER :: nonbonded TYPE(particle_type), POINTER :: particle_set(:) @@ -107,7 +111,7 @@ CONTAINS LOGICAL, INTENT(IN) :: use_virial INTEGER, INTENT(IN) :: target_pot_type - CHARACTER(LEN=*), PARAMETER :: routineN = 'nequip_energy_store_force_virial' + CHARACTER(LEN=*), PARAMETER :: routineN = 'e3nn_energy_store_force_virial' INTEGER :: handle TYPE(nequip_data_type), POINTER :: neq_data @@ -132,7 +136,8 @@ CONTAINS CALL setup_neq_data(fist_nonbond_env, neq_data, neq_pot, nequip_work) - IF (nequip_work%target_pot_type == nequip_type) THEN + IF (nequip_work%target_pot_type == nequip_type .OR. & + nequip_work%target_pot_type == mace_type) THEN CALL prepare_edges_shifts_nequip(nequip_work) ELSE CALL prepare_edges_shifts_allegro(nequip_work) @@ -146,7 +151,7 @@ CONTAINS CALL release_nequip_work(nequip_work) CALL timestop(handle) - END SUBROUTINE nequip_energy_store_force_virial + END SUBROUTINE e3nn_energy_store_force_virial ! ************************************************************************************************** !> \brief ... @@ -564,7 +569,8 @@ CONTAINS n_atoms = SIZE(nequip_work%particle_set) ! for allegro ensure ghost atoms are included in the evaluation - IF (nequip_work%target_pot_type /= nequip_type) THEN + IF (nequip_work%target_pot_type /= nequip_type .AND. & + nequip_work%target_pot_type /= mace_type) THEN ! label atoms in the local edges DO i = 1, SIZE(nequip_work%local_edges, 2) atom_a = INT(nequip_work%local_edges(1, i)) @@ -708,7 +714,8 @@ CONTAINS DO iat_use = 1, SIZE(neq_data%use_indices) iat = neq_data%use_indices(iat_use) ! Only apply the local mask for Allegro models - IF (nequip_work%target_pot_type /= nequip_type) THEN + IF (nequip_work%target_pot_type /= nequip_type .AND. & + nequip_work%target_pot_type /= mace_type) THEN IF (.NOT. nequip_work%sum_energy(iat)) CYCLE END IF @@ -717,7 +724,8 @@ CONTAINS CALL torch_tensor_release(t_energy) pot_total = pot_total*pot%unit_energy_val - IF (nequip_work%target_pot_type == nequip_type) THEN + IF (nequip_work%target_pot_type == nequip_type .OR. & + nequip_work%target_pot_type == mace_type) THEN neq_data%force = neq_data%force/REAL(nequip_work%para_env%num_pe, dp) pot_total = pot_total/REAL(nequip_work%para_env%num_pe, dp) END IF @@ -728,7 +736,8 @@ CONTAINS neq_data%virial(:, :) = RESHAPE(v_ptr, [3, 3])*pot%unit_energy_val CALL torch_tensor_release(t_virial) - IF (nequip_work%target_pot_type == nequip_type) THEN + IF (nequip_work%target_pot_type == nequip_type .OR. & + nequip_work%target_pot_type == mace_type) THEN neq_data%virial = neq_data%virial/REAL(nequip_work%para_env%num_pe, dp) END IF END IF @@ -745,7 +754,7 @@ CONTAINS !> Sum forces, virial to nonbond - [gtocci] 2026 !> \author Gabriele Tocci - University of Zurich ! ************************************************************************************************** - SUBROUTINE nequip_add_force_virial(fist_nonbond_env, f_nonbond, pv_nonbond, use_virial) + SUBROUTINE e3nn_add_force_virial(fist_nonbond_env, f_nonbond, pv_nonbond, use_virial) TYPE(fist_nonbond_env_type), POINTER :: fist_nonbond_env REAL(KIND=dp), DIMENSION(:, :), INTENT(INOUT) :: f_nonbond, pv_nonbond LOGICAL, INTENT(IN) :: use_virial @@ -764,6 +773,6 @@ CONTAINS f_nonbond(1:3, iat) = f_nonbond(1:3, iat) + neq_data%force(1:3, iat_use) END DO - END SUBROUTINE nequip_add_force_virial + END SUBROUTINE e3nn_add_force_virial -END MODULE manybody_nequip +END MODULE manybody_e3nn diff --git a/src/manybody_potential.F b/src/manybody_potential.F index 9de5d3949d..a3a706a7f1 100644 --- a/src/manybody_potential.F +++ b/src/manybody_potential.F @@ -30,6 +30,8 @@ MODULE manybody_potential ace_energy_store_force_virial USE manybody_deepmd, ONLY: deepmd_add_force_virial,& deepmd_energy_store_force_virial + USE manybody_e3nn, ONLY: e3nn_add_force_virial,& + e3nn_energy_store_force_virial USE manybody_eam, ONLY: get_force_eam USE manybody_gal, ONLY: destroy_gal_arrays,& gal_energy,& @@ -39,8 +41,6 @@ MODULE manybody_potential gal21_energy,& gal21_forces,& setup_gal21_arrays - USE manybody_nequip, ONLY: nequip_add_force_virial,& - nequip_energy_store_force_virial USE manybody_siepmann, ONLY: destroy_siepmann_arrays,& print_nr_ions_siepmann,& setup_siepmann_arrays,& @@ -54,8 +54,9 @@ MODULE manybody_potential USE message_passing, ONLY: mp_para_env_type USE pair_potential_types, ONLY: & ace_type, allegro_type, deepmd_type, ea_type, eam_pot_type, gal21_pot_type, gal21_type, & - gal_pot_type, gal_type, nequip_type, pair_potential_pp_type, pair_potential_single_type, & - siepmann_pot_type, siepmann_type, tersoff_pot_type, tersoff_type + gal_pot_type, gal_type, mace_type, nequip_type, pair_potential_pp_type, & + pair_potential_single_type, siepmann_pot_type, siepmann_type, tersoff_pot_type, & + tersoff_type USE particle_types, ONLY: particle_type USE util, ONLY: sort #include "./base/base_uses.f90" @@ -105,11 +106,11 @@ CONTAINS INTEGER, DIMENSION(:), POINTER :: glob_loc_list_a, work_list INTEGER, DIMENSION(:, :), POINTER :: glob_loc_list, list, sort_list LOGICAL :: any_ace, any_allegro, any_deepmd, & - any_gal, any_gal21, any_nequip, & - any_siepmann, any_tersoff + any_gal, any_gal21, any_mace, & + any_nequip, any_siepmann, any_tersoff REAL(KIND=dp) :: drij, embed, pot_ace, pot_allegro, & - pot_deepmd, pot_loc, pot_nequip, qr, & - rab2_max, rij(3) + pot_deepmd, pot_loc, pot_mace, & + pot_nequip, qr, rab2_max, rij(3) REAL(KIND=dp), DIMENSION(3) :: cell_v, cvi REAL(KIND=dp), DIMENSION(:, :), POINTER :: glob_cell_v REAL(KIND=dp), POINTER :: fembed(:) @@ -132,6 +133,7 @@ CONTAINS any_gal21 = .FALSE. any_allegro = .FALSE. any_nequip = .FALSE. + any_mace = .FALSE. any_ace = .FALSE. any_deepmd = .FALSE. CALL timeset(routineN, handle) @@ -177,6 +179,7 @@ CONTAINS pot => potparm%pot(ikind, jkind)%pot any_tersoff = any_tersoff .OR. ANY(pot%type == tersoff_type) any_nequip = any_nequip .OR. ANY(pot%type == nequip_type) + any_mace = any_mace .OR. ANY(pot%type == mace_type) any_ace = any_ace .OR. ANY(pot%type == ace_type) any_allegro = any_allegro .OR. ANY(pot%type == allegro_type) any_deepmd = any_deepmd .OR. ANY(pot%type == deepmd_type) @@ -189,21 +192,30 @@ CONTAINS ! NEQUIP IF (any_nequip) THEN NULLIFY (glob_loc_list, glob_cell_v, glob_loc_list_a) - CALL nequip_energy_store_force_virial(nonbonded, particle_set, local_particles, cell, & - atomic_kind_set, potparm, r_last_update_pbc, & - pot_nequip, fist_nonbond_env, & - para_env, use_virial, nequip_type) + CALL e3nn_energy_store_force_virial(nonbonded, particle_set, local_particles, cell, & + atomic_kind_set, potparm, r_last_update_pbc, & + pot_nequip, fist_nonbond_env, & + para_env, use_virial, nequip_type) pot_manybody = pot_manybody + pot_nequip END IF ! ALLEGRO IF (any_allegro) THEN NULLIFY (glob_loc_list, glob_cell_v, glob_loc_list_a) - CALL nequip_energy_store_force_virial(nonbonded, particle_set, local_particles, cell, & - atomic_kind_set, potparm, r_last_update_pbc, & - pot_allegro, fist_nonbond_env, & - para_env, use_virial, allegro_type) + CALL e3nn_energy_store_force_virial(nonbonded, particle_set, local_particles, cell, & + atomic_kind_set, potparm, r_last_update_pbc, & + pot_allegro, fist_nonbond_env, & + para_env, use_virial, allegro_type) pot_manybody = pot_manybody + pot_allegro END IF + ! MACE (reuses the NequIP message-passing evaluation path) + IF (any_mace) THEN + NULLIFY (glob_loc_list, glob_cell_v, glob_loc_list_a) + CALL e3nn_energy_store_force_virial(nonbonded, particle_set, local_particles, cell, & + atomic_kind_set, potparm, r_last_update_pbc, & + pot_mace, fist_nonbond_env, & + para_env, use_virial, mace_type) + pot_manybody = pot_manybody + pot_mace + END IF ! ACE IF (any_ace) THEN CALL ace_energy_store_force_virial(particle_set, cell, atomic_kind_set, potparm, & @@ -578,8 +590,8 @@ CONTAINS INTEGER, DIMENSION(:), POINTER :: glob_loc_list_a, work_list INTEGER, DIMENSION(:, :), POINTER :: glob_loc_list, list, sort_list LOGICAL :: any_ace, any_allegro, any_deepmd, & - any_gal, any_gal21, any_nequip, & - any_siepmann, any_tersoff + any_gal, any_gal21, any_mace, & + any_nequip, any_siepmann, any_tersoff REAL(KIND=dp) :: f_eam, fac, fr(3), ptens11, ptens12, ptens13, ptens21, ptens22, ptens23, & ptens31, ptens32, ptens33, rab(3), rab2, rab2_max, rtmp(3) REAL(KIND=dp), DIMENSION(3) :: cell_v, cvi @@ -599,6 +611,7 @@ CONTAINS any_tersoff = .FALSE. any_allegro = .FALSE. any_nequip = .FALSE. + any_mace = .FALSE. any_siepmann = .FALSE. any_ace = .FALSE. any_deepmd = .FALSE. @@ -660,7 +673,7 @@ CONTAINS END DO END DO IF (any_nequip) THEN - CALL nequip_add_force_virial(fist_nonbond_env, f_nonbond, pv_nonbond, use_virial) + CALL e3nn_add_force_virial(fist_nonbond_env, f_nonbond, pv_nonbond, use_virial) END IF ! ALLEGRO @@ -670,7 +683,17 @@ CONTAINS END DO END DO IF (any_allegro) THEN - CALL nequip_add_force_virial(fist_nonbond_env, f_nonbond, pv_nonbond, use_virial) + CALL e3nn_add_force_virial(fist_nonbond_env, f_nonbond, pv_nonbond, use_virial) + END IF + + ! MACE (reuses the NequIP force/virial accumulation) + DO ikind = 1, nkinds + DO jkind = ikind, nkinds + any_mace = any_mace .OR. ANY(potparm%pot(ikind, jkind)%pot%type == mace_type) + END DO + END DO + IF (any_mace) THEN + CALL e3nn_add_force_virial(fist_nonbond_env, f_nonbond, pv_nonbond, use_virial) END IF ! starting the force loop diff --git a/src/pair_potential.F b/src/pair_potential.F index 6e2d4af4f5..3f56b1de2c 100644 --- a/src/pair_potential.F +++ b/src/pair_potential.F @@ -31,7 +31,7 @@ MODULE pair_potential USE pair_potential_types, ONLY: & ace_type, allegro_type, b4_type, bm_type, compare_pot, deepmd_type, ea_type, ft_type, & ftd_type, gal21_type, gal_type, gp_type, gw_type, ip_type, list_pot, lj_charmm_type, & - lj_type, multi_type, nequip_type, nn_type, pair_potential_pp_type, & + lj_type, mace_type, multi_type, nequip_type, nn_type, pair_potential_pp_type, & pair_potential_single_type, potential_single_allocation, siepmann_type, tab_type, & tersoff_type, wl_type USE pair_potential_util, ONLY: ener_pot,& @@ -188,7 +188,8 @@ CONTAINS DO k = 1, SIZE(pot%type) SELECT CASE (pot%type(k)) CASE (lj_type, lj_charmm_type, wl_type, gw_type, ft_type, ftd_type, ip_type, & - b4_type, bm_type, gp_type, ea_type, allegro_type, nequip_type, tab_type, deepmd_type, ace_type) + b4_type, bm_type, gp_type, ea_type, allegro_type, nequip_type, mace_type, tab_type, & + deepmd_type, ace_type) pot%no_pp = .FALSE. CASE (tersoff_type) pot%no_mb = .FALSE. @@ -206,7 +207,7 @@ CONTAINS END SELECT ! Special case for EAM SELECT CASE (pot%type(k)) - CASE (ea_type, nequip_type, allegro_type, deepmd_type, ace_type) + CASE (ea_type, nequip_type, allegro_type, mace_type, deepmd_type, ace_type) pot%no_mb = .FALSE. END SELECT END DO @@ -605,7 +606,7 @@ CONTAINS nvar = 5 + nvar CASE (ea_type) nvar = 4 + nvar - CASE (nequip_type) + CASE (nequip_type, mace_type) nvar = 1 + nvar CASE (allegro_type) nvar = 1 + nvar @@ -688,7 +689,7 @@ CONTAINS pot_par(nk, 2) = potparm%pot(i, j)%pot%set(1)%eam%drhoar pot_par(nk, 3) = potparm%pot(i, j)%pot%set(1)%eam%acutal pot_par(nk, 4) = potparm%pot(i, j)%pot%set(1)%eam%npoints - CASE (nequip_type, allegro_type) + CASE (nequip_type, allegro_type, mace_type) pot_par(nk, 1) = str2id( & TRIM(potparm%pot(i, j)%pot%set(1)%nequip%pot_file_name)) CASE (ace_type) diff --git a/src/pair_potential_types.F b/src/pair_potential_types.F index 413632847a..23aacc5225 100644 --- a/src/pair_potential_types.F +++ b/src/pair_potential_types.F @@ -54,9 +54,10 @@ MODULE pair_potential_types gal21_type = 18, & tab_type = 19, & deepmd_type = 20, & - ace_type = 21 + ace_type = 21, & + mace_type = 22 - INTEGER, PUBLIC, PARAMETER, DIMENSION(21) :: list_pot = [nn_type, & + INTEGER, PUBLIC, PARAMETER, DIMENSION(22) :: list_pot = [nn_type, & lj_type, & lj_charmm_type, & ft_type, & @@ -76,7 +77,8 @@ MODULE pair_potential_types gal21_type, & tab_type, & deepmd_type, & - ace_type] + ace_type, & + mace_type] ! Shell model INTEGER, PUBLIC, PARAMETER :: nosh_nosh = 0, & @@ -468,7 +470,7 @@ CONTAINS CASE (deepmd_type) IF ((pot1%set(i)%deepmd%deepmd_file_name == pot2%set(i)%deepmd%deepmd_file_name) .AND. & (pot1%set(i)%deepmd%atom_deepmd_type == pot2%set(i)%deepmd%atom_deepmd_type)) mycompare = .TRUE. - CASE (nequip_type, allegro_type) + CASE (nequip_type, allegro_type, mace_type) IF ((pot1%set(i)%nequip%pot_file_name == pot2%set(i)%nequip%pot_file_name) .AND. & (pot1%set(i)%nequip%unit_length == pot2%set(i)%nequip%unit_length) .AND. & (pot1%set(i)%nequip%unit_forces == pot2%set(i)%nequip%unit_forces) .AND. & @@ -1289,7 +1291,7 @@ CONTAINS CALL pair_potential_goodwin_create(p%pot(i)%pot%set(std_dim)%goodwin) CASE (ea_type) CALL pair_potential_eam_create(p%pot(i)%pot%set(std_dim)%eam) - CASE (nequip_type, allegro_type) + CASE (nequip_type, allegro_type, mace_type) CALL pair_potential_nequip_create(p%pot(i)%pot%set(std_dim)%nequip) CASE (ace_type) CALL pair_potential_ace_create(p%pot(i)%pot%set(std_dim)%ace) diff --git a/tests/Fist/regtest-mace/TEST_FILES.toml b/tests/Fist/regtest-mace/TEST_FILES.toml new file mode 100644 index 0000000000..4e86987486 --- /dev/null +++ b/tests/Fist/regtest-mace/TEST_FILES.toml @@ -0,0 +1,3 @@ +# Test of MACE using libtorch https://pytorch.org/cppdocs/installing.html +"mace_test.inp" = [{matcher="M011", tol=1.0E-9, ref=-1532.363300232407482}] +#EOF \ No newline at end of file diff --git a/tests/Fist/regtest-mace/mace-test.xyz b/tests/Fist/regtest-mace/mace-test.xyz new file mode 100644 index 0000000000..de5d503ae3 --- /dev/null +++ b/tests/Fist/regtest-mace/mace-test.xyz @@ -0,0 +1,34 @@ +32 +Lattice="7.23 0.0 0.0 0.0 7.23 0.0 0.0 0.0 7.23" Properties=species:S:1:pos:R:3 pbc="T T T" +Cu 7.19929385 0.07184150 7.15208419 +Cu 7.14664045 2.10236709 2.01651087 +Cu 1.82143618 0.04226192 1.92285339 +Cu 1.99446521 1.95857840 7.03556683 +Cu 0.04124875 0.03433693 3.81793753 +Cu 0.13296440 1.50725440 5.36672362 +Cu 2.05785380 7.16421454 5.34153878 +Cu 1.87904775 2.29484159 3.46181587 +Cu 7.14343690 3.63361819 0.04539203 +Cu 0.07856581 5.42264104 2.00907147 +Cu 1.70046840 3.49032697 1.45196525 +Cu 1.52838588 5.29338639 0.08402179 +Cu 7.04010983 3.63297407 3.45547313 +Cu 0.04993241 5.06858718 5.39256856 +Cu 1.57620067 3.46938961 5.22644546 +Cu 1.85045246 5.47919762 3.50191702 +Cu 3.66469285 0.20246133 0.01048150 +Cu 3.65200112 1.80572076 1.95822174 +Cu 5.62157919 7.09211077 1.57513403 +Cu 5.42582769 1.92125447 7.13092135 +Cu 3.74438701 7.22849521 3.62250140 +Cu 3.71553234 1.93544475 5.27911967 +Cu 5.41897600 6.88436492 5.32462967 +Cu 5.23975470 1.60760854 3.77619340 +Cu 3.72354623 3.71850028 0.15023152 +Cu 3.53953689 5.32915887 1.66932471 +Cu 5.31356798 3.64843433 1.81519742 +Cu 5.24884208 5.54500604 0.06504144 +Cu 3.76661054 3.88873128 3.46537226 +Cu 3.74258866 5.40276336 5.55936212 +Cu 5.45073160 3.94041922 5.40526077 +Cu 5.72305460 5.42694152 3.73428797 diff --git a/tests/Fist/regtest-mace/mace_test.inp b/tests/Fist/regtest-mace/mace_test.inp new file mode 100644 index 0000000000..feabc680c5 --- /dev/null +++ b/tests/Fist/regtest-mace/mace_test.inp @@ -0,0 +1,41 @@ +&GLOBAL + PRINT_LEVEL LOW + PROJECT mace_test + RUN_TYPE ENERGY_FORCE +&END GLOBAL + +&FORCE_EVAL + METHOD FIST + #STRESS_TENSOR ANALYTICAL + &MM + &FORCEFIELD + &NONBONDED + &MACE + ATOMS Cu + POT_FILE_NAME MACE/MACE_scratch_run-3.model-cp2k.pth + &END MACE + &END NONBONDED + &END FORCEFIELD + &POISSON + &EWALD + EWALD_TYPE none + &END EWALD + &END POISSON + &END MM + &PRINT + &FORCES ON + &END FORCES + #&STRESS_TENSOR ON + #&END STRESS_TENSOR + &END PRINT + &SUBSYS + &CELL + CELL_FILE_FORMAT XYZ + CELL_FILE_NAME ./mace-test.xyz + &END CELL + &TOPOLOGY + COORD_FILE_FORMAT XYZ + COORD_FILE_NAME ./mace-test.xyz + &END TOPOLOGY + &END SUBSYS +&END FORCE_EVAL diff --git a/tests/TEST_DIRS b/tests/TEST_DIRS index b20afb6390..4bcedaf889 100644 --- a/tests/TEST_DIRS +++ b/tests/TEST_DIRS @@ -3,6 +3,7 @@ # Directories have been reordered according the execution time needed for a gfortran pdbg run using 2 MPI tasks # in case a new directory is added just add it at the top of the list.. # the order will be regularly checked and modified... +Fist/regtest-mace libtorch QS/regtest-floquet QS/regtest-dft-d4-auto-ref libdftd4 libint !ifx QS/regtest-dft-d2-auto-ref libint !ifx diff --git a/tools/docker/scripts/test_misc.sh b/tools/docker/scripts/test_misc.sh index fe39415cc9..d3fc3dc645 100755 --- a/tools/docker/scripts/test_misc.sh +++ b/tools/docker/scripts/test_misc.sh @@ -44,6 +44,7 @@ run_test ./tools/pao-ml/pao-validate.py --threshold=1e-5 --model="tests/QS/regte run_test ./tools/vibronic_spec/main.py ./tools/vibronic_spec/example/example_config.toml run_test mypy --strict ./tools/pao-ml/ +run_test mypy --strict ./tools/mace/create_cp2k_model.py run_test mypy --strict ./tools/minimax_tools/minimax_to_fortran_source.py run_test mypy --strict ./tools/dashboard/generate_dashboard.py run_test mypy --strict ./tools/regtesting/optimize_test_dirs.py diff --git a/tools/mace/create_cp2k_model.py b/tools/mace/create_cp2k_model.py new file mode 100644 index 0000000000..16b097b0ce --- /dev/null +++ b/tools/mace/create_cp2k_model.py @@ -0,0 +1,190 @@ +# pylint: disable=wrong-import-position +""" +Export a trained MACE model to a TorchScript file that can be loaded by CP2K. + +The export script must be executed in an environment where MACE is installed. + +Required packages: + * torch: required for loading and converting the model. + * e3nn: required by MACE for JIT compilation. + * mace-torch: required because the trained MACE model is loaded using + torch and its original model classes must be available. + +The MACE version used for export should be compatible with the version +used for training the model. + +After exporting, the CP2K-compatible `.pth` file can be loaded by CP2K +through the LibTorch interface. No MACE, e3nn, or Python installation is +required during CP2K simulations. + +Usage: + python create_cp2k_model.py my_mace.model --dtype float64 --head default + -> writes my_mace.model-cp2k.pth +""" + +import argparse +import os +from typing import Any, Dict, Optional + +os.environ["TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD"] = "1" + +import torch +from e3nn.util import jit # type: ignore +from e3nn.util.jit import compile_mode # type: ignore + +# Z -> chemical symbol table (index == atomic number). Covers the dummy X plus +# all 118 known elements, matching CP2K's src/common/periodic_table.F. +chemical_symbols = ["X"] + """ + H He Li Be B C N O F Ne Na Mg Al Si P S Cl Ar K Ca Sc Ti V Cr Mn Fe Co + Ni Cu Zn Ga Ge As Se Br Kr Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb + Te I Xe Cs Ba La Ce Pr Nd Pm Sm Eu Gd Tb Dy Ho Er Tm Yb Lu Hf Ta W Re Os + Ir Pt Au Hg Tl Pb Bi Po At Rn Fr Ra Ac Th Pa U Np Pu Am Cm Bk Cf Es Fm + Md No Lr Rf Db Sg Bh Hs Mt Ds Rg Cn Nh Fl Mc Lv Ts Og +""".split() + + +@compile_mode("script") +class CP2K_MACE(torch.nn.Module): + """MACE model wrapped for CP2K's single-dictionary libtorch interface.""" + + head: torch.Tensor + + def __init__(self, model: Any, head: Optional[str] = None) -> None: + super().__init__() + self.model = model + self.register_buffer("atomic_numbers", model.atomic_numbers) + self.register_buffer("r_max", model.r_max) + self.register_buffer("num_interactions", model.num_interactions) + self.num_types: int = int(model.atomic_numbers.shape[0]) + + if not hasattr(model, "heads"): + model.heads = [None] + if head is not None and head in model.heads: + head_idx = model.heads.index(head) + else: + head_idx = len(model.heads) - 1 + self.register_buffer( + "head", torch.tensor(head_idx, dtype=torch.long).unsqueeze(0) + ) + + for param in self.model.parameters(): + param.requires_grad = False + + def forward( + self, data: Dict[str, torch.Tensor] + ) -> Dict[str, Optional[torch.Tensor]]: + pos = data["pos"] + edge_index = data["edge_index"] + unit_shifts = data["edge_cell_shift"] + cell = data["cell"].view(3, 3) + atom_types = data["atom_types"].to(torch.long) + n_atoms = pos.shape[0] + + # one-hot node attributes expected by MACE + node_attrs = torch.nn.functional.one_hot( + atom_types, num_classes=self.num_types + ).to(pos.dtype) + + # real-space edge shift vectors: unit_shifts @ cell (Angstrom) + shifts = torch.matmul(unit_shifts, cell) + + batch = torch.zeros(n_atoms, dtype=torch.long, device=pos.device) + ptr = torch.tensor([0, n_atoms], dtype=torch.long, device=pos.device) + + mace_in: Dict[str, torch.Tensor] = { + "positions": pos, + "node_attrs": node_attrs, + "edge_index": edge_index, + "shifts": shifts, + "unit_shifts": unit_shifts, + "cell": cell, + "batch": batch, + "ptr": ptr, + "head": self.head, + } + + out = self.model( + mace_in, + training=False, + compute_force=True, + compute_virials=True, + compute_stress=False, + compute_displacement=True, + ) + + node_energy = out["node_energy"] + forces = out["forces"] + virials = out["virials"] + + atomic_energy: Optional[torch.Tensor] = None + if node_energy is not None: + atomic_energy = node_energy.unsqueeze(-1) + + virial: Optional[torch.Tensor] = None + if virials is not None: + virial = virials.view(3, 3) + + return { + "atomic_energy": atomic_energy, + "forces": forces, + "virial": virial, + } + + +def build_metadata(model: Any, dtype: str) -> Dict[str, str]: + z = model.atomic_numbers.to(torch.long).tolist() + type_names = " ".join(chemical_symbols[int(zi)] for zi in z) + return { + "num_types": str(len(z)), + "r_max": repr(float(model.r_max)), + "type_names": type_names, + "model_dtype": dtype, + "allow_tf32": "0", + # MACE uses a single global cutoff; leave per-edge-type cutoffs empty so + # CP2K's reader falls back to filling the cutoff matrix with r_max**2. + "per_edge_type_cutoff": "", + } + + +def parse_args() -> argparse.Namespace: + p = argparse.ArgumentParser(description=__doc__) + p.add_argument("model_path", help="Path to the trained MACE .model file") + p.add_argument( + "--head", default=None, help="Model head to export (multi-head models)" + ) + p.add_argument("--dtype", choices=["float64", "float32"], default="float64") + p.add_argument( + "--output", default=None, help="Output path (default: -cp2k.pth)" + ) + return p.parse_args() + + +def main() -> None: + args = parse_args() + model = torch.load(args.model_path, map_location="cpu") + if args.dtype == "float64": + model = model.double() + else: + print("Converting model to float32, this may cause loss of precision.") + model = model.float() + model = model.to("cpu") + + wrapper = CP2K_MACE(model, head=args.head) + wrapper.eval() + + scripted = jit.compile(wrapper) + + metadata = build_metadata(model, args.dtype) + extra_files = {k: v.encode("utf-8") for k, v in metadata.items()} + + out_path = args.output or (args.model_path + "-cp2k.pth") + scripted.save(out_path, _extra_files=extra_files) + + print(f"Wrote CP2K MACE model to: {out_path}") + print("Metadata:") + for k, v in metadata.items(): + print(f" {k}: {v}") + + +if __name__ == "__main__": + main()