arrayfire / arrayfire/arrayfire
Generalize strides
- 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