-
Notifications
You must be signed in to change notification settings - Fork 300
Adding a configurable "unique_id" to DofObject. Currently works for Ser... #133
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
Conversation
|
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: Commit Summary
File Changes
Patch Links: |
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.
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.
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.
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.
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.
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
|
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. |
|
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. |
|
Yes, it is defaulted to be off On Tue, Aug 27, 2013 at 4:33 PM, Benjamin S. Kirk
|
|
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! |
|
I'm planning on getting back to the Unique ID stuff later this week and next... This branch isn't dead yet! |
|
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 |
|
Is it still working for SerialMesh only? |
|
Nope it works for both serial and parallel meshes. I tried it on several 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? — |
|
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. |
|
On Oct 1, 2013, at 3:57 PM, roystgnr notifications@github.com
Agreed - let me know when you've pushed that and I'll merge it. -Ben |
…erialMesh and ParallelMesh
|
OK - Works for --enable-everything |
Adding a configurable "unique_id" to DofObject. Currently works for Ser...
|
On Oct 1, 2013, at 4:51 PM, permcody notifications@github.com
Allright, and thanks! Merged. -Ben |
...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.