Closed alessiocacciatori closed 2 years ago
@trilinos/kokkos
Also adding @ibaned and @crtrott as I think they have worked on Windows support in Kokkos somewhat recently.
Yes, we're working on this ourselves and have addressed the issues you listed. We still have remaining issues with excessive SFINAE in the View::operator()
declarations that we're working through.
Hi all, Thank you for the prompt feedback! Glad to see that, somewhat, we were moving in the right direction.
@ibaned : is there any roadmap on MSVC deployment that you may share (So that we could focus on other aspects of the SW we're developing)?
Or, maybe we can cooperate by sharing our list of modifications if you think that this may help you.
Hi @alessiocacciatori, our progress is tracked in this WIP PR: https://github.com/kokkos/kokkos/pull/2655 We would like to get this done by Kokkos version 3.1
This issue has had no activity for 365 days and is marked for closure. It will be closed after an additional 30 days of inactivity.
If you would like to keep this issue open please add a comment and/or remove the MARKED_FOR_CLOSURE
label.
If this issue should be kept open even with no activity beyond the time limits you can add the label DO_NOT_AUTOCLOSE
.
If it is ok for this issue to be closed, feel free to go ahead and close it. Please do not add any comments or change any labels or otherwise touch this issue unless your intention is to reset the inactivity counter for an additional year.
This issue was closed due to inactivity for 395 days.
Question
@trilinos/\<Kokkos>
Hi team, I am trying to compile entire Trilinos suite under MSVC(+ICC). Right now I managed to compile Kokkos + OpenMP but this came with quite a substantial effort and coding that raised many questions.
Basically we've found some issue that I would like to discuss before (possibly) submitting the emended code.
1) _KokkosHostBarrier.cpp Line 103. The function _trywait(void) calls the static function _trywait(int *, const int, const int) passing non-static members (m_buffer...). Problem is: HostBarrier methods are often called by their static methods (e.g _KokkosHostThreadTeam.hpp, line 139).
This, of course, is an error and I am surprised on how GCC can overcome this.
2) cas128_t is defined twice (_KokkosAtomicAssembly.hpp and _KokkosAtomicWindows.hpp) Solved this by removing definition in _KokkosAtomicAssembly.hpp but I am not sure what the differences are.
3) _atomic_compareexchange with _cas128t (_Impl::cas128_t atomic_compareexchange<) has a conversion error: tmp.t = dest; Indeed it is trying to convert a pointer to cas128_t to cas128_t. Solved with tmp.t = *dest;
4) _atomic_compareexchange with SFINAE generates quite a lot of redefinition errors. Solved this by removing all SFINAE definitions and adding proper specialized bodies.
So, I am not sure if what we considered as errors are actual errors. Are we doing right with the proposed fixes (with those fixes we managed to compile Kokkos on Windows)?
Thank you in advance, Alessio