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

Reply via email to