Closed Luthaf closed 1 year ago
The documentation for this PR is (or will soon be) available on readthedocs: https://rascaline--146.org.readthedocs.build/en/146/
Here is a pre-built version of the code in this pull request: wheels.zip, you can install it locally by unzipping wheels.zip
and using pip
to install the file matching your system
Previously, we where looking up block/sample/property for each pair and directly storing pair contributions into equistore. This lookup and accumulation was taking 4x longer than the calculation of pair contribution to the spherical expansion.
The new code accumulates data for all pairs first into temporary arrays, and later moves the data to equistore, making the spherical expansion up to 60% faster without gradients and 15% faster with gradients; while increasing the max RSS requirements by around 35%.
This was discovered while porting rascaline to use https://github.com/lab-cosmo/equistore/pull/85. I'll check that it does improve the results there as well before merging this PR!
benchmarks results