Bug#953116: Bug#961108: openmpi: providing 64-bit MPI
Drew Parsons
dparsons at debian.org
Thu May 21 03:30:17 BST 2020
Hi Gard, bringing this question over to petsc bug#953116.
On 2020-05-20 17:07, Gard Spreemann wrote:
> Drew Parsons <dparsons at debian.org> writes:
>
>> If I understand correctly, it's dangerous to simply enable 64-bit in
>> PETSc alone. It needs to be done all along the computational library
>> stack.
>
> In the case of PETSc, is the intention to change to using the 64-bit
> indexing option, or to provide a new additional package that uses
> 64-bit
> indexing? The latter sounds burdensome long-term, so I would probably
> lean towards the former.
I was assuming we'd carry the two bit builds, "petsc-dev" and
"petsc64-dev", at least in the medium term. This would follow what's in
place with BLAS. It's also the practice in CRAY which offers both
cray-petsc and cray-petsc-64 modules.
But it's a good question to consider.
> If you do intend to go for the former, I think it's a good idea to very
> clearly warn the user upon upgrade. The PETSc binary sparse matrix and
> vector file formats are assumed to use whatever indexing data types
> that
> the library is compiled with, and as far as I remember there is no
> metadata about this in the file format itself. Without warning, I
> suspect a lot of users might burn themselves when using LoadMat [1] and
> friends on data files written with 32 bit index versions of the
> package. I don't know how common the file format is and whether most
> people just use HDF5, but I know I've often used the PETSc format to
> avoid the complications of HDF5.
Certainly. I can anticipate it might be quite disruptive if the
standard package just jumps to 64 bit. I imagine that would break
things.
One question to consider is why petsc doesn't just use 64 bits in the
first place on 64 bit systems.
I was under the impression that a 32 bit build actually runs faster on a
64 bit system, in the sense of getting twice as much done per clock
cycle. That you only need the 64 bit build if you actually need that
much address space (i.e. if your mesh carrys that many degree of freedom
DOFs)
I guess we should clear up whether that's true or not. It would be
regrettable to drop 32 bit if it means performance on smaller jobs is
diminished.
> PS: I can volunteer to write a 32->64 bit conversion tool for these
> files if desired. Ideally I guess upstream should provide 32/64-bit
> specific versions of the reading/writing functions.
That could be a helpful tool. We could include it the -dev packages.
Drew
More information about the debian-science-maintainers
mailing list