-
Notifications
You must be signed in to change notification settings - Fork 99
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
Add missing dependency on CUBLAS (#10807) #1481
Add missing dependency on CUBLAS (#10807) #1481
Conversation
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, thanks for the fix
@lucbv Should this PR be merged to the master branch or develop branch? |
@vqd8a good point, I just changed the root branch for the merge. I see that it creates a lot of conflicts, I might just create a new PR this weekend against develop with the changes for cublas. |
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
I did not realize that kokkos-kernels was using a develop/master workflow. This is really strange because now this PR shows 99 commits. Is the 'develop' branch behind the 'master' branch? How can this be? |
@bartlettroscoe my guess is it is due to our release process during which we create a release branch that contains fixes that eventually make it back to the develop branch. |
The 'develop' branch should always contain the 'master' branch in the develop/master workflow. |
That's generally been my understanding, so as to make git usage go smoothly, but that's not what Kokkos or Kokkos Kernels actually do. Perhaps they can be convinced to Edit: That should be |
The document gitworkflows(7) explains how to manage a release branch using the merge workflow. The document A successful Git branching model (Git Flow) describes how to merge 'master' back into 'develop' and resolve the conflicts when merging back. This is explained here which says:
(Given that you have commits on 'master' it sounds like you are actually following Git Flow.) So the rule is that everytime you make a commit on a release branch (or 'master' if that is your release), then you merge the release branch (or 'master') back to 'develop' and be careful what you bring back. |
It looks like the last time that happened on Kokkos was with the 2.9.00 release. There have been no merges from master/release tags from 3.0 onwards |
Then how do those fixes get back to 'develop'. I someone manually cherry-picking each and every commit? Where is the Kokkos and KokkosKernels release process documented for how branches and managed? |
There's this document that doesn't match what's actually been done in the last few release cycles that I've been around for (3.5, 3.6, in progress 3.7): We're been branching Eventually, the RC branch gets merged to |
We have NOT done a master-develop workflow in a long time. The master branch is simply a way to ensure that someone who checks out the repo gets the latest release by default. |
@crtrott, if this is not the master-develop workflow or Git Flow, then what is this? How can 'master' contain commits that are not in 'develop'? That does not make sense, unless you are cherry-picking commits which has a lot of downsides as explained in gitworkflows(7) that says:
If you understand Git, then merge workflows are the easier, less labor intensive, and safer way to do your branch management (because you can't forget to cherry-pick a given commit). Git cherry-pick should be a last resort (i.e. in case you fixed a bug on 'develop' that needs to impact an existing release branch). |
@bartlettroscoe have a look at the commit graph history of |
@PhilMiller, if you are trying to keep a stable 'master' without bringing in everything from 'develop', you would create a 'hotfix' branch off of 'master', make your fix, and then merge 'hotfix' into 'master' and then merge 'master' into 'develop'. If you are creating branches off of 'develop', and merging those branches into 'master', is that not just the same thing as updating 'master' from an updated version of 'develop'? Otherwise, I don't understand this workflow. This does not seem to match any of the basic building blocks for Git workflows. |
The It's definitely not a 'standard' workflow that is broadly used, but it's clearly a workable one, since Kokkos has been using it for a few years now without undue grumbling. |
@PhilMiller, actually, what you describe above is "Gitflow" except you are not merging back to 'develop'. The problem with Git Flow is that you can only support the most current release of your software. You can't support older releases. Therefore, no-one really uses Gitflow anymore and it is considered a legacy workflow (see this page from Atlassian). The problem with using a non-standard workflow is that it will just confuse people how know Git. |
Kokkos only really supports the most current release it's made anyway, so that in itself isn't a problem. Given that I'm not one of the lead developers of Kokkos, and there's been some internal talk about shifting the workflow model the project follows, I'll step away and let them discuss further if they want to. I sent them the PR link. For the sake of moving this PR forward, the standard request is to please cherry-pick your commit on top of |
Yea, that is what I will do. |
This should fix link errors on an ATS2 configuration missing cublas link symboles (see #10807).
4d66d4c
to
a179da7
Compare
Status Flag 'Pre-Test Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
FYI: Instead of that, you can do it while on the topic branch in one command:
See the And that is what I did and forced pushed. |
Oops, this was mooted by #1482. It can be closed, as it's now just a whitespace change |
Oh well |
Sorry, I meant to mention PR #1482 here... the equivalent PR to Trilinos should be merge when possible otherwise this will be taken care of when we integrate 3.7.0 in Trilinos. |
CC: @vqd8a
@lucbv
This should fix link errors on an ATS2 configuration missing cublas link symbols from KokkosKernels objecct files (see trilinos/Trilinos#10807).
The customer @vqd8a confirmed this fixes is build problem in trilinos/Trilinos#10808 (comment).
This is the identical commit to that in trilinos/Trilinos#10808 made directly against Trilinos 'develop'.
I would recommend that the PR trilinos/Trilinos#10808 gets merged right away and also merge this PR so that the next time kokkos-kernels gets snapshotted into Trilinos 'develop', then it will not overwrite the changes from trilinos/Trilinos#10808.