Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

amend https://github.com/ValeevGroup/tiledarray/pull/500 #504

Merged
merged 1 commit into from
Mar 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Both methods are supported. However, for most users we _strongly_ recommend to b
- [Range-V3](https://github.com/ericniebler/range-v3.git) -- a Ranges library that served as the basis for Ranges component of C++20 and later.
- [BTAS](http://github.com/ValeevGroup/BTAS), tag 1cfcb12647c768ccd83b098c64cda723e1275e49 . If usable BTAS installation is not found, TiledArray will download and compile
BTAS from source. *This is the recommended way to compile BTAS for all users*.
- [MADNESS](https://github.com/m-a-d-n-e-s-s/madness), tag 51c70885f368fcbdaac3db462b5e8d28eed4dbf7 .
- [MADNESS](https://github.com/m-a-d-n-e-s-s/madness), tag ef97ad1f0080da04f9592f03185c1a331cd5e001 .
Only the MADworld runtime and BLAS/LAPACK C API component of MADNESS is used by TiledArray.
If usable MADNESS installation is not found, TiledArray will download and compile
MADNESS from source. *This is the recommended way to compile MADNESS for all users*.
Expand Down
4 changes: 2 additions & 2 deletions external/versions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ set(TA_INSTALL_EIGEN_PREVIOUS_VERSION 3.3.7)
set(TA_INSTALL_EIGEN_URL_HASH SHA256=b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626)
set(TA_INSTALL_EIGEN_PREVIOUS_URL_HASH MD5=b9e98a200d2455f06db9c661c5610496)

set(TA_TRACKED_MADNESS_TAG 51c70885f368fcbdaac3db462b5e8d28eed4dbf7)
set(TA_TRACKED_MADNESS_PREVIOUS_TAG 3208474a1dec9a08b8ca7185ca5c168795385372)
set(TA_TRACKED_MADNESS_TAG ef97ad1f0080da04f9592f03185c1a331cd5e001)
set(TA_TRACKED_MADNESS_PREVIOUS_TAG 51c70885f368fcbdaac3db462b5e8d28eed4dbf7)
set(TA_TRACKED_MADNESS_VERSION 0.10.1)
set(TA_TRACKED_MADNESS_PREVIOUS_VERSION 0.10.1)

Expand Down
9 changes: 2 additions & 7 deletions src/TiledArray/einsum/tiledarray.h
Original file line number Diff line number Diff line change
Expand Up @@ -411,12 +411,6 @@ template <DeNest DeNestFlag = DeNest::False, typename ArrayA_, typename ArrayB_,
auto einsum(expressions::TsrExpr<ArrayA_> A, expressions::TsrExpr<ArrayB_> B,
std::tuple<Einsum::Index<std::string>, Indices...> cs,
World &world) {
// hotfix: process all preceding tasks before entering this code with many
// blocking calls
// TODO figure out why having free threads left after blocking MPI split
// still not enough to ensure progress
world.gop.fence();

using ArrayA = std::remove_cv_t<ArrayA_>;
using ArrayB = std::remove_cv_t<ArrayB_>;

Expand Down Expand Up @@ -746,7 +740,8 @@ auto einsum(expressions::TsrExpr<ArrayA_> A, expressions::TsrExpr<ArrayB_> B,
for (Index h : H.tiles) {
auto &[A, B] = AB;
auto own = A.own(h) || B.own(h);
auto comm = world.mpi.comm().Split(own, world.rank());
auto comm = madness::blocking_invoke(&SafeMPI::Intracomm::Split,
world.mpi.comm(), own, world.rank());
worlds.push_back(std::make_unique<World>(comm));
auto &owners = worlds.back();
if (!own) continue;
Expand Down