ispg-group / aiidalab-ispg

ATMOSPEC: ab initio UV/vis spectroscopy for everyone
MIT License
6 stars 4 forks source link

Compare timings for ASE/xtb-python versus xtb #12

Open danielhollas opened 2 years ago

danielhollas commented 2 years ago

If we want to preoptimize molecules by xtb in real time in SMILES widget, it needs to be fast. And currently, it is not fast even for smallest molecule.

It seems that the problem is the slow ASE interface, but we need to verify that.

See issue

https://github.com/grimme-lab/xtb-python/issues/38

Unfortunately, optimizing directly via xtb might be non-trivial, per:

https://github.com/grimme-lab/xtb/issues/403

Perhaps as an ugly workaround we could ditch xtb-python and shell directly to xtb and parse the results?

Note also some additional info in https://github.com/aiidalab/aiidalab-widgets-base/issues/161

awvwgk commented 2 years ago

And currently, it is not fast even for smallest molecule.

Fast in the sense of performance for the single point calculations or in the sense of iterations needed in the optimizer? The latter is were ASE is lacking compared to the optimizer in xtb.

danielhollas commented 2 years ago

@awvwgk good question. My impression is the former. Even just two iterations using ASE optimizer takes several seconds for small organic molecules (couple carbons). Perhaps this is expected, perhaps I am doing something wrong. Either way I need to do a proper benchmark, hopefully sometimes in the next two weeks.

I can test the overhead of xtb-python/ASE by directly calling xtb from Python.

danielhollas commented 1 year ago

https://github.com/jvalegre/aqme/commit/2799ee815a3ac91623c15dafc8a6f3eb8a7e649b

danielhollas commented 2 months ago

We might be able to use tblite with ASE, in case that is faster https://tblite.readthedocs.io/en/latest/users/ase.html