[BUG] `Array::get_backend()` can never return `OPENCL`

Open Beginner friendly
#387 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
88/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
rust
Domain
backend

Research direction

Start with src/core/array.rs:392-404 and compare the backend values in include/af/defines.h:414-417. Update the mapping so an OpenCL-created array is reported as Backend::OPENCL, then run the existing test suite or backend-related tests to verify the result.

Written by the indexing model from the issue text.

Description

Bug

src/core/array.rs:392-404:

match (err_val, ret_val) {
    (0, 1) => Backend::CPU,
    (0, 2) => Backend::CUDA,
    (0, 3) => Backend::OPENCL,
    _ => Backend::DEFAULT,
}

af_backend is a bit-flag enum, not sequential (include/af/defines.h:414-417, v3.8.0):

AF_BACKEND_DEFAULT = 0,
AF_BACKEND_CPU     = 1,
AF_BACKEND_CUDA    = 2,
AF_BACKEND_OPENCL  = 4

There is no backend with value 3. An OpenCL-created array returns 4, falls through to the wildcard, and is reported as Backend::DEFAULT.

Fix: (0, 4) => Backend::OPENCL.


Found by Claude Opus 5

Dominant language
Rust
Stars
827
Forks
59
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from arrayfire/arrayfire-rust

All issues in arrayfire/arrayfire-rust

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.