[BUG] opencl-interop `get_device_type` always returns `DeviceType::ALL`

Offen
#382 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
rust
Bereich
hpc

Rechercherichtung

Beginne mit der im Issue gezeigten Funktion get_device_type und vergleiche ihr Rückgabemapping mit dem Wert AFCL_DEVICE_TYPE_UNKNOWN und den im Bericht verlinkten cl-sys DeviceType-Definitionen. Bestätige die beabsichtigte Behandlung des unbekannten ArrayFire-Werts und verifiziere, dass sie nicht mehr DeviceType::ALL meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Bug

Description

The get_device_type function transmutes the value -1 into DeviceType or returns DeviceType::ALL; however, the enum variant that corresponds to the value (-1i32 as u64) is DeviceType::ALL. This does not seem to be the intended behaviour.

///// Fetch Active ArrayFire device's type i.e. CPU/GPU/Accelerator etc.
pub fn get_device_type() -> DeviceType {
    let mut out: i32 = 0;
    let err_val = unsafe { afcl_get_device_type(&mut out as *mut c_int) };
    handle_error_general(AfError::from(err_val));
    match out {
        -1 => unsafe { mem::transmute(out as u64) },
        _ => DeviceType::ALL,
    }
}

The value of -1 corresponds to AFCL_DEVICE_TYPE_UNKNOWN in arrayfire, whilst -1 corresponds to CL_DEVICE_TYPE_ALL in cl-sys

Vorherrschende Sprache
Rust
Sterne
827
Forks
59
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus arrayfire/arrayfire-rust

Alle Issues in arrayfire/arrayfire-rust

Ähnliche Issues

Weitere Issues zu Rust

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.