arrayfire / arrayfire/arrayfire-python
backends do not load in proper order
- Dominant language
- Python
- Stars
- 422
- Forks
- 63
- PR merge metrics
- No merged PRs in 30d
Description
[This line](https://github.com/arrayfire/arrayfire-python/blob/28a0f610c5329ebc718ce4d924f870c3651bfb3e/arrayfire/library.py#L646) has a comment `# Iterate in reverse order of preference`. However, it loads them with some random order, because the object to iterate is a `set`, which doesn't keep the order. In my Linux computer, when I run `import arrayfire as af`, the function will be called and it loads `""` first, and due to `err!=0`, it directly returns and not loads anything.
By the way, I simply change `{"cpu", "opencl", "cuda", ""}` to `["cuda"]` and I can import arrayfire with no error.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at library.py line 646, where backend loading iterates over the listed backends, and inspect the import path triggered by `import arrayfire as af`. Verify that backend loading follows the documented preference order and that importing ArrayFire no longer returns early without loading a backend.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100