Skip to content

Conversation

@permcody
Copy link
Member

2dproblem
...ialMesh.
figure_1

There is still more work to do before this will work with ParallelMesh, but I just wanted to post this now to get any "architecture" comments out of the way since this touches some pretty important pieces of the library.

@benkirk
Copy link
Member

benkirk commented Aug 27, 2013

Haven't had any chance to dig into thi yet, I will try to tomorrow. I assume there is DofObject storage overhead, but it is configurable off?

-Ben

On Aug 27, 2013, at 5:18 PM, "permcody" <notifications@github.commailto:notifications@github.com> wrote:

...ialMesh.

There is still more work to do before this will work with ParallelMesh, but I just wanted to post this now to get any "architecture" comments out of the way since this touches some pretty important pieces of the library.


You can merge this Pull Request by running

git pull https://github.com/permcody/libmesh SerialUniqueID

Or view, comment on, or merge it at:

#133

Commit Summary

  • Adding a configurable "unique_id" to DofObject. Currently works for SerialMesh

File Changes

Patch Links:

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What MPI stacks has this been tested with? I know it's in the standard, but I vaguely recall some incompatibility with long long in a popular MPI implementation when once upon a time I checked.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only MPICH2 so far. It works fine there, but I'm just getting started. I'll try MVAPICH and OpenMPI before I post the final patches.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have yet to test with SGI's MPT, but would be comfortable doing so after a merge.
This looks promising anyway.
http://www.cs.uiuc.edu/homes/wgropp/projects/parallel/MPI/mpi-errata/discuss/longlong/longlong-1-clean.txt

@roystgnr
Copy link
Member

You'll probably need changes in parallel_node.C, not just parallel_elem.C. Not sure why your tests with SerialMesh would have succeeded without the former but not without the latter, though - usually when we ship elements around we ship nodes around with them.

@roystgnr
Copy link
Member

Anyway, that's all my issues. Thanks for doing this. If this works out well with ParallelMesh too (and if we add support for it to restart files), I'd love to rearchitect the orientation-dependent FE types to use unique ids (when available) rather than node positioning. It would be nice to be able to use any element with moving meshes, but right now it's only safe to stick with Lagrange if you're going to be repositioning nodes from one time step to another.

@permcody
Copy link
Member Author

Yes, it is defaulted to be off

On Tue, Aug 27, 2013 at 4:33 PM, Benjamin S. Kirk
notifications@github.comwrote:

Haven't had any chance to dig into thi yet, I will try to tomorrow. I
assume there is DofObject storage overhead, but it is configurable off?

-Ben

On Aug 27, 2013, at 5:18 PM, "permcody" <notifications@github.com<mailto:
notifications@github.com>> wrote:

...ialMesh.

There is still more work to do before this will work with ParallelMesh,
but I just wanted to post this now to get any "architecture" comments out
of the way since this touches some pretty important pieces of the library.


You can merge this Pull Request by running

git pull https://github.com/permcody/libmesh SerialUniqueID

Or view, comment on, or merge it at:

#133

Commit Summary

  • Adding a configurable "unique_id" to DofObject. Currently works for
    SerialMesh

File Changes

Patch Links:


Reply to this email directly or view it on GitHubhttps://github.com//pull/133#issuecomment-23376749
.

@permcody
Copy link
Member Author

Thanks for all the feedback! I know this is a bit rough but just wanted to make sure I was generally on the right track. I foresee quite a few more changes as I work through the ParallelMesh implementation. Alas, Derek has changed my priorities again so this patch will get shelved for the next several weeks. I'll get back to it though!

@permcody
Copy link
Member Author

I'm planning on getting back to the Unique ID stuff later this week and next... This branch isn't dead yet!

@permcody
Copy link
Member Author

permcody commented Oct 1, 2013

Gentlemen, I believe this feature implementation is complete. So far I haven't seen any performance impacts of carrying around the extra data on each DOF object. See the memory usage graphs I've attached of a few different problems. I tried 2D and large 3D problems again without any noticeable impact. It works with MPICH2, OpenMPI, and MVAPICH-2 without issue. Unless there are any more issues I need to address, I recommend merging this.

Cody

@roystgnr
Copy link
Member

roystgnr commented Oct 1, 2013

Is it still working for SerialMesh only?

@permcody
Copy link
Member Author

permcody commented Oct 1, 2013

Nope it works for both serial and parallel meshes. I tried it on several
examples.

Cody

Sent from my iPhone

On Oct 1, 2013, at 1:33 PM, roystgnr notifications@github.com wrote:

Is it still working for SerialMesh only?


Reply to this email directly or view it on
GitHubhttps://github.com//pull/133#issuecomment-25480469
.

@roystgnr
Copy link
Member

roystgnr commented Oct 1, 2013

Enable it with --enable-everything too?

In any case this looks ready to merge to me. I'll let Ben or John hit the big green button once they're happy.

@benkirk
Copy link
Member

benkirk commented Oct 1, 2013

On Oct 1, 2013, at 3:57 PM, roystgnr notifications@github.com
wrote:

Enable it with --enable-everything too?

Agreed - let me know when you've pushed that and I'll merge it.

-Ben

@permcody
Copy link
Member Author

permcody commented Oct 1, 2013

OK - Works for --enable-everything

benkirk added a commit that referenced this pull request Oct 1, 2013
Adding a configurable "unique_id" to DofObject.  Currently works for Ser...
@benkirk benkirk merged commit e254684 into libMesh:master Oct 1, 2013
@benkirk
Copy link
Member

benkirk commented Oct 1, 2013

On Oct 1, 2013, at 4:51 PM, permcody notifications@github.com
wrote:

OK - Works for --enable-everything

Allright, and thanks!

Merged.

-Ben

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants