Skip to content

Commit

Permalink
Merge pull request #500 from ValeevGroup/evaleev/fix/einsum-prefence-…
Browse files Browse the repository at this point in the history
…entry-to-blocking-region

[hotfix] einsum: prefence entry to blocking region
  • Loading branch information
evaleev authored Mar 3, 2025
2 parents 1c37b18 + d9b912e commit df1a8a6
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
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 a479e821da724880c1e7110a49d2e52f0959a072 .
- [MADNESS](https://github.com/m-a-d-n-e-s-s/madness), tag 51c70885f368fcbdaac3db462b5e8d28eed4dbf7 .
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 a479e821da724880c1e7110a49d2e52f0959a072)
set(TA_TRACKED_MADNESS_PREVIOUS_TAG 8da56b1fc0b3d6eabe155923fb844f3430fc7d05)
set(TA_TRACKED_MADNESS_TAG 51c70885f368fcbdaac3db462b5e8d28eed4dbf7)
set(TA_TRACKED_MADNESS_PREVIOUS_TAG 3208474a1dec9a08b8ca7185ca5c168795385372)
set(TA_TRACKED_MADNESS_VERSION 0.10.1)
set(TA_TRACKED_MADNESS_PREVIOUS_VERSION 0.10.1)

Expand Down
6 changes: 6 additions & 0 deletions src/TiledArray/einsum/tiledarray.h
Original file line number Diff line number Diff line change
Expand Up @@ -410,6 +410,12 @@ 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

0 comments on commit df1a8a6

Please sign in to comment.