Skip to content

CPU Lapack sgetrf (LU) fails on OS X 10.11/12 when using Accelerate Framework #1617

Open

Description

@shehzan10

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.

Activity

  1. added this to the milestone on Oct 12, 2016
  2. modified the milestone: on Jul 26, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions