[petsc-users] PetscLayou

Lukasz Kaczmarczyk Lukasz.Kaczmarczyk at glasgow.ac.uk
Sun May 25 12:34:56 CDT 2014


Hello,

I use PetscLayout to set the ranges for matrix partitioning (petsc-3.4.3), however, for one of the problems, I get from warring from valgrind. This warning is only for particular problem, for other code executions with different input data, valgrind do not shows any errors at that point. 

Could you tell me if this could lead to segmentation fault, for example for code compiled with Intel compiler? Where is my mistake?

Kind regards,
Lukasz

533      PetscLayout layout;
534      ierr = PetscLayoutCreate(PETSC_COMM_WORLD,&layout); CHKERRQ(ierr);
535      ierr = PetscLayoutSetBlockSize(layout,1); CHKERRQ(ierr);
536      ierr = PetscLayoutSetSize(layout,nb_dofs_row); CHKERRQ(ierr);
537      ierr = PetscLayoutSetUp(layout); CHKERRQ(ierr);
538      PetscInt rstart,rend;
539      ierr = PetscLayoutGetRange(layout,&rstart,&rend); CHKERRQ


Partition problem COUPLED_PROBLEM
        create_Mat: row lower 0 row upper 837
        create_Mat: row lower 837 row upper 1674
        create_Mat: row lower 1674 row upper 2511
        create_Mat: row lower 2511 row upper 3347
        create_Mat: row lower 3347 row upper 4183
        create_Mat: row lower 4183 row upper 5019
        create_Mat: row lower 5019 row upper 5855
        create_Mat: row lower 5855 row upper 6691
        create_Mat: row lower 6691 row upper 7527
        create_Mat: row lower 7527 row upper 8363
        create_Mat: row lower 8363 row upper 9199
        create_Mat: row lower 9199 row upper 10035
==80351== Source and destination overlap in memcpy(0x1e971f94, 0x1e971fa8, 28)
==80351==    at 0x4C2CFA0: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==80351==    by 0x85AAB7E: ompi_ddt_copy_content_same_ddt (in /usr/lib/openmpi/lib/libmpi.so.0.0.2)
==80351==    by 0x159EE48A: ??? (in /usr/lib/openmpi/lib/openmpi/mca_coll_tuned.so)
==80351==    by 0x85B15B2: PMPI_Allgather (in /usr/lib/openmpi/lib/libmpi.so.0.0.2)
==80351==    by 0x565C4C8: PetscLayoutSetUp (pmap.c:158)
==80355== Source and destination overlap in memcpy(0x1e97e784, 0x1e97e788, 44)
==80355==    at 0x4C2CFA0: memcpy@@GLIBC_2.14 (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==80355==    by 0x85AAB7E: ompi_ddt_copy_content_same_ddt (in /usr/lib/openmpi/lib/libmpi.so.0.0.2)
==80355==    by 0x159EE48A: ??? (in /usr/lib/openmpi/lib/openmpi/mca_coll_tuned.so)
==80355==    by 0x85B15B2: PMPI_Allgather (in /usr/lib/openmpi/lib/libmpi.so.0.0.2)
==80355==    by 0x565C4C8: PetscLayoutSetUp (pmap.c:158)
==80355==    by 0xDEFB18: int MoFEM::FieldCore::create_Mat<MoFEM::Idx_mi_tag>(std::string const&, _p_Mat**, char const*, int**, int**, double**, bool, int) (FieldCore.hpp:537)


Full code source can be viewed from here,
https://bitbucket.org/likask/mofem-joseph/src/3185671a406bc3f02336b3886775dff037dbd4fe/mofem_v0.1/do_not_blink/FieldCore.hpp?at=release


More information about the petsc-users mailing list