diff --git a/.github/workflows/linuxWF.yml b/.github/workflows/linuxWF.yml index 67d8d1c4f3..02bfecf877 100644 --- a/.github/workflows/linuxWF.yml +++ b/.github/workflows/linuxWF.yml @@ -86,7 +86,7 @@ jobs: mdtraj \ MDAnalysis \ "torch>=2.7" \ - "metatomic-torch>=0.1,<0.2" \ + "metatomic-torch>=0.1.3,<0.2" \ "featomic-torch==0.7.0" # torch 2.7 above is the first one to use cxx11 ABI for the PyPI wheels diff --git a/regtest/metatomic/Makefile b/regtest/metatomic/Makefile new file mode 100644 index 0000000000..430b3123ed --- /dev/null +++ b/regtest/metatomic/Makefile @@ -0,0 +1 @@ +include ../scripts/module.make diff --git a/src/metatomic/metatomic.cpp b/src/metatomic/metatomic.cpp index 4e4ab19270..3b27273ca1 100644 --- a/src/metatomic/metatomic.cpp +++ b/src/metatomic/metatomic.cpp @@ -762,13 +762,14 @@ metatensor_torch::TensorBlock MetatomicPlumedAction::computeNeighbors( torch::TensorOptions().dtype(torch::kFloat64).device(torch::kCPU) ); - auto pair_samples_values = torch::zeros({n_pairs, 5}, labels_options.device(torch::kCPU)); + auto pair_samples_values = torch::empty({n_pairs, 5}, labels_options.device(torch::kCPU)); + auto pair_samples_values_ptr = pair_samples_values.accessor(); for (unsigned i=0; i(vesin_neighbor_list->pairs[i][0]); - pair_samples_values[i][1] = static_cast(vesin_neighbor_list->pairs[i][1]); - pair_samples_values[i][2] = vesin_neighbor_list->shifts[i][0]; - pair_samples_values[i][3] = vesin_neighbor_list->shifts[i][1]; - pair_samples_values[i][4] = vesin_neighbor_list->shifts[i][2]; + pair_samples_values_ptr[i][0] = static_cast(vesin_neighbor_list->pairs[i][0]); + pair_samples_values_ptr[i][1] = static_cast(vesin_neighbor_list->pairs[i][1]); + pair_samples_values_ptr[i][2] = vesin_neighbor_list->shifts[i][0]; + pair_samples_values_ptr[i][3] = vesin_neighbor_list->shifts[i][1]; + pair_samples_values_ptr[i][4] = vesin_neighbor_list->shifts[i][2]; } auto neighbor_samples = torch::make_intrusive(