Perform contractions using TBLIS
This PR will add the ability to perform contractions using the TBLIS library. TBLIS is enabled at compilation by passing the arguments:
-DENABLE_TBLIS=ON -DTBLIS=<tblis installation directory>
- [x] Add TBLIS to CMakeFiles.txt
- [x] Implement
contract()using TBLIS - [x] Perform straight DGEMM calls using BLAS
- [x] Tests run
Nice! One of our grad students has been playing with TBLIS, too, with very impressive performance benefits.
One morsel of cmake integration you might like to do now is to made a "component" of TBLIS in the ambit cmake. Would be something like replacing shared with tblis and @BUILD_SHARED_LIBS@ with @ENABLE_TBLIS@ in https://github.com/dgasmith/gau2grid/blob/master/cmake/gau2gridConfig.cmake.in#L48-L54 . Then in your personal psi4's you can add find_package(ambit ... COMPONENTS tblis) so that you only detect ambits with tblis.