Thanks for your interest. See below.
On Mon, Jun 4, 2018 at 8:26 PM, Luke Gibson [email protected] wrote:
I was wondering if it was possible to call a neural network model that was
built in AMP from OpenKIM. I am following a recent bitbucket issue (
parallelize-fingerprint-derivatives) wherein it was discussed that an
AMP-OpenKIM interface was being developed. Is this available or would I
need to implement it myself?
Just to clarify, OpenKIM is not any sort of simulation software per se.
As far as AMP is concerned, you should think of OpenKIM fundamentally in
terms of the KIM API (https://openkim.org/kim-api;
https://github.com/openkim/kim-api). The KIM API provides a standard
interface through which potentials and simulators can communicate relevant
quantities such as atomic coordinates, forces, the potential energy, etc.
A potential needs to be specially written to conform to these interface, in
which case we refer to it as a KIM Model. A KIM Model is created such that
it contains special routines that allow a simulator to, for example, pass
it a set of atomic coordinates and have it return the forces and total
Because the above definition of a KIM Model is fairly abstract, i.e. the
KIM API doesn’t care how the Model goes about computing energy/forces/etc,
it is indeed possible to create a neural network-based KIM Model. In fact,
one of our developers, Mingjian Wen, is working on just that.
There was a request for an AMP-KIM interface some time ago. At that
juncture, our KIM-python interface (called “openkim-python”) was
autogenerated using SWIG and had a few problems that were causing hiccups
such as segfaults. Thankfully, one of our developers, Mingjian Wen,
rebuilt the KIM-python interface from scratch, as well as the ASE
“calculator” for KIM: see the kimpy https://github.com/mjwen/kimpy and
kimcalculator https://github.com/mjwen/kimcalculator repos on github.
That being said, there is currently no existing AMP-KIM interface as of
this moment. If you’re interested in doing this, Mingjian and I can
My primary issue is the same as what is stated in the issue I
linked–calculation of fingerprint derivatives is highly parallelizable,
but is still performed serially in AMP/ASE. They claim that this can be
circumvented via an interface with OpenKIM. Are there any thoughts on this?
If I understand correctly, you don’t necessarily care about the specific
values of the fingerprint derivatives (which I’m interpreting to be the
derivative of the energy with respect to the atomic environment descriptor
associated with a given atom) but rather only the total atomic forces. Is