[petsc-dev] Is master broken?
Karl Rupp
rupp at iue.tuwien.ac.at
Tue Aug 13 05:36:43 CDT 2019
Hi,
to clarify, these commits are already in master (either directly, or in
a condensed way in the course of different pull requests, including
additional fixes of memory leaks and output files):
> 5e3edcb81f added check in Inode to skip GPUs for not Factor
> 346e0b6564 changed reduction logic a little and cleaned up format
> 3a282b2d9d added guards for empty process solves in CUDA
> af6bc10070 same bug fix
> 0365c3a97f try a fix
> 9c37fbf3e7 bug fix
> 72f2ad35b3 fixed bug with CUDA transpose mat-vec
> ab62ce3476 remove vecset as per Barry
> c26191aaa4 use non-collective VecSet
> 8bcb2d50b7 fixed MPI lock from call to collective method
> 3c46958f6d fix bug with empty processor
> 54cfeb1831 added missing settypes
this commit is not in master because I couldn't get the example to run:
> fd2e5db618 added cude test to ex56
these commits are ViennaCL-specific and don't need further consideration
(the wrapper will take care of it):
> 12042c4bfa removing ViennaCL fix to GAMG
> 9508265e8e adding support for MatTranspose
> e5a6000419 adding fix for ViennaCL in MG
The *only* commit with functionality that is not in master is:
> 57224a7035 fixed up pinning CUDA to CPUs
for which PR #1954 holds the discussion of why this commit has
problematic parts.
I've opened a pull request for Barry's fixes to the builds on Summit in
PR #1963. If there are no surprises, this PR will be in master by the
end of the day.
**Overall**: Please start freshly off master (and merge PR 1963 if
needed). Then, have a look at the pinning-to-CPUs-commit and decide
whether it needs to be reworked as for what is discussed in PR #1954. Do
not try to rebase
mark/gamg-fix-viennacl-rebased
or any of its offsprings any further, as this will only cause headaches
and create conflicts with code that has already been fixed.
Best regards,
Karli
On 8/12/19 5:23 PM, Balay, Satish wrote:
> I don't really understand the workflow here [with merged branches (to
> master) and cherry-picking other stuff]
>
> I've attempted to rebase this branch against latest master. The result is at:
>
> mark/gamg-fix-viennacl-rebased-v3
>
> There were too many merge conflicts that I had to resolve. Its
> possible I made mistakes here.
>
> So if this branch is what you need - its best to check each commit
> here and verify the changes - before using them.
>
> As Karl suggests - its probably best to pick commits that you need and
> fix them [if they have bad code - from merge conflict resolution]
>
> [and some of them can be collapsed]
>
> Satish
>
> ------
>
> balay at sb /home/balay/petsc (mark/gamg-fix-viennacl-rebased-v3=)
> $ git log --oneline master..
> dee2b8b21b (HEAD -> mark/gamg-fix-viennacl-rebased-v3, origin/mark/gamg-fix-viennacl-rebased-v3, mark/gamg-fix-viennacl-rebased-v2) protected pinnedtocpu
> 03d489bde4 1) When detecting version info handle blanks introducted by preprocessor, error if needed version cannot be detected
> 056432fa93 Use outputPreprocess instead of preprocess since it prints source to log
> 94885b4f80 add back code missing from rebaseing over latest master?
> 2a748c2fa1 fixed compile errors
> 5e3edcb81f added check in Inode to skip GPUs for not Factor
> fc14e5b821 removed comment
> 57224a7035 fixed up pinning CUDA to CPUs
> 346e0b6564 changed reduction logic a little and cleaned up format
> 3a282b2d9d added guards for empty process solves in CUDA
> af6bc10070 same bug fix
> 0365c3a97f try a fix
> 9c37fbf3e7 bug fix
> fd2e5db618 added cude test to ex56
> 72f2ad35b3 fixed bug with CUDA transpose mat-vec
> ab62ce3476 remove vecset as per Barry
> c26191aaa4 use non-collective VecSet
> 12042c4bfa removing ViennaCL fix to GAMG
> 3c46958f6d fix bug with empty processor
> 8bcb2d50b7 fixed MPI lock from call to collective method
> 54cfeb1831 added missing settypes
> 9508265e8e adding support for MatTranspose
> e5a6000419 adding fix for ViennaCL in MG
>
>
> On Mon, 12 Aug 2019, Karl Rupp via petsc-dev wrote:
>
>> Hi Mark,
>>
>> most of the CUDA-related fixes from your PR are now in master. Thank you!
>>
>> The pinning of GPU-matrices to CPUs is not in master because it had several
>> issues:
>>
>> https://bitbucket.org/petsc/petsc/pull-requests/1954/cuda-fixes-to-pinning-onto-cpu/diff
>>
>> The ViennaCL-related changes in mark/gamg-fix-viennacl-rebased can be safely
>> discarded as the new GPU wrapper will come in place over the next days. ex56
>> has not been pulled over as it's not running properly on GPUs yet (the pinning
>> in your branch effectively turned GPU matrices into normal PETSc matrices,
>> effectively running (almost) everything on the CPU again)
>>
>> So at this point I recommend to start a new branch off master and manually
>> transfer over any bits from the pinning that you want to keep.
>>
>> Best regards,
>> Karli
>>
>>
>> On 8/3/19 8:47 PM, Mark Adams wrote:
>>> Karl,
>>> Did you want me to do anything at this point? (on vacation this week) I will
>>> verify that master is all fixed if you get all my stuff integrated when I
>>> get back to work in a week.
>>> Thanks,
>>> Mark
>>>
>>> On Sat, Aug 3, 2019 at 10:50 AM Karl Rupp <rupp at iue.tuwien.ac.at
>>> <mailto:rupp at iue.tuwien.ac.at>> wrote:
>>>
>>> If you ignore the initial ViennaCL-related commits and check against
>>> current master (that just received cherry-picked updates from your PR),
>>> then there are really only a few commits left that are not yet
>>> integrated.
>>>
>>> (I'll extract two more PRs on Monday, so master will soon have your
>>> fixes in.)
>>>
>>> Best regards,
>>> Karli
>>>
>>>
>>> On 8/3/19 5:21 AM, Balay, Satish wrote:
>>> > I've attempted to rebase this branch over latest master - and pushed
>>> > my changes to branch mark/gamg-fix-viennacl-rebased-v2
>>> >
>>> > You might want to check each of your commits in this branch to see if
>>> > they are ok. I had to add one extra commit - to make it match 'merge
>>> > of mark/gamg-fix-viennacl-rebased and master'.
>>> >
>>> > This branch has 21 commits. I think its best if you can collapse them
>>> > into reasonable chunks of changes. [presumably a single commit
>>> for all
>>> > the changes is not the correct thing here. But the current set of 21
>>> > commits are all over the place]
>>> >
>>> > If you are able to migrate to this branch - its best to delete
>>> the old
>>> > one [i.e origin/mark/gamg-fix-viennacl-rebased]
>>> >
>>> > Satish
>>> >
>>> > On Fri, 2 Aug 2019, Mark Adams via petsc-dev wrote:
>>> >
>>> >> I have been cherry-picking, etc, branch
>>> mark/gamg-fix-viennacl-rebased and
>>> >> it is very messed up. Can someone please update this branch when
>>> all the
>>> >> fixes are settled down? eg, I am seeing dozens of modified files
>>> that I
>>> >> don't know anything about and I certainly don't want to put in a
>>> PR for
>>> >> them.
>>> >>
>>> >> I also seem to lose my pinToCPU method for cuda matrices. I don't
>>> >> understand how that conflicted with anyone else but it did.
>>> >>
>>> >> Thanks,
>>> >> Mark
>>> >>
>>> >
>>>
>>
>>
>
More information about the petsc-dev
mailing list