Skip to content
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
4 changes: 2 additions & 2 deletions external/versions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ set(TA_INSTALL_EIGEN_PREVIOUS_VERSION 3.3.7)
set(TA_INSTALL_EIGEN_URL_HASH b9e98a200d2455f06db9c661c5610496)
set(TA_INSTALL_EIGEN_PREVIOUS_URL_HASH b9e98a200d2455f06db9c661c5610496)

set(TA_TRACKED_MADNESS_TAG f47f962213be0b1e149f5b56826992f27278128e)
set(TA_TRACKED_MADNESS_PREVIOUS_TAG 6e7039223ececa052d4b6e29f897c743eb0b9fa3)
set(TA_TRACKED_MADNESS_TAG 6694b3adc9204dc86aba9911444aa6737171c9e3)
set(TA_TRACKED_MADNESS_PREVIOUS_TAG f47f962213be0b1e149f5b56826992f27278128e)
set(TA_TRACKED_MADNESS_VERSION 0.10.1)
set(TA_TRACKED_MADNESS_PREVIOUS_VERSION 0.10.1)

Expand Down
4 changes: 4 additions & 0 deletions src/TiledArray/initialize.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,10 @@ inline World& initialize(int& argc, char**& argv, const MPI_Comm& comm,
/// when TiledArray::initialize was called).
void finalize();

void taskq_wait_busy();
void taskq_wait_yield();
void taskq_wait_usleep(int);

} // namespace TiledArray

#endif // TILEDARRAY_INITIALIZE_H__INCLUDED
16 changes: 15 additions & 1 deletion src/TiledArray/tiledarray.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,9 @@ TiledArray::World& TiledArray::initialize(int& argc, char**& argv,
"TiledArray finalized MADWorld already, cannot re-initialize MADWorld "
"again");
if (!initialized()) {
if (!madness::initialized())
if (!madness::initialized()) {
initialized_madworld_accessor() = true;
}
else { // if MADWorld initialized, we must assume that comm is its default
// World.
if (madness::World::is_default(comm))
Expand Down Expand Up @@ -127,3 +128,16 @@ void TiledArray::ta_abort(const std::string &m) {
std::cerr << m << std::endl;
ta_abort();
}


void TiledArray::taskq_wait_busy() {
madness::threadpool_wait_policy(madness::WaitPolicy::Busy);
}

void TiledArray::taskq_wait_yield() {
madness::threadpool_wait_policy(madness::WaitPolicy::Yield);
}

void TiledArray::taskq_wait_usleep(int us) {
madness::threadpool_wait_policy(madness::WaitPolicy::Sleep, us);
}