Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[BUG] Sparse host call throws

Aperta
#3,703 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
cpp
Ambito
hpc

Direzione di ricerca

Inizia eseguendo il test fornito ArrayFireSparse.HostExtractionCrash con la configurazione dell'array sparso segnalata e analizza il percorso di estrazione sull'host raggiunto da sp.host(). Traccia il modo in cui viene gestito lì lo storage CSR sparso. Il lavoro è completato quando l'estrazione sull'host termina senza generare un'eccezione ArrayFire in questo caso riproducibile.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Calling .host on an array made with af::sparse throws an arrayfire exception.

Reproducible Code and/or Steps

TEST(ArrayFireSparse, HostExtractionCrash) {
    int size = 8;
    af::info();

    // Create lazy nodes
    af::array values = af::constant(1.0, size, f64);
    af::array row_ptr = af::iota(af::dim4(size + 1), af::dim4(1), s32);
    af::array col_idx = af::constant(0, size, s32);

    // Create sparse array
    af::array sp = af::sparse(size, 4, values, row_ptr, col_idx, AF_STORAGE_CSR);
    try {
        double* host_ptr = sp.host<double>();
    }
    catch(af::exception const& e) { FAIL() << e.what(); }
}

System Information

ArrayFire v3.10.0 (CUDA, 64-bit Windows, build 492718b5a)
Platform: CUDA Runtime 12.8, Driver: 13010
[0] NVIDIA GeForce RTX 4060 Ti, 8188 MB, CUDA Compute 8.9

Lingua principale
C++
Stelle
4.9k
Fork
555
Merge medio
1h 24m
PR unite (30g)
1

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di arrayfire/arrayfire

Tutte le issue di arrayfire/arrayfire

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.