Hi John and Cody,

Thanks for your responses. I ran the code with valgrind --leak-check=full
--track-origins=yes, and then again with --keep-cout --redirect-stdout.
Valgrind doesn't give me any leaks other than the MPI related. --keep-cout
--redirect-stdout prints reference counting for every processor, but they
still have lower number of creations than destructions.

I was looking at the ReferenceCounter code and saw Thread::spin_mutex being
used in increment and decrement counts:

174  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx
<http://libmesh.github.io/doxygen/namespacelibMesh_1_1Threads.html#aba1ae5c24686d2cd2fc7ccdc9537c4f5>
);
175  std::pair<unsigned int, unsigned int>& p = _counts
<http://libmesh.github.io/doxygen/classlibMesh_1_1ReferenceCounter.html#a7c913252d05560f8bc7c75a63547c4c3>
[name
<http://libmesh.github.io/doxygen/namespacelibMesh_1_1Quality.html#a1d3617b89c15ade245910fc9a4ddfa34>
];

Could different MPI implementations be the cause of this issue? I'm using
the Intel IMPI library with Intel compilers when compiling.

Thanks,
Harshad

If you run your code with "--keep-cout --redirect-stdout", every processor
> should produce its own reference count information, and ideally there would
> not be leaks on any of them.
>

>  Run you code through valgrind with "--leak-check=full
> --track-origins=yes". Depending on your MPI implementation you'll probably
> see several warnings about problems in the MPI stack. Just ignore those and
> find the pieces of the report that point to your own application code.



> ----------------------------------------------------------------------------
> | Reference count information
>    |
>
>  ----------------------------------------------------------------------------
> | N7libMesh10FEAbstractE reference count information:
> |  Creations:    18065
> |  Destructions: 18065
> | N7libMesh10Parameters5ValueE reference count information:
> |  Creations:    20
> |  Destructions: 0
> | N7libMesh12LinearSolverIdEE reference count information:
> |  Creations:    8
> |  Destructions: 8
> | N7libMesh12SparseMatrixIdEE reference count information:
> |  Creations:    10
> |  Destructions: 10
> | N7libMesh13NumericVectorIdEE reference count information:
> |  Creations:    32
> |  Destructions: 0
> | N7libMesh15EquationSystemsE reference count information:
> |  Creations:    10
> |  Destructions: 10
> | N7libMesh15NonlinearSolverIdEE reference count information:
> |  Creations:    2
> |  Destructions: 2
> | N7libMesh4ElemE reference count information:
> |  Creations:    1
> |  Destructions: 141772
> | N7libMesh4NodeE reference count information:
> |  Creations:    0
> |  Destructions: 11960
> | N7libMesh6DofMapE reference count information:
> |  Creations:    10
> |  Destructions: 10
> | N7libMesh6SystemE reference count information:
> |  Creations:    10
> |  Destructions: 10
> | N7libMesh9DofObjectE reference count information:
> |  Creations:    1
> |  Destructions: 153732
------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to