[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