Closed loriab closed 9 months ago
@loriab looks good, I only tweaked this slightly (spherical multipoles operator components use standard order always ... this makes sense by analogy with the cartesian multipole operator components not depending on the Cartesian shell order)
@loriab which is the next PR in the laundry list?
Great, thanks! #270 is next and presently includes the commits of this one, so lmk if you'd like me to rebase.
Sure that would be helpful. Also if you want to squash related commits (try xxx) feel free ... I am not prmedabtic/paranoid about the history ...
On Sun, Sep 17, 2023, 4:27 PM Lori A. Burns @.***> wrote:
Great, thanks! @270 https://github.com/270 is next and presently includes the commits of this one, so lmk if you'd like me to rebase.
— Reply to this email directly, view it on GitHub https://github.com/evaleev/libint/pull/269#issuecomment-1722561196, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQXIZZFL5CDWON2Y7TH3Y3X25MKTANCNFSM6AAAAAA4CGXI2E . You are receiving this because your review was requested.Message ID: @.***>
Sure that would be helpful. Also if you want to squash related commits (try xxx) feel free ... I am not prmedabtic/paranoid about the history ...
Sure, I'll fix up 270 after this one is merged (GHA just completed). All the "try xxx" are long gone -- it's actually reviewable commit-by-commit if you prefer.
@loriab heads up: re-enabled FOR_SOLIDHARM
to be able to write generic code that can work with any Libint2 library
(in order of decreasing importance)
[x] add runtime switchable solid harmonic ordering
INT_SOLIDHARMINDEX(l, m)
with 2 args has been deprecated (throws a warning) but still returns the value as the library was configured at build-time. a newINT_SOLIDHARMINDEX(sho, l, m)
with 3 args returns the value according to the SH ordering requested in the new 1st arg.solidharmonics.h
, generating the indices switches from ifdefs to logic.[added 3 Sept] see https://github.com/evaleev/libint/pull/271/commits/05ff2f12e35dbce950cc1faa586e60367385a05e for testing of the runtime switchable SHO functionality.
[x] the only non-runtime-switchable use of solid harmonics is for generating the multipole ints code in build_libint.cc . we discussed possibly removing that option and settling on STANDARD. but for now to be minimally disruptive, it's still configurable.
[x] more migration from
find_package(PythonInterp)
tofind_package(Python COMPONENTS Interpreter Development)
. Specify directly withPython_EXECUTABLE
. Hint behavior is complex, as described in https://cmake.org/cmake/help/latest/module/FindPython.html .[x] to use the new Python detection, it's recommended to require cmake 3.15+ (https://pybind11.readthedocs.io/en/stable/compiling.html?highlight=pybind11_nopython#findpython-mode). since the final goal is 3.16, I went ahead and bumped it to that.
[x] add in configuration.h/cc files . at the moment, all this does is add a function
configuration_accessor()
that returns(nyi)
. this is in preparation for later accessing build configration at runtime.[x] expand GHA testing. the first stage
build_repo
(wasbuild
) remains largely the same except that theRelease
lanes upload a GHA artifact of the exported tarball. in the second stage, the Linux artifact gets downloaded into a fresh environment, and the library is built with gcc and icpx on Linux and clang on Mac. These all use a conda environment for uniformity across platforms. (the first stage is testing homebrew and apt-get.) only thehf++
test is run. python bindings are built and tested.[x] bump GHA Ununtu gcc from 9 to 10
Note that this snapshot has not been tested against Psi4. At the moment, it's the full #259 implementation that I know to be working.
Now rebased to master. Please squash PR when merging.