[MOAB-dev] DMMOAB (PETSc 3.5.1)

Vijay S. Mahadevan vijay.m at gmail.com
Tue Aug 19 10:27:26 CDT 2014


You could use the mbsize tool installed at $MOAB_INSTALL/bin/mbsize
with options "-ll" to see all entities

mbsize -ll <filename>

You can track down the PARALLEL_PARTITION tag on entity sets and find
out whether the corresponding vertices in the element are number
contiguously (in terms of GLOBAL_ID). If this is segmented,
internally, things get reverted back to a native PETSc Vec in DMMoab.
Sorry about this confusion and I should've documented this better.
This inconsistent behavior needs to change and I'm working on a patch
that will possibly perform renumbering on the fly so that contiguous
memory access is available for MOAB based Vecs.

Vijay

On Tue, Aug 19, 2014 at 10:13 AM, Gerd Heber <gheber at hdfgroup.org> wrote:
> What's the best way to verify that? G.
>
> -----Original Message-----
> From: Vijay S. Mahadevan [mailto:vijay.m at gmail.com]
> Sent: Tuesday, August 19, 2014 9:58 AM
> To: Gerd Heber
> Cc: MOAB dev
> Subject: Re: [MOAB-dev] DMMOAB (PETSc 3.5.1)
>
>> DMMoabCreateVector(dm, existing_tag, PETSC_NULL, PETSC_TRUE,
>> PETSC_FALSE, &X)
>
> Yes, this should preserve the values in X vector. There is currently an implementation quirk that underneath the MOAB specific Vec, we check whether the local entities (vertices) are numbered contiguously so that tag_iterate can be used. If that's not the case, it actually creates a native PETSc Vec underneath and manages the memory through that. I am working on a patch to remove this limitation but I'm not sure whether you have hit this issue now.
>
> Can you just verify whether your local vertices in the mesh per processor are contiguously arranged ? i.e.,
>
> P1: (1-10) P2: (11-20) instead of P1: (1-5,11-15), P2: (6-10, 16-20)
>
> I will let you know once this patch is ready (along with a PR to track in PETSc) so that you can try it out.
>
> Vijay
>
> On Tue, Aug 19, 2014 at 9:49 AM, Gerd Heber <gheber at hdfgroup.org> wrote:
>> Vijay, here's something that I find confusing, or maybe I'm just doing something wrong.
>>
>> I call
>>
>> DMMoabCreateVector(dm, existing_tag, PETSC_NULL, PETSC_TRUE,
>> PETSC_FALSE, &X)
>>
>> and would expect X to have the values of existing_tag (non-zero). But X's values are all zero.
>> Is that the expected behavior?
>>
>> Thanks, G.
>>
>>
>>
>>


More information about the moab-dev mailing list