Dear Tom,
The change in the Fedora RPM from using R's internal BLAS to external
BLAS means the Fedora R binary now fails one of R's regression tests,
specifically: tests/reg-BLAS.R. You can run this code by hand to verify
the issue.
As noted in the R administration and Installation Manual, "R relies on
ISO/IEC 60559 compliance of an external BLAS. This can be broken if for
example the code assumes that terms with a zero factor are always zero
and do not need to be computed - whereas x*0 can be NaN. This is checked
in the test suite."
The version of BLAS that comes with R contains patched versions of
DGBMV, DGEMM, and DGEMV. The patch has been in place since 2010.
Presumably R blas and reference BLAS have been divergent ever since.
I guess this should be reported upstream as a BLAS bug. Recalling the
previous thread on openblas, I note that openblas does pass the
regression test.
Martyn
CC: Lejeczek, who reported the bug, and R-SIG-Fedora for information.
-----------------------------------------------------------------------
This message and its attachments are strictly confidenti...{{dropped:8}}
R with external BLAS fails regression test
3 messages · Tom Callaway, Martyn Plummer
On 07/07/2014 08:15 AM, Martyn Plummer wrote:
Dear Tom, The change in the Fedora RPM from using R's internal BLAS to external BLAS means the Fedora R binary now fails one of R's regression tests, specifically: tests/reg-BLAS.R. You can run this code by hand to verify the issue. As noted in the R administration and Installation Manual, "R relies on ISO/IEC 60559 compliance of an external BLAS. This can be broken if for example the code assumes that terms with a zero factor are always zero and do not need to be computed - whereas x*0 can be NaN. This is checked in the test suite." The version of BLAS that comes with R contains patched versions of DGBMV, DGEMM, and DGEMV. The patch has been in place since 2010. Presumably R blas and reference BLAS have been divergent ever since. I guess this should be reported upstream as a BLAS bug. Recalling the previous thread on openblas, I note that openblas does pass the regression test.
Seems like it. In the interim, is there a patch handy, or do I need to try to untangle it from the R code? ~tom == ?.???`?.??`?.??.???`?.?><(((?> OSAS @ Red Hat University Outreach || Fedora Special Projects || Fedora Legal -------------- next part -------------- A non-text attachment was scrubbed... Name: tcallawa.vcf Type: text/x-vcard Size: 4 bytes Desc: not available URL: <https://stat.ethz.ch/pipermail/r-sig-fedora/attachments/20140707/3d9e36f2/attachment.vcf>
On Mon, 2014-07-07 at 10:09 -0400, Tom Callaway wrote:
On 07/07/2014 08:15 AM, Martyn Plummer wrote:
Dear Tom, The change in the Fedora RPM from using R's internal BLAS to external BLAS means the Fedora R binary now fails one of R's regression tests, specifically: tests/reg-BLAS.R. You can run this code by hand to verify the issue. As noted in the R administration and Installation Manual, "R relies on ISO/IEC 60559 compliance of an external BLAS. This can be broken if for example the code assumes that terms with a zero factor are always zero and do not need to be computed - whereas x*0 can be NaN. This is checked in the test suite." The version of BLAS that comes with R contains patched versions of DGBMV, DGEMM, and DGEMV. The patch has been in place since 2010. Presumably R blas and reference BLAS have been divergent ever since. I guess this should be reported upstream as a BLAS bug. Recalling the previous thread on openblas, I note that openblas does pass the regression test.
Seems like it. In the interim, is there a patch handy, or do I need to try to untangle it from the R code?
I have reconstructed a patch (attached) that you can apply directly to the BLAS source code from Netlib. Martyn
~tom == ?.???`?.??`?.??.???`?.?><(((?> OSAS @ Red Hat University Outreach || Fedora Special Projects || Fedora Legal
----------------------------------------------------------------------- This message and its attachments are strictly confidential. If you are not the intended recipient of this message, please immediately notify the sender and delete it. Since its integrity cannot be guaranteed, its content cannot involve the sender's responsibility. Any misuse, any disclosure or publication of its content, either whole or partial, is prohibited, exception made of formally approved use ----------------------------------------------------------------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: R-blas.diff Type: text/x-patch Size: 3657 bytes Desc: R-blas.diff URL: <https://stat.ethz.ch/pipermail/r-sig-fedora/attachments/20140707/e382b60f/attachment.bin>