Slow SVD
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- python
- Ambito
- performance
Direzione di ricerca
Inizia riproducendo il benchmark 1000x1000 segnalato usando af.svd e confrontalo con svd di NumPy sulla configurazione Radeon HD 7950/FGLRX e Debian Jessie descritta nella issue. Controlla l'implementazione SVD esistente e il relativo percorso del backend; il lavoro è completato quando la causa della differenza nei tempi è stata identificata e risolta e il benchmark mostra risultati migliori.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I found AF's SVD implementation is quite slow comparing to DGEMM with Radeon HD 7950/FGLRX driver on Debian Jessie:
In [47]: from pylab import randn, svd
In [48]: x_0 = randn(1000, 1000)
In [49]: %time y_0 = svd(x_0)
CPU times: user 1.24 s, sys: 1.01 s, total: 2.24 s
Wall time: 287 ms
In [50]: x_1 = af.Array(x_0.ctypes.data, x_0.shape, 'd')
In [51]: %time y_1 = af.svd(x_1)
CPU times: user 3.64 s, sys: 3.97 s, total: 7.62 s
Wall time: 3.25 s
AF's SVD takes more than 9 times of Numpy's SVD to solve the same matrix, However, the in DGEMM, AF is faster (but not much) than Numpy:
In [75]: from pylab import dot
In [76]: %time z_0 = dot(x_0.transpose(), x_0)
CPU times: user 52 ms, sys: 20 ms, total: 72 ms
Wall time: 10.6 ms
In [77]: %time z_1 = af.matmul(x_1.T, x_1)
CPU times: user 0 ns, sys: 0 ns, total: 0 ns
Wall time: 8.38 ms
I am wondering if there are anything I should tune/adjust before proceeding.
- Lingua principale
- Python
- Stelle
- 422
- Fork
- 63
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di arrayfire/arrayfire-python
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
arrayfire/arrayfire-python#271 ·
-
Unwrap phase function Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
arrayfire/arrayfire-python#270 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
arrayfire/arrayfire-python#269 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
arrayfire/arrayfire-python#268 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
arrayfire/arrayfire-python#267 · 1 commento · 1 reazione ·
Tutte le issue di arrayfire/arrayfire-python
Issue simili
-
Add: hunch Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
DiamondLightSource/dodal#2211 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
openml/openml-python#1749 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
sipyourdrink-ltd/bernstein#6191 ·