MKL BLAS与OSX中的Accelerate Framework BLAS之间的DSCAL不一致性

时间:2018-07-12 06:54:07

标签: macos ieee-754 blas intel-mkl accelerate-framework

在OSX下使用OSX BLAS(加速框架)。以下程序

  real*8 :: x(2)
  real*8 :: zero=0.0d0
  x(1)=1.0d0
  x(2)=1/zero
  print*, x(2)*0.0d0
  call dscal(2,0.d0,x,1)
  print*, x
  end

提供以下输出

                   NaN
0.0000000000000000        0.0000000000000000

以及OSX + MKL BLAS上的以下输出

                   NaN
0.0000000000000000                            NaN

即似乎OSX BLAS DSCAL在乘以0时发生了短路(尽管应该获得0 * Inf = NaN,但我们得到X(2)= 0)

这是已知的错误/功能吗?

1 个答案:

答案 0 :(得分:1)

这既不是错误,也不是功能。 0*NaN 0*Inf的结果由实施者决定。无论如何,以上目的是什么?