eth-cscs / DLA-Future

DLA-Future
https://eth-cscs.github.io/DLA-Future/master/
BSD 3-Clause "New" or "Revised" License
61 stars 13 forks source link

Add explicit transfer before then in tridiag solver local merge implentation #1145

Closed msimberg closed 3 months ago

msimberg commented 3 months ago

In https://github.com/eth-cscs/DLA-Future/pull/998 we explicitly added a transfer before the then in https://github.com/eth-cscs/DLA-Future/blob/a5e67511288d442eadfd1f80aa1ad80eabedf33e/include/dlaf/eigensolver/tridiag_solver/merge.h#L1744 for reasons that neither @albestro nor I can full remember, but it was at a high level related to lifetimes of pipelines. We didn't do the same for the local case, and I'm adding an explicit transfer in this PR before the local then for consistency and to avoid surprises in the future (this does not explicitly fix any known bugs). It's generally good to be explicit about where to continue after a when_all. I've kept the high priority from the distributed case.

msimberg commented 3 months ago

cscs-ci run

rasolca commented 3 months ago
/DLA-Future/include/dlaf/eigensolver/tridiag_solver/merge.h:1013:69: error: use of undeclared identifier 'thread_priority'; did you mean 'pika::execution::thread_priority'?
      ex::transfer(dlaf::internal::getBackendScheduler<Backend::MC>(thread_priority::high)) |
                                                                    ^~~~~~~~~~~~~~~
                                                                    pika::execution::thread_priority
/opt/spack/opt/spack/linux-ubuntu22.04-x86_64/clang-12.0.1/pika-0.23.0-7z6hnl24r4toogp77krepeg7e72x2hom/include/pika/coroutines/thread_enums.hpp:97:16: note: 'pika::execution::thread_priority' declared here
    enum class thread_priority : std::int8_t
               ^
1 error generated.
msimberg commented 3 months ago

cscs-ci run