Continuing my "huge run" witch hunt... I have really big runs that are
hanging at mutexes during threaded execution of SparsityPattern::Build().

The main issue seems to stem from DofMap::dof_indices().  Everything is
getting hung around allocating / deallocating std::vector<int> objects
(memory operations require mutexes).  I see that there were a few added for
support of SCALAR variables.  I don't have any SCALAR variables in this
simulation... and in that situation there shouldn't be any overhead for
adding indicies for SCALAR variables.  I think all of the scalar variable
stuff could be moved off into one small portion of that function and guard
it with the number of scalar variables in the system.

I have to say: DofMap:dof_indices() has been showing up in my profiling
studies for a while (even on small workstation sized jobs) but I haven't
had a chance to look at it.

I'm going to take an intensive look at this function soon (maybe tomorrow)
but it's 1AM right now and I'm just going to turn off threading of this
section all together and see if I can get these jobs to go through.

I just thought I would point this out in case anyone else wanted to check
it out or provide opinions...

Derek
------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to