Improving environment
Opened this issue · 0 comments
The environment is still based on running MMFF optimizations on CPU. It would seem that finding a way to base the environment on a GPU potential energy surface implementation would improve the overall balance between environment performance and accuracy. We've explored improving this in the past but decided it wasn't worth the effort until after the initial TorsionNet paper was accepted. Things we've tried so far:
- Running a GPU implementation for the Generalized Amber Force Field (GAFF) in the openmm python library
- Tarun found that this was actually slower because of overhead issues although there were leads on potential ways to bypass this
- RDKit thought that they might implement a wrapper to run a GPU implementation for MMFF in openmm in summer 2020 although I haven't seen evidence that this happened
Either of these options could be looked into further for potential value. Another potential option is TorchANI. The code is described as in "alpha release" but if it is sufficiently robust this is a particularly appealing solution because it generates the energy by generating vectors associated with each atom. This could potentially serve as a better alternative to the graph convolution part of TorsionNet. Using the neural network representation at the level before aggregating to compute an energy may be more helpful than the energy by itself.
Update 8/12/21: recent conversations with Paul have me leaning towards trying xTB as a next step for environment improvement. From Zeke's experience it is both reasonably efficient, reasonably accurate, and trusted within the computational chemistry community.