• Andreas Marek's avatar
    Enable single-precision calculations for ELPA1 · de6a4fde
    Andreas Marek authored
    With the configure option "--enable-single-precision" ELPA1 is build
    with single-precision (half-words) only.
    The best precision in single-precision (float or complex) is
    2^-23 ~ 1.2e-7. The accuracy of the error residual of ELPA1 in
    single-precision mode is of the order 1e-4 to 1e-5. The orthogonality of
    the EV's is fullfilled up to about ~1e-6.
    Thus the precision of ELPA1 in single-precision mode is roughly 100 -
    1000 times less than the best achievable precison. This is consistent
    with the double-precision mode, where also a factor of 100 - 1000 less
    precision than the theoretical best one is found.
    The float EVs are identical to the double EVs to at least 1e-2, the
    precision of the EVs is thus about 1e-7/1e-2 = 1e5 times lower than the
    best theoretical precision. If the same holds for the double precision
    calculations, this implies that the double precision results can also
    be only trusted on the level 1e-11 (5 orders of magnitude larger
    than the best theoretical precision)
    The best speed-up compared to the double precision calculation is
    a factor of two. This is by far not achieved yet, since the singl
    precision version is not at all optimized at the moment
elpa1_compute.F90 153 KB