-
Notifications
You must be signed in to change notification settings - Fork 125
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
Fix the Kokkos testing compilation error on Frontier #4358
Conversation
f92fc25
to
81aed52
Compare
@vicentebolea I don't think the errors on Frontier are about the Kokkos testing. Could you please advise? |
Probably not, let met come back to this later this week |
@vicentebolea thanks ! Just fyi, I used our build-frontier script from the script folder (but using g++ instead of hipcc and the modules used in the CI) and I do not see this errors.
|
which kokkos are you testing, the ci tests 3.7.01, I recall kokkos 4.X not needing to explictly set hipcc. |
I was able to reproduce this, will come back with hopefully a fix |
There seems to be an incompatibility between the g++ version in When I use |
5b17b42
to
6ae93e2
Compare
Kokkos 3.7 is becoming an old version, and is triggering the following warning with newer rocm compilers:
I updated the CI to use Kokkos 4.4.01 (the warning issue was fixed in 4.0) instead of 3.7. The other option is to ignore this warning, but I think it's better to test a with a newer version of Kokkos. |
@anagainaru sounds good, lets update the CI so that it uses kokkos > 4. I will follow up with changes in this PR. |
I thought already did, that's how the CI is passing now. Take a look at my changes and update what you think needs updating. |
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.
Looks good otherwise
// Add lines back when using Kokkos 4.2 | ||
// Kokkos::printf(" Non-match at pos = (%d %d) : input = %f : output = %f\n", x, | ||
// y, a(start_0 + x, start_1 + y), b(x, y)); |
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.
// Add lines back when using Kokkos 4.2 | |
// Kokkos::printf(" Non-match at pos = (%d %d) : input = %f : output = %f\n", x, | |
// y, a(start_0 + x, start_1 + y), b(x, y)); |
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 usually dislike commenting code. I left it here just because the c++ version of this testing is printing the mismatches and I wanted to be consistent. But I am also fine making a note to reintroduce this printf when we decide to move the min Kokkos version to 4.2
cf13d02
to
e46d3dc
Compare
Co-authored-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
e46d3dc
to
0436c06
Compare
The frontier-Cray CI is still failing but the Kokkos-HIP one passes, so I'll merge this. We can open a new PR to fix the cray CI. |
hmm the pr was closed and deleted rather than merged. Was this intended? |
I was so sure I merged it. I don't understand how this happened (nor how the branch was deleted). Thanks for catching this :| |
Instead of #4357
If
hipcc
is used as the CXX compiler there is no error, but the CI is usingg++
so we need to manually set the CXX compiler to whatever was used to build Kokkos.The rocm version had to be updated to
rocm/5.7.1
in the frontier CI due to an incompatibility between the g++ version inPrgEnv-gnu/8.5.0
and the hipcc version inrocm/5.4.3
The Kokkos version had to be updated to > 4.0.0 due to a warning with 3.7.01 and newer rocm compilers.