Dominic, I have turned the optimization on to skip the unneeded copy with the DMLocalToLocal in the branches barry/optimize-dmlocaltolocal_da and next. It passes all the PETSc tests; let me know if you see any problems.
Barry > On Mar 31, 2015, at 12:21 PM, Dominic Meiser <[email protected]> wrote: > > Great, thanks very much. > Cheers, > Dominic > > On 03/31/2015 10:24 AM, Barry Smith wrote: >> Dominic, >> >> DMLocalToLocal is the intended usage. There is code inside the >> VecScatter to detect unneeded copies, which would result in only touching >> the ghost cells, but for some reason that is not currently turned on, I'll >> take a look at fixing it in master. >> >> Barry >> >>> On Mar 31, 2015, at 10:12 AM, Dominic Meiser <[email protected]> wrote: >>> >>> Hi, >>> >>> I have a DMDA for a structured grid in a 3D FDTD calculation. What is the >>> most efficient way to update the ghost regions after each time step? >>> Currently I update a global vector and then I scatter to a local vector >>> using DMGlobalToLocalBegin/End for the next time step. I also tried >>> DMLocalToLocal with the same source and target vector and that appears to >>> be slightly faster, perhaps due to better cache usage in the copy of the >>> owned region. Ideally I would like to update just the ghost cells from the >>> owned regions. Is there a good way to do that? Something similar to >>> VecGhostUpdateBegin/End? >>> >>> Thanks, >>> Dominic >>> >>> -- >>> Dominic Meiser >>> Tech-X Corporation >>> 5621 Arapahoe Avenue >>> Boulder, CO 80303 >>> USA >>> Telephone: 303-996-2036 >>> Fax: 303-448-7756 >>> www.txcorp.com >>> >> >> > > > -- > Dominic Meiser > Tech-X Corporation > 5621 Arapahoe Avenue > Boulder, CO 80303 > USA > Telephone: 303-996-2036 > Fax: 303-448-7756 > www.txcorp.com >
