arrayfire / arrayfire-python

Python bindings for ArrayFire: A general purpose GPU library.

Home Page:https://arrayfire.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Linking to Anaconda environment in Ubuntu

mariobecerra opened this issue · comments

Hi.

Is there a guide on how to direct the Arrayfire installation to an Anaconda environment? I saw a couple of issues here, but they were based on Windows and Mac OS. I'm working with Ubuntu 19.10.

If I try to import Arrayfire in Python I get the following:

>>> import arrayfire
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mario/anaconda3/lib/python3.7/site-packages/arrayfire/__init__.py", line 56, in <module>
    from .library    import *
  File "/home/mario/anaconda3/lib/python3.7/site-packages/arrayfire/library.py", line 643, in <module>
    backend = _clibrary()
  File "/home/mario/anaconda3/lib/python3.7/site-packages/arrayfire/library.py", line 619, in __init__
    raise RuntimeError("Could not load any ArrayFire libraries.\n" + more_info_str)
RuntimeError: Could not load any ArrayFire libraries.
Please look at https://github.com/arrayfire/arrayfire-python/wiki for more information.

You can see that it's trying to look for Arrayfire in the anaconda3 folder, and it is obviously failing because my Arrayfire installation is in /opt/arrayfire/.

Any pointers to how I can fix this?

Python cannot fine the ArrayFire shared library. You can try to define the AF_PATH environment variable or add the ArrayFire library path in LD_LIBRARY_PATH.

I tried the first option. I added export AF_PATH="/opt/arrayfire/" in my bashrc file and sourced it. However, if I try to import the arrayfire package in Python I get the same error. I'm not sure exactly how to tell Python to use that variable. Any ideas?

Sorry about this, I'm really bad at doing all this environment variables and shared libraries stuff.

Try setting LD_LIBRARY_PATH to the location of the libafcpu.so. so in your case export LD_LIBRARY_PATH=/opt/arrayfire/lib64:$LD_LIBRARY_PATH