both 'long' and 'long long' should be 64bit. Did this work before - and change today? [i.e due to one of the PR merges?]
Satish On Mon, 29 Oct 2018, Matthew Knepley via petsc-dev wrote: > On Mon, Oct 29, 2018 at 4:56 PM Mark Adams via petsc-dev < > petsc-dev@mcs.anl.gov> wrote: > > > I am building a fresh PETSc with GNU on Titan and I get these warnings > > about incompatible pointers in calls in PlexPartition to MarMetis. > > > > Looks like PETSc has 64-bit ints and ParMetis has 32-bit ints. Just have > PETSc build ParMetis. > > Thanks, > > Matt > > > > Mark > > > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c: > > In function 'PetscPartitionerPartition_ParMetis': > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1461:40: > > warning: passing argument 1 of 'METIS_SetDefaultOptions' from incompatible > > pointer type [-Wincompatible-pointer-types] > > ierr = METIS_SetDefaultOptions(options); /* initialize all > > defaults */ > > ^~~~~~~ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:229:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_SetDefaultOptions(idx_t *options); > > ^~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:43: > > warning: passing argument 1 of 'METIS_PartGraphRecursive' from incompatible > > pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > ^ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:51: > > warning: passing argument 2 of 'METIS_PartGraphRecursive' from incompatible > > pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > ^ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:58: > > warning: passing argument 3 of 'METIS_PartGraphRecursive' from incompatible > > pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > ^~~~ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:64: > > warning: passing argument 4 of 'METIS_PartGraphRecursive' from incompatible > > pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > ^~~~~~ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:72: > > warning: passing argument 5 of 'METIS_PartGraphRecursive' from incompatible > > pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > > > ^~~~ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:84: > > warning: passing argument 7 of 'METIS_PartGraphRecursive' from incompatible > > pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > > > ^~~~~~ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:92: > > warning: passing argument 8 of 'METIS_PartGraphRecursive' from incompatible > > pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > > > ^ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:116: > > warning: passing argument 11 of 'METIS_PartGraphRecursive' from > > incompatible pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > > > ^~~~~~~ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:125: > > warning: passing argument 12 of 'METIS_PartGraphRecursive' from > > incompatible pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > > > ^ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t > > *xadj, > > ^~~~~~~~~~~~~~~~~~~~~~~~ > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1465:135: > > warning: passing argument 13 of 'METIS_PartGraphRecursive' from > > incompatible pointer type [-Wincompatible-pointer-types] > > ierr = METIS_PartGraphRecursive(&nvtxs, &ncon, xadj, adjncy, > > vwgt, NULL, adjwgt, &nparts, tpwgts, ubvec, options, &edgeCut, assignment); > > > > ^~~~~~~~~~ > > In file included from > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/parmetis.h:18:0, > > from > > /lustre/atlas1/geo127/proj-shared/petsc/src/dm/impls/plex/plexpartition.c:1395: > > /lustre/atlas/proj-shared/geo127/petsc_titan_opt64idx_gnu_cuda/include/metis.h:199:16: > > note: expected 'idx_t * {aka long int *}' but argument is of type 'PetscInt > > * {aka long long int *}' > > > > > > .......... > > > > >