-
Notifications
You must be signed in to change notification settings - Fork 125
Gtest update #498
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
Gtest update #498
Conversation
|
bot:retest |
9ebe916 to
548c0ab
Compare
|
@Sergei-Lebedev @bureddy @manjugv plz review this PR. It is large but simple. All the changes in gtest.h and gtest-all.cc (which are biggest part of the PR) can be ignored in review, since this is just an update of the googletest to the official v1.10 release. All the rest is simple: mostly refactoring of reduction tests - making groups of type+op pairs for cuda/host cases; and adding proper GTEST_SKIP in the unsupported cases. 1 failure in openucx.ucc azure check should also be ignored - there is timeout in clang-format check. apparently 15K lines of code too much for git-clang-format to handle in 60mins. |
test/gtest/common/test_ucc.cc
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we call ucc_collective_finalize to free all successfully initialized requests
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Destructor of UCC_REQ is called later and it takes care of reqs finalize
test/gtest/core/test_mc_reduce.h
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some pairs are missing compared to original version e.g. UCC_DT_INT16 max
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know. We never had ALL the combinations (to limit the time spent in collectives with reductions). I changed it that way: we now test ALL possible combos with test_mc_reduce, AND we test "every possible dtype" and "every possible op" in the reduce coll tests (reduce, allreduce, reduce_scatter), but now every possible combination of them.
Also i added explicitly INT32, FLOAT32, FLOAT64 with all arithmetic ops since those are most commonly used. If you think we should add more plz comment - i will extend.
test/gtest/core/test_mc_reduce.cc
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we make pairs so that reduction is always supported then this check is not needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For test_mc_reduce (not collective but just reduction backend) i don't enumerate separate dtypes for CUDA. I have the enumerations for ALL possible pairs, but skip not-supported. I could create separate set of testing::types for CUDA only. It will be little bit more explicit but then i can remove test skip here. What do you prefer?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, keep it as is pls, i thought we support all ops and dtypes in cuda
test/gtest/common/test_ucc.h
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing UCC_DT_BFLOAT16
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PREDEFINED_TYPES macro is only used with collectives that do not do any reductions. Do you think we need to add?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, why not, we anyway test different datatypes and I don't think we test bfloat16 copy operation somewhere else
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added
548c0ab to
1934021
Compare
106219b to
00f69e8
Compare
Don't list all the skipped tests by default
Refactor reduce-ops tests (to support custom tests for CUDA/HOST)
Use GTEST_SKIP and mc_available checks to properly skip
unsupported cases
00f69e8 to
efbff3d
Compare
|
Merged w/o codestyle/openucx.ucc pass - both time out on the code style format - too large change in gtest.h/gtest_all.cc. |
* TEST: update to gtest 1.10
* TEST: gtest_print_skipped
Don't list all the skipped tests by default
* TEST: gtest improvements
Refactor reduce-ops tests (to support custom tests for CUDA/HOST)
Use GTEST_SKIP and mc_available checks to properly skip
unsupported cases
What
A set of gtest improvements: