JuliaGPU / JuliaGPU/ArrayFire.jl

Feature Request: Extend Base.LinAlg functions

Aperta
#53 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Julia
Stelle
207
Fork
33
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

For numerical linear algebra it would be very useful to extend the implementations of `Base.LinAlg.scale!` and `Base.LinAlg.axpy!` etc. Right now, everything goes back to the implementation for AbstractArrays (which is terribly slow).

What I'm looking for is, for example:

```
using ArrayFire
using Base.Test
a = map(Float32,randn(128,128,128));
ad = AFArray(a)
t1d = Array( Base.LinAlg.axpy!(Float32(1.2),ad,ad) )
t1 = Base.LinAlg.axpy!(Float32(1.2),a ,a )
t2d = Array( Base.LinAlg.scale!(ad,Float32(2.3)))
t2 = Base.LinAlg.scale!(a, Float32,2.3))
@test_approx_eq t1 t1d
@test_approx_eq t2 t2d
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Gli entry point indicati sono Base.LinAlg.scale! e Base.LinAlg.axpy!, confrontando AFArray con il comportamento di AbstractArray. Inizia individuando come queste operazioni vengono sottoposte a dispatch per AFArray ed esegui il confronto 128×128×128 fornito. Il lavoro è completato quando i risultati di AFArray corrispondono ai risultati degli array ordinari per entrambe le operazioni.

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

Valutazione

Stack tecnologico
julia
Ambito
backend, performance
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.