[petsc-users] build pets with 64 bit indices
Satish Balay
balay.anl at fastmail.org
Tue Apr 29 23:27:36 CDT 2025
On Wed, 30 Apr 2025, hexioafeng via petsc-users wrote:
> Dear PETSc developers,
>
> I use PETSc and SLEPC to solve generalized eigen problems. When solving an interval eigen problem with matrix size about 5 million, i got the error message: "product of two integer xx xx overflow, you must ./configure PETSc with --with-64-bit-indices for the case you are running".
>
> I use some prebuilt third-party packages when building PETSc, namely OpenBLAS, METIS, ParMETIS and SCALAPACK. I wonder should i also use 64-bit prebuilt packages when configure PETSc with the --with-64-bit-indices flag? How about the MUMPS and MPI? Do i have to also use the b4-bit version?
Hm - metis/parmetis would need a rebuild [with -DMETIS_USE_LONGINDEX=1 option]. Others should be unaffected.
You could use petsc configure to build pkgs to ensure compatibility i.e. use --download-metis --download-parmetis etc..
Note - there is a difference between --with-64-bit-indices (PetscInt) and --with-64-bit-blas-indices (PetscBlasInt) [and ILP64 - aka fortran '-i8']
Satish
----
$ grep defaultIndexSize config/BuildSystem/config/packages/*.py
config/BuildSystem/config/packages/hypre.py: if self.defaultIndexSize == 64:
config/BuildSystem/config/packages/metis.py: if self.defaultIndexSize == 64:
config/BuildSystem/config/packages/mkl_cpardiso.py: elif self.blasLapack.has64bitindices and not self.defaultIndexSize == 64:
config/BuildSystem/config/packages/mkl_cpardiso.py: elif not self.blasLapack.has64bitindices and self.defaultIndexSize == 64:
config/BuildSystem/config/packages/mkl_pardiso.py: elif self.blasLapack.has64bitindices and not self.defaultIndexSize == 64:
config/BuildSystem/config/packages/mkl_sparse_optimize.py: if not self.blasLapack.mkl or (not self.blasLapack.has64bitindices and self.defaultIndexSize == 64):
config/BuildSystem/config/packages/mkl_sparse.py: if not self.blasLapack.mkl or (not self.blasLapack.has64bitindices and self.defaultIndexSize == 64):
config/BuildSystem/config/packages/SuperLU_DIST.py: if self.defaultIndexSize == 64:
>
> Look forward for your reply, thanks.
>
> Xiaofeng
More information about the petsc-users
mailing list