I would like a mode for the PETSc matrix classes where the values are simply shipped to and used on the GPU in single precision. In theory it is trivial to implement.
> On Jul 11, 2019, at 3:31 PM, Jed Brown via petsc-dev <[email protected]> > wrote: > > "Zhang, Junchao" <[email protected]> writes: > >> A side question: Do lossy compressors have value for PETSc? > > Perhaps if they're very fast, but I think it's usually not PETSc's place > to be performing such compression due to tolerances being really subtle. > > There certainly is a place for preconditioning using reduced precision. > PETSc used to have MatScalar to store Mat entries in reduced (single) > precision while MFFD Jacobian application and Krylov work stayed in > double. That was used in FUN3D papers circa 2000 and was "successful", > but rarely used in practice (PETSc had to be built a special way) and > removed due to the maintenance burden. I think there would be interest > in a runtime option to compress matrix entries. For regular stencil > operations where they may be a lot of redundancy, such compression could > be lossless. For general problems, simply working in reduced precision > would be enough.
