[petsc-users] build pets with 64 bit indices
Pierre Jolivet
pierre at joliv.et
Wed Apr 30 00:08:14 CDT 2025
Could you please provide the full back trace?
Depending on your set of options, it may be as simple as switching -bv_type to make your code run (if you are using svec, this would explain such an error but could be circumvented with something else, like mat).
Thanks,
Pierre
> On 30 Apr 2025, at 6:27 AM, Satish Balay <balay.anl at fastmail.org> wrote:
>
> 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