arrayfire / arrayfire/arrayfire

Generalize strides

Aperta
#1,381 1 commento 1 reazione 0 assegnatari Vedi su GitHub
feature internal
Lingua principale
C++
Stelle
4.9k
Fork
555
Merge medio
1h 24m
PR unite (30g)
1

Descrizione

**Pros**:

`no-op` in the following statements refers to no kernel launch. it would require some changes to meta-data.
- `transpose` and `reorder` are now no-ops (we can have an additional parameter if we want to force copies).
- All indexing is now a no-op.
- `wrap` and `unwrap` can be no-ops in a few cases and would not require additional memory.
- `tile` can be a no-op without additional memory.

**Cons**:
- Most of kernels are based on the assumption that the first dimension is contiguous, would require a lot of code changes.
- Even if we change kernels, it might create performance drops.
- Creating new bugs.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

The issue names transpose, reorder, indexing, wrap, unwrap, tile, and kernels that assume a contiguous first dimension, but no files or tests. Start by locating those operations and the affected kernels; done would require a decided stride-generalization scope, updated behavior, and validation that performance and correctness remain acceptable.

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

Valutazione

Stack tecnologico
cpp
Ambito
hpc, performance
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.