From 33546c6bf2592b4d0afdd5053fd2fb8bbc38002e Mon Sep 17 00:00:00 2001 From: Luthaf Date: Thu, 25 Apr 2024 16:36:39 +0200 Subject: [PATCH] Add regtest without any dependency, using pre-generated model --- regtest/metatensor/rt-basic/Makefile | 1 + regtest/metatensor/rt-basic/config | 6 + regtest/metatensor/rt-basic/cv.py | 164 ++++++++++++++++++ regtest/metatensor/rt-basic/forces.reference | 11 ++ regtest/metatensor/rt-basic/plumed.dat | 64 +++++++ regtest/metatensor/rt-basic/scalar-global.pt | Bin 0 -> 30107 bytes .../metatensor/rt-basic/scalar-per-atom.pt | Bin 0 -> 30147 bytes .../rt-basic/scalar_global.reference | 2 + .../rt-basic/scalar_per_atom.reference | 2 + regtest/metatensor/rt-basic/structure.xyz | 11 ++ regtest/metatensor/rt-basic/vector-global.pt | Bin 0 -> 30107 bytes .../metatensor/rt-basic/vector-per-atom.pt | Bin 0 -> 30147 bytes .../rt-basic/vector_global.reference | 2 + .../rt-basic/vector_per_atom.reference | 2 + src/metatensor/metatensor.cpp | 2 +- 15 files changed, 266 insertions(+), 1 deletion(-) create mode 100644 regtest/metatensor/rt-basic/Makefile create mode 100644 regtest/metatensor/rt-basic/config create mode 100644 regtest/metatensor/rt-basic/cv.py create mode 100644 regtest/metatensor/rt-basic/forces.reference create mode 100644 regtest/metatensor/rt-basic/plumed.dat create mode 100644 regtest/metatensor/rt-basic/scalar-global.pt create mode 100644 regtest/metatensor/rt-basic/scalar-per-atom.pt create mode 100644 regtest/metatensor/rt-basic/scalar_global.reference create mode 100644 regtest/metatensor/rt-basic/scalar_per_atom.reference create mode 100644 regtest/metatensor/rt-basic/structure.xyz create mode 100644 regtest/metatensor/rt-basic/vector-global.pt create mode 100644 regtest/metatensor/rt-basic/vector-per-atom.pt create mode 100644 regtest/metatensor/rt-basic/vector_global.reference create mode 100644 regtest/metatensor/rt-basic/vector_per_atom.reference diff --git a/regtest/metatensor/rt-basic/Makefile b/regtest/metatensor/rt-basic/Makefile new file mode 100644 index 0000000000..3703b27cea --- /dev/null +++ b/regtest/metatensor/rt-basic/Makefile @@ -0,0 +1 @@ +include ../../scripts/test.make diff --git a/regtest/metatensor/rt-basic/config b/regtest/metatensor/rt-basic/config new file mode 100644 index 0000000000..13056b660d --- /dev/null +++ b/regtest/metatensor/rt-basic/config @@ -0,0 +1,6 @@ +plumed_modules=metatensor +plumed_needs=metatensor +type=driver + +# NOTE: to enable --debug-forces, also change the dtype of the models to float64 +arg="--plumed plumed.dat --ixyz structure.xyz --length-units A --dump-forces forces --dump-forces-fmt %8.2f" # --debug-forces forces.num" diff --git a/regtest/metatensor/rt-basic/cv.py b/regtest/metatensor/rt-basic/cv.py new file mode 100644 index 0000000000..1b72970117 --- /dev/null +++ b/regtest/metatensor/rt-basic/cv.py @@ -0,0 +1,164 @@ +from typing import Dict, List, Optional + +import torch +from metatensor.torch import Labels, TensorBlock, TensorMap +from metatensor.torch.atomistic import ( + MetatensorAtomisticModel, + ModelCapabilities, + ModelMetadata, + ModelOutput, + NeighborsListOptions, + System, +) + + +class TestCollectiveVariable(torch.nn.Module): + r""" + This class computes a simple CV which is then used to test metatensor integration + with PLUMED. + + The per-atom CV is defined as a sum over all pairs for an atom: + + CV^1_i = \sum_j 1/r_ij + CV^2_i = \sum_j 1/r_ij^2 + + The global CV is a sum over all atoms of the per-atom CV: + + CV^1 = \sum_i CV^1_i + CV^2 = \sum_i CV^2_i + + If ``multiple_properties=True``, a only CV^1 is returned, otherwise both CV^1 and + CV^2 are returned. + """ + + def __init__(self, cutoff, multiple_properties): + super().__init__() + + self._nl_request = NeighborsListOptions(cutoff=cutoff, full_list=True) + self._multiple_properties = multiple_properties + + def forward( + self, + systems: List[System], + outputs: Dict[str, ModelOutput], + selected_atoms: Optional[Labels], + ) -> Dict[str, TensorMap]: + + if "plumed::cv" not in outputs: + return {} + + device = torch.device("cpu") + if len(systems) > 0: + device = systems[0].positions.device + + if selected_atoms is not None: + raise ValueError("selected atoms is not supported") + + output = outputs["plumed::cv"] + + if output.per_atom: + samples_list: List[List[int]] = [] + for s, system in enumerate(systems): + for i in range(len(system)): + samples_list.append([s, i]) + + samples = Labels( + ["system", "atom"], + torch.tensor(samples_list, device=device), + ) + else: + samples = Labels( + "system", torch.arange(len(systems), device=device).reshape(-1, 1) + ) + + if self._multiple_properties: + properties = Labels("cv", torch.tensor([[0], [1]], device=device)) + else: + properties = Labels("cv", torch.tensor([[0]], device=device)) + + values = torch.zeros( + (len(samples), len(properties)), dtype=torch.float32, device=device + ) + system_start = 0 + for system_i, system in enumerate(systems): + system_stop = system_start + len(system) + + neighbors = system.get_neighbors_list(self._nl_request) + + atom_index = neighbors.samples.column("first_atom") + distances = torch.linalg.vector_norm(neighbors.values.reshape(-1, 3), dim=1) + inv_dist = 1.0 / distances + + if distances.shape[0] != 0: + if output.per_atom: + sliced = values[system_start:system_stop, 0] + sliced += sliced.index_add(0, atom_index, inv_dist) + else: + values[system_i, 0] += inv_dist.sum() + + if self._multiple_properties: + if output.per_atom: + sliced = values[system_start:system_stop, 1] + sliced += sliced.index_add(0, atom_index, inv_dist**2) + else: + values[system_i, 1] += inv_dist.sum() ** 2 + + system_start = system_stop + + block = TensorBlock( + values=values, + samples=samples, + components=[], + properties=properties, + ) + cv = TensorMap( + keys=Labels("_", torch.tensor([[0]], device=device)), + blocks=[block], + ) + + return {"plumed::cv": cv} + + def requested_neighbors_lists(self) -> List[NeighborsListOptions]: + return [self._nl_request] + + +CUTOFF = 3.5 + +capabilities = ModelCapabilities( + outputs={"plumed::cv": ModelOutput(per_atom=True)}, + interaction_range=CUTOFF, + supported_devices=["cpu", "mps", "cuda"], + length_unit="A", + atomic_types=[6], + dtype="float32", +) + +# export all variations of the model +cv = TestCollectiveVariable(cutoff=CUTOFF, multiple_properties=False) +cv.eval() +model = MetatensorAtomisticModel(cv, ModelMetadata(), capabilities) +model.export("scalar-per-atom.pt") + +cv = TestCollectiveVariable(cutoff=CUTOFF, multiple_properties=True) +cv.eval() +model = MetatensorAtomisticModel(cv, ModelMetadata(), capabilities) +model.export("vector-per-atom.pt") + +capabilities = ModelCapabilities( + outputs={"plumed::cv": ModelOutput(per_atom=False)}, + interaction_range=CUTOFF, + supported_devices=["cpu", "mps", "cuda"], + length_unit="A", + atomic_types=[6], + dtype="float32", +) + +cv = TestCollectiveVariable(cutoff=CUTOFF, multiple_properties=False) +cv.eval() +model = MetatensorAtomisticModel(cv, ModelMetadata(), capabilities) +model.export("scalar-global.pt") + +cv = TestCollectiveVariable(cutoff=CUTOFF, multiple_properties=True) +cv.eval() +model = MetatensorAtomisticModel(cv, ModelMetadata(), capabilities) +model.export("vector-global.pt") diff --git a/regtest/metatensor/rt-basic/forces.reference b/regtest/metatensor/rt-basic/forces.reference new file mode 100644 index 0000000000..92e9575e70 --- /dev/null +++ b/regtest/metatensor/rt-basic/forces.reference @@ -0,0 +1,11 @@ +9 +-4809.71 -5697.44 -5071.73 +X 147.68 -79.47 -178.64 +X -174.52 -55.59 124.40 +X -216.07 78.68 152.02 +X -425.43 203.97 277.68 +X 71.52 -44.53 35.34 +X 231.25 -151.21 -440.05 +X 141.26 -55.91 -67.49 +X 208.93 -18.51 211.77 +X 15.37 122.58 -115.02 diff --git a/regtest/metatensor/rt-basic/plumed.dat b/regtest/metatensor/rt-basic/plumed.dat new file mode 100644 index 0000000000..bb0177dad8 --- /dev/null +++ b/regtest/metatensor/rt-basic/plumed.dat @@ -0,0 +1,64 @@ +scalar_global: METATENSOR ... + MODEL=scalar-global.pt + DEVICE=cpu + # DEVICE=cuda + # DEVICE=mps + + SPECIES1=1-9 + SPECIES_TO_TYPES=6 +... + +PRINT ARG=scalar_global FILE=scalar_global FMT=%8.2f + + +scalar_per_atom: METATENSOR ... + MODEL=scalar-per-atom.pt + DEVICE=cpu + # DEVICE=cuda + # DEVICE=mps + + SPECIES1=1-9 + SPECIES_TO_TYPES=6 +... + +PRINT ARG=scalar_per_atom FILE=scalar_per_atom FMT=%8.2f + + +vector_global: METATENSOR ... + MODEL=vector-global.pt + DEVICE=cpu + # DEVICE=cuda + # DEVICE=mps + + SPECIES1=1-9 + SPECIES_TO_TYPES=6 +... + +PRINT ARG=vector_global FILE=vector_global FMT=%8.2f + + +vector_per_atom: METATENSOR ... + MODEL=vector-per-atom.pt + DEVICE=cpu + # DEVICE=cuda + # DEVICE=mps + + SPECIES1=1-9 + SPECIES_TO_TYPES=6 +... + +PRINT ARG=vector_per_atom FILE=vector_per_atom FMT=%8.2f + + +scalar_per_atom_sum: SUM ARG=scalar_per_atom PERIODIC=NO +vector_global_sum: SUM ARG=vector_global PERIODIC=NO +vector_per_atom_sum: SUM ARG=vector_per_atom PERIODIC=NO + +summed: CUSTOM ... + ARG=scalar_global,scalar_per_atom_sum,vector_global_sum,vector_per_atom_sum + VAR=x,y,z,t + FUNC=x+y+z+t + PERIODIC=NO +... + +BIASVALUE ARG=summed diff --git a/regtest/metatensor/rt-basic/scalar-global.pt b/regtest/metatensor/rt-basic/scalar-global.pt new file mode 100644 index 0000000000000000000000000000000000000000..266f0dd71b7f516b9d3f223ab6081eb39caf6e14 GIT binary patch literal 30107 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 Udt-|5)9T+}gA4QX{NK*~e<){mKmY&$ literal 0 HcmV?d00001 diff --git a/regtest/metatensor/rt-basic/scalar-per-atom.pt b/regtest/metatensor/rt-basic/scalar-per-atom.pt new file mode 100644 index 0000000000000000000000000000000000000000..fb8369a134951977aaa32f3ff626585769214a50 GIT binary patch literal 30147 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 TbP;}d2Y1)t!2J0BuiyPY1bK&= literal 0 HcmV?d00001 diff --git a/regtest/metatensor/rt-basic/scalar_global.reference b/regtest/metatensor/rt-basic/scalar_global.reference new file mode 100644 index 0000000000..ac566d8269 --- /dev/null +++ b/regtest/metatensor/rt-basic/scalar_global.reference @@ -0,0 +1,2 @@ +#! FIELDS time scalar_global + 0.000000 87.04 diff --git a/regtest/metatensor/rt-basic/scalar_per_atom.reference b/regtest/metatensor/rt-basic/scalar_per_atom.reference new file mode 100644 index 0000000000..f5b24df224 --- /dev/null +++ b/regtest/metatensor/rt-basic/scalar_per_atom.reference @@ -0,0 +1,2 @@ +#! FIELDS time scalar_per_atom.1 scalar_per_atom.2 scalar_per_atom.3 scalar_per_atom.4 scalar_per_atom.5 scalar_per_atom.6 scalar_per_atom.7 scalar_per_atom.8 scalar_per_atom.9 + 0.000000 9.73 9.34 9.93 9.06 8.87 10.28 9.32 9.93 10.58 diff --git a/regtest/metatensor/rt-basic/structure.xyz b/regtest/metatensor/rt-basic/structure.xyz new file mode 100644 index 0000000000..d1d831dae6 --- /dev/null +++ b/regtest/metatensor/rt-basic/structure.xyz @@ -0,0 +1,11 @@ +9 +4.0 4.0 4.0 +C 2.3535 5.10858 4.48679 +C 2.83322 3.38203 3.004 +C 3.66083 1.24405 2.65283 +C 3.81093 3.40544 1.76377 +C 4.22474 0.188689 3.59337 +C 4.29399 7.00701 1.25775 +C 4.52552 4.72654 1.62947 +C 4.63227 2.20046 2.00559 +C 5.4412 1.75131 0.827934 diff --git a/regtest/metatensor/rt-basic/vector-global.pt b/regtest/metatensor/rt-basic/vector-global.pt new file mode 100644 index 0000000000000000000000000000000000000000..d19f341b182a95988bb554f1fbd5deddac5fbaab GIT binary patch literal 30107 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 Uql@saddValue({this->n_samples_, this->n_properties_}); + this->addValue(); } else if (n_samples_ == 1) { log.printf(" the output of this model is 1x%d vector\n", n_properties_);