Slow SVD
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 30/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- performance
Piste de recherche
Commencez par reproduire le benchmark 1000x1000 signalé avec af.svd et comparez-le à svd de NumPy sur la configuration Radeon HD 7950/FGLRX et Debian Jessie décrite dans l'issue. Vérifiez l'implémentation SVD existante et son chemin de backend ; le travail est terminé lorsque la cause de l'écart de temps a été identifiée et corrigée, et que le benchmark affiche de meilleurs résultats.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Python
- Étoiles
- 422
- Forks
- 63
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de arrayfire/arrayfire-python
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
arrayfire/arrayfire-python#271 ·
-
Unwrap phase function Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
arrayfire/arrayfire-python#270 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
arrayfire/arrayfire-python#269 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
arrayfire/arrayfire-python#268 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
arrayfire/arrayfire-python#267 · 1 commentaire · 1 réaction ·
Toutes les issues de arrayfire/arrayfire-python
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
learningequality/ricecooker#747 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
BSData/horus-heresy-3rd-edition#3171 ·
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
run-llama/llama_index#23199 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
KhronosGroup/glTF-Blender-IO#2769 ·