Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Detect whether LLVM has SVML enabled and override SVML setting if not present #3006
We incorrectly assumed that this combination would be extremely unlikely, and if did happen, LLVM would raise an error. This was a mistake, as it seems:
To correct this, we're going to add a function to llvmlite to verify if the LLVM being used has the patch. (Note, as LLVM is statically linked to llvmlite, it does not matter what LLVM is present on the end user system, only which LLVM is used to build llvmlite.) Numba will look for this function, and if it is not present or returns false (SVML support not available), it will disable the SVML code generation on that platform, regardless of whether the ICC runtime is present.
Although it affects a small number of users, we view this as a critical bug, and will be making patch releases of Numba 0.38 and llvmlite 0.23 outside of our normal release cycle.
FWIW, I rebuilt the llvmlite binaries at https://www.lfd.uci.edu/~gohlke/pythonlibs/#llvmlite using "the patches".