arrayfire / arrayfire/arrayfire-python

backends do not load in proper order

Open
#251 1 comment 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.