Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LLVM ERROR: Symbol not found: __svml_sqrtf8 #702

Open
patskowron opened this issue Jun 22, 2021 · 6 comments
Open

LLVM ERROR: Symbol not found: __svml_sqrtf8 #702

patskowron opened this issue Jun 22, 2021 · 6 comments

Comments

@patskowron
Copy link

I'm attempting to install umap on:
python=3.9.5
numba=0.53.1
llvmlite=0.36.0

As soon as I attempt to import the package the kernel crashes and I get this error:
"LLVM ERROR: Symbol not found: __svml_sqrtf8"

I have tried using both pip and conda installers and am running on Win10. Is there anything I can do to fix this issue? Thanks!

@lmcinnes
Copy link
Owner

lmcinnes commented Jul 5, 2021

I admit I've never seen anything like that before. This definitely seems to be deep in the innards of numba. Perhaps you need icc_rt installed to get SVML instructions working? I would definitely try asking upstream with numba and see if they have any ideas.

@dr-michael-haley
Copy link

I am having the exact same issue, also on Windows 10. Installing icc_rt didn't resolve the issue, and currently only umap-learn and it's dependencies are installed in the environment. When I tried importing from within Jupyter, it causes the kernel to die, I could only get to this error code by trying 'import umap' from the python command line.

llvmlite=0.37.0
numba=0.54.1
python=3.9.7

Thanks a lot!

@likeben
Copy link

likeben commented Dec 29, 2021

I have encountered the same issue and found the solution fortunately.

Reason

As described in the numba source code llvmlite.binding.load_library_permanently("svml_dispmd"), numba will use the Intel SVML automatically if it detect the svml_dispmd lib in win32 system. So if there is the svml_dispmd.dll file in the system directory, numba will enable the Intel SVML feature automatically. In my situation, a software(SlideAC 3DHISTECH Ltd.) in my system copy such file to the C:\\Windows\System32 directory, but the CPU of my computer is AMD. So numba enable the Intel SVML but it cannot work, then raise this error.

Solution

  1. Find and delete the lib file svml_dispmd.dll in the system directory
  2. Set environment variable NUMBA_DISABLE_INTEL_SVML=1 to disable the Intel SVML

@dr-michael-haley
Copy link

Thanks so much!

My CPU is Intel, so in theory SVML should be fine to use. Therefore, all I had to do was remove the svml_dispmd.dll file (actually, I just renamed it) from the System32 directory, and UMAP loaded fine.

I suspect that the file was originally installed by CaseViewer (3DHISTECH Ltd.), though CaseViewer seems to run fine without the .dll anyway.

For those still encountering issues, you can get some useful information from Numba about your system capabilities regarding SVML being enabled by running numba -s (https://numba.pydata.org/numba-doc/dev/user/installing.html#numba-source-install-env-vars)

@anicoli
Copy link

anicoli commented Feb 15, 2023

Dear all,

After installing umap via conda, I encountered the same problem while importing umap in python.
I tried to install icc_rt as suggested from @lmcinnes with the following command:

conda install -c intel icc_rt

Now it works.

python=3.9.16
numba=0.56.4
umap=0.5.3
llvmlite=0.39.1

@nothingness6
Copy link

I have encountered the same issue and found the solution fortunately.

Reason

As described in the numba source code llvmlite.binding.load_library_permanently("svml_dispmd"), numba will use the Intel SVML automatically if it detect the svml_dispmd lib in win32 system. So if there is the svml_dispmd.dll file in the system directory, numba will enable the Intel SVML feature automatically. In my situation, a software(SlideAC 3DHISTECH Ltd.) in my system copy such file to the C:\\Windows\System32 directory, but the CPU of my computer is AMD. So numba enable the Intel SVML but it cannot work, then raise this error.

Solution

1. Find and delete the lib file `svml_dispmd.dll` in the system directory

2. Set [environment variable](https://numba.pydata.org/numba-doc/dev/reference/envvars.html#envvar-NUMBA_DISABLE_INTEL_SVML) `NUMBA_DISABLE_INTEL_SVML=1` to disable the Intel SVML

Hi, I came across here as I faced the same issue. I detected the file you mentioned, and there are many of them. Which one should I delete from the screenshot below? Thanks in advance.

xtts_issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants