On Jul 15, 2012, at 3:27 PM, Barry Smith wrote:

> 
>  Shri,
> 
>    You need to test your code WITHOUT pthreads OR openmp configure.
That is what i am doing, no openmp or pthreads.

> You have the call to PetscThreadCommFinalize()  protected by PTHREADCLASSES

There is no PetscThreadCommFinalize(). There is a 'PetscThreadsFinalize()' call 
in PetscFinalize() that is protected by PTHREADCLASSES. PetscThreadsFinalize() 
is for finalizing the previous pthread pool model that i had added on which 
vec_type pthread and mat_type seqaijpthread are based. It has nothing to do 
with threadcomm. Once i add new vector and matrix code using threadcomm , i'll 
remove the old pthread code and the pthread vector and matrix class.
> but not PetscThreadCommInitializePackage() projected!   Also why do you call 
> PetscThreadCommPackageInitialize() at the beginning but 
> PetscThreadCommFinalize() at the end and not PetscThreadCommFinalizePackage()?

PetscThreadCommFinalizePackage is registerfinalized in 
PetscThreadCommInitializePackage() 

ierr = PetscRegisterFinalize(PetscThreadCommFinalizePackage);CHKERRQ(ierr);

So it is called on PetscRegisterFinalizeAll().
> 
>   BTW: If I #if def out the PetscThreadCommPackageInitialize() then nothing 
> works (I have built without pthread classes and without openmp).  So there is 
> some bad stuff going on.

PetscThreadCommPackageInitialize() attaches the threadcomm attribute on the MPI 
communicator and there are several places where the threadcomm attribute is 
requested (sys/objects/subcomm.c, src/sys/tagm.c). Hence, the errors. 

Thanks,
Shri
> 
>   Barry
> 
> On Jul 15, 2012, at 11:54 AM, Shri wrote:
> 
>> 
>> On Jul 14, 2012, at 7:55 PM, Satish Balay wrote:
>> 
>>> I see this with 32bit linux build - but not 64bit linux build.
>> 
>> I tried a fresh clone on my Mac and a linux cluster (both x86_64) but still 
>> did not get  any memory leaks. Perhaps this is a 32 bit build issue as 
>> Satish mentions. What configure options do i need to have a 32 bit build on 
>> x86_64? CC="gcc -m32" FC="gfortran -m32"?
>> 
>> Thanks,
>> Shri
>> 
>>> 
>>> also 32bit linux build gives errors with -fp_trap in ddot(). Haven't 
>>> checked why.
>>> 
>>> Satish
>>> 
>>> 
>>> On Sat, 14 Jul 2012, Barry Smith wrote:
>>> 
>>>> 
>>>> Many of them with make test
>>>> 
>>>> Running test examples to verify correct installation
>>>> Using PETSC_DIR=/Users/barrysmith/Src/petsc-dev and 
>>>> PETSC_ARCH=arch-float128-opt
>>>> Possible error running C/C++ src/snes/examples/tutorials/ex19 with 1 MPI 
>>>> process
>>>> See http://www.mcs.anl.gov/petsc/documentation/faq.html
>>>> lid velocity = Qg, prandtl # = Qg, grashof # = Qg
>>>> Number of SNES iterations = 2
>>>> [0]Total space allocated 6880 bytes
>>>> [ 0]16 bytes PetscThreadCommReductionCreate() line 260 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcommred.c
>>>> [ 0]16 bytes PetscThreadCommReductionCreate() line 259 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcommred.c
>>>> [ 0]48 bytes PetscThreadCommReductionCreate() line 258 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcommred.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommInitialize() line 698 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]176 bytes PetscThreadCommInitialize() line 694 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]272 bytes PetscThreadCommInitialize() line 692 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]16 bytes PetscThreadCommSetAffinities() line 331 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]48 bytes PetscThreadCommCreate() line 122 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> [ 0]320 bytes PetscThreadCommCreate() line 118 in 
>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>> Completed test examples
>>>> barry-smiths-macbook-pro:petsc-dev barrysmith$ 
>>>> 
>>>> 
>>>> On Jul 14, 2012, at 6:36 PM, Shri wrote:
>>>> 
>>>>> Which example are you running? I don't see any memory leak for the 
>>>>> examples i've tested (threadcomm examples 
>>>>> sys/threadcomm/examples/tutorials/ and 
>>>>> snes/examples/tutorials/ex19.c,ex5.c)
>>>>> On Jul 14, 2012, at 4:22 PM, Barry Smith wrote:
>>>>> 
>>>>>> 
>>>>>> Please always test for memory leaks before pushing
>>>>>> 
>>>>>> [ 0]48 bytes PetscThreadCommCreate() line 122 in 
>>>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>>>>  [0]  PetscThreadCommInitialize() line 685 in 
>>>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>>>>  [0]  PetscThreadCommInitializePackage() line 53 in 
>>>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/dlregisthreadcomm.c
>>>>>> [ 0]320 bytes PetscThreadCommCreate() line 118 in 
>>>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>>>>  [0]  PetscThreadCommInitialize() line 685 in 
>>>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/threadcomm.c
>>>>>>  [0]  PetscThreadCommInitializePackage() line 53 in 
>>>>>> /Users/barrysmith/Src/petsc-dev/src/sys/threadcomm/interface/dlregisthreadcomm.c
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>> 
> 

Reply via email to