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

Prokopenko, Andrey V. prokopenkoav at ornl.gov
Thu Feb 23 10:21:08 EST 2017


There was an effort to allow Epetra with 64-bit indices. So, technically 
most Epetra classes are now templated on the index type.

I think the conversion mainly touched widely used classes. I don't think 
it has 100% coverage. Looking at the code Denis mentioned, some of the 
required classes there were not converted, and thus are not compatible. 
I am not certain of an amount of effort required to do that.

-Andrey

On 02/23/2017 08:17 AM, Klinvex, Alicia Marie wrote:
> Hello Denis,
>
> Since Epetra isn't templated, I'm not sure I see a way to support 64bit ints in that hypre interface.  (CCed Mark in case he has some ideas.)  We should be able to support it in the tpetra-based interface though, if you're interested in that one.
>
> Best wishes,
> Alicia
>
> -----Original Message-----
> From: Trilinos-Users [mailto:trilinos-users-bounces at trilinos.org] On Behalf Of Denis Davydov
> Sent: Thursday, February 23, 2017 5:14 AM
> To: trilinos-users <trilinos-users at trilinos.org>
> Subject: [EXTERNAL] [Trilinos-Users] 64bit indices in Hypre, Superlu-Dist and Metis/Parmetis
>
> 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.
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at trilinos.org
> https://trilinos.org/mailman/listinfo/trilinos-users
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at trilinos.org
> https://trilinos.org/mailman/listinfo/trilinos-users



More information about the Trilinos-Users mailing list