The lu_dense_cpu test is failing under the following conditions:
- float /
sgetrf - size is greater than or equal to 128*128 elements
- Accelerate Framework on OS X 10.11 & 10.12 (El Capitan/Sierra)
Since OS X uses mandatory fallback for OpenCL Unified memory devices (CPUs/iGPUs), this makes the lu_dense_opencl test also fail when run on these types of devices.
And since lu/sgertf get used in the inverse and solve functions, those will fail too.
LU Failing tests:
[ FAILED ] LU.floatBigSquare
[ FAILED ] LU.floatBigRect0
[ FAILED ] LU.floatBigRect1
[ FAILED ] LU.floatBigSquareMultiple
[ FAILED ] LU.floatBigRect0Multiple
[ FAILED ] LU.floatBigRect1Multiple
This does not fail for:
- [d/c/z]getrf
- Sizes smaller than 128x128
- Does not fail on OS X 10.10 (OS X Yosemite)
- When MKL is used instead of Accelerate Framework
Since Accelerate Framework is linked dynamically, the failure is indifferent to the version of OS X or Clang used to compile the library. It really only depends on where the library is being run.
The installers on the ArrayFire website are built with Intel MKL rather than Accelerate Framework, this issue does not affect those binaries.