I've made a few modifications to Roy's patch:

(1) eliminate the var/elem loop - just loop on elem and extract the dof indices 
for all vars at once.
(2) I believe the dof indices were getting added twice when 
(elem->refinement_flag() == Elem::JUST_REFINED)?
    (added inside the if statement and then again afterward?
(3) Thread-safe by converting to a parallel reduce.  The other option would be 
to mutex the send_list but I expect that would perform much worse.
(4) reuse the same elem range for both threaded operations.

What do you think?

I'm gonna bang on it tomorrow with many processors & threads in various 
combination.

-Ben



Attachment: patch-localizeproject-ben
Description: patch-localizeproject-ben

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to