[Trilinos-Users] 64bit indices in Hypre, Superlu-Dist and Metis/Parmetis

Denis Davydov davydden at gmail.com
Thu Feb 23 05:14:26 EST 2017


Dear all,

I am building a stack (with 64bit indices) composed of PETSc, Trilinos, Superlu-Dist, Metis, etc and came across the following compiler error in EpetraExt:

/home/user/spack/var/spack/stage/trilinos-12.10.1-kgdtcmcwce6xhetukputhnh2f7v4sljf/Trilinos-trilinos-release-12-10-1/packages/epetraext/src/hypre/EpetraExt_HypreIJMatrix.cpp:91:96: error: cannot convert ‘int*’ to ‘HYPRE_Int* {aka long long int*}’ for argument ‘3’ to ‘HYPRE_Int HYPRE_ParCSRMatrixGetRow(HYPRE_ParCSRMatrix, HYPRE_Int, HYPRE_Int*, HYPRE_Int**, HYPRE_Complex**)’
     ierr += HYPRE_ParCSRMatrixGetRow(ParMatrix_, i+MyRowStart_, &num_entries, &indices, &values);
                                                                                                ^

That’s of course because if PETSc is built with 64bit ints, then Hypre have to be also built accordingly.

So what are the requirements from Trilinos side on those dependencies? Can it not be built against Hypre or Superlu-Dist when
those packages are configured with —enable-biginit and -D_LONGINT, respectively?
Or is it a bug in EpetraExt?

Regards,
Denis.



More information about the Trilinos-Users mailing list