19#pragma GCC diagnostic push
20#pragma GCC diagnostic ignored "-Wpedantic"
21#pragma GCC diagnostic ignored "-Wunused-parameter"
22#pragma GCC diagnostic ignored "-Wfloat-equal"
23#pragma GCC diagnostic ignored "-Wfloat-conversion"
24#pragma GCC diagnostic ignored "-Wsign-conversion"
25#pragma GCC diagnostic ignored "-Wold-style-cast"
27#include <torch/script.h>
28#include <torch/version.h>
29#if __has_include(<torch/cuda.h>)
30#include <torch/cuda.h>
32#if __has_include(<torch/mps.h>)
36#include "metatensor/torch.hpp"
37#include "metatensor/torch/module.hpp"
38#include "metatomic/torch.hpp"
40#pragma GCC diagnostic pop
91 metatensor_torch::TensorBlock
93 const double *positions,
const double *box,
94 const bool periodic[3]);
128 void force(
long nAtoms,
const double *positions,
const int *atomicNrs,
129 double *forces,
double *energy,
double *variance,
130 const double *box)
override;
136 [[nodiscard]]
bool isThreadSafe() const noexcept
override {
return false; }
148 void forceBatch(
long nSystems,
long nAtoms,
const double *
const *positions,
149 const int *
const *atomicNrs,
double *
const *forces,
150 double *energies,
double *variances,
151 const double *
const *boxes)
override;
Potential(PotType a_ptype)
RAII helper for class-scoped logging.