Hi, the Debian project is discussing whether we should start providing a 64 bit build of PETSc (which means we'd have to upgrade our entire computational library stack, starting from BLAS and going through MPI, MUMPS, etc).

A default PETSc build uses 32 bit addressing to index vectors and matrices. 64 bit addressing can be switched on by configuring with --with-64-bit-indices=1, allowing much larger systems to be handled.

My question for petsc-maint is, is there a reason why 64 bit indexing is not already activated by default on 64-bit systems? Certainly C pointers and type int would already be 64 bit on these systems.

Is it a question of performance? Is 32 bit indexing executed faster (in the sense of 2 operations per clock cycle), such that 64-bit addressing is accompanied with a drop in performance? In that case we'd only want to use 64-bit PETSc if the system being modelled is large enough to actually need it. Or is there a different reason that 64 bit indexing is not switched on by default?

Drew

Reply via email to