-
Notifications
You must be signed in to change notification settings - Fork 407
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
team-level std algos: part 1 #6200
Conversation
c362be4
to
f2c9882
Compare
Retest this please |
e5f7152
to
ead775a
Compare
CI failures unrelated (seems to me): (1) (CUDA 11.6) ccache: error: Failed to write to /tmp/ccache/b/stats.tmp.b69116820fcd.4036.0USVjm |
This comment was marked as outdated.
This comment was marked as outdated.
CI failure is unrelated:
|
CI acting up but was working fine before |
retest this please |
Questions about template <class ExecutionSpace, /* other templates */>
std::enable_if_t< ::Kokkos::is_execution_space<ExecutionSpace>::value, IteratorType2>
<func_name>(const ExecutionSpace& ex, /*args*/)
In other words, we should write the above as: template <typename ExecutionSpace, /* other templates */,
typename = std::enable_if_t<Kokkos::is_execution_space_v<ExecutionSpace>>>
IteratorType2 <func_name>(const ExecutionSpace& ex, /*args*/) |
that was just habit I guess, if you really insist i can drop it
Yes, this is just leftover because it was started before we transitioned to 17. I will fix this.
Ok, i can fix those things , however while trying, I am seeing the compiler complaining in some cases because of the use of |
@nliber here is what i get: // overload set1
template <
typename ExecutionSpace, typename IteratorType,
typename = std::enable_if_t<Kokkos::is_execution_space_v<ExecutionSpace>>
>
IteratorType adjacent_find(const ExecutionSpace& ex, IteratorType first, IteratorType last){}
// overload set1
template <
typename TeamHandleType, typename IteratorType,
typename = std::enable_if_t<Kokkos::is_team_handle_v<TeamHandleType>>
>
KOKKOS_FUNCTION IteratorType
adjacent_find(const TeamHandleType& teamHandle, IteratorType first, IteratorType last){} with gcc 9.5.0 i get:
|
whereas if I do this: template <
typename ExecutionSpace, typename IteratorType,
std::enable_if_t<Kokkos::is_execution_space_v<ExecutionSpace>, int > = 0
>
IteratorType adjacent_find(const ExecutionSpace& ex, IteratorType first, IteratorType last) {}
template <
typename TeamHandleType, typename IteratorType,
std::enable_if_t<Kokkos::is_team_handle_v<TeamHandleType>, int > = 0
>
KOKKOS_FUNCTION IteratorType
adjacent_find(const TeamHandleType& teamHandle, IteratorType first, IteratorType last){} it works |
Co-authored-by: Cezary Skrzyński Co-authored-by: Jakub Strzebonski
But this guy just ran recently: #6316 with no such errors. |
@crtrott @Rombur I just tried to build this on This is what i have loaded:
which is the same as CI https://cloud.cees.ornl.gov/jenkins-ci/blue/organizations/jenkins/Kokkos/detail/Kokkos/13788/pipeline/48/ and my config line:
output for release, debug, and RelWithDebInfo is attached team_level_part1_nvhpc_release.txt |
retest this please |
The latest run hits the same error with |
i know, but i cannot reproduce it: #6200 (comment) and the PR for part2 passes it for example |
I think i am going to take |
Is it the same GPU? The CI is using a V100. |
why would the GPU affect the compilation if everything else is the same? |
I have no idea how |
ah sorry i thought you implied it could make a difference! Don't know either about this |
So potentially its around the "Native" can we could try compiling explicitly for AVX |
Again failed with Bad OPC :-( |
3 CI failures are unrelated due to docker inspect failing (nvhpc passes), yuppi yay |
Co-authored-by: Cezary Skrzyński
Co-authored-by: Jakub Strzebonski
Content
Add team-level support for:
Kokkos_AdjacentFind.hpp
Kokkos_Count.hpp
Kokkos_CountIf.hpp
Kokkos_ForEach.hpp
Kokkos_ForEachN.hpp
Kokkos_LexicographicalCompare.hpp
Kokkos_Mismatch.hpp
Public API has now two distinct sections as follows
Comments
this can be merged independently from other others
corresponding wiki documentation is being tracked here
this comes from breaking apart team impl of std algorithms #5150