[petsc-users] PetscLayou
Barry Smith
bsmith at mcs.anl.gov
Sun May 25 13:03:52 CDT 2014
Looking at your code and the PETSc source code I see nothing wrong.
> 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)
I can only guess an error in the MPI implementation at this point. Maybe more with the MPI then the compiler? But that is guessing
Barry
On May 25, 2014, at 12:34 PM, Lukasz Kaczmarczyk <Lukasz.Kaczmarczyk at glasgow.ac.uk> wrote:
> 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