Je fais des calculs et je fais des analyses sur les forces et les faiblesses des différentes implémentations BLAS. Cependant, j'ai rencontré un problème. Je teste cuBlas, faire linAlg sur le GPU me semble une bonne idée, mais il y a un problème. L'implémentation de cuBlas en utilisant le format colonne-majeur, et puisque ce n'est pas ce dont j'ai besoin à la fin, je suis curieux de savoir si on peut faire BLAS faire matrice-transposer?Comment transposer une matrice de manière optimale en utilisant blas?
Répondre
BLAS n'a pas de routine de transposition matricielle intégrée. Le SDK CUDA inclut un exemple de transposition matricielle avec un papier qui traite de la stratégie optimale pour effectuer une transposition. Votre meilleure stratégie est probablement d'utiliser les entrées majeures de la ligne vers CUBLAS avec la version d'entrée de transposition des appels, puis d'effectuer les calculs intermédiaires dans la colonne major, et enfin d'effectuer une opération de transposition en utilisant le noyau de transposition SDK.
Edité ajouter que CUBLAS ajouté une routine de transposition dans la version CUBLAS 5, geam
, qui peut être réalisée à la transposition de la matrice dans la mémoire GPU et doit être considérée comme optimale quelle que soit l'architecture que vous utilisez.
- 1. Comment transposer une matrice en utilisant uBLAS?
- 2. Transposer une matrice
- 3. GSL/BLAS: Multiplier une matrice avec une matrice inverse
- 4. Matrice Transposer TSQL
- 5. Lire la matrice et la manipuler BLAS
- 6. manière optimale d'échapper caractère
- 7. Comment puis-je transposer une matrice dans Groovy?
- 8. Comment transposer une matrice triangulaire supérieure dans SQL Server
- 9. transposer/faire pivoter un bloc d'une matrice en python
- 10. Sparse Blas dans Fortran 95
- 11. Cluster les données unidimensionnelles de manière optimale?
- 12. Demander de manière optimale une base de données d'évaluations?
- 13. R: manière optimale du calcul du "produit" de deux vecteurs
- 14. VBA Excel macro pour transposer une matrice spécifique
- 15. Comment transposer un tableau multidimensionnel en place
- 16. Comment comparer les chaînes de caractères de manière optimale?
- 17. Manière optimale d'envoyer le courrier avec SmtpClient?
- 18. Une manière optimale de joindre trois tables dans SQLite
- 19. Transposer en Excel en utilisant VB
- 20. Comparer des tableaux d'objets, manière optimale
- 21. Comment transposer une chaîne CSV en lignes?
- 22. Comment adapter de manière optimale un NSString dans un rectangle?
- 23. Comment déterminer les bords d'une image de manière optimale?
- 24. Comment tracer de manière optimale la courbe continue paramétrique?
- 25. Comment transposer un tableau en utilisant des fonctions de bibliothèques?
- 26. manière optimale à itérer une liste des ressources chaîne
- 27. BLAS Library Benchmark
- 28. Lapackpp vs Boost BLAS
- 29. Comment puis-je concaténer de manière optimale une liste de caractères à une chaîne?
- 30. Manière optimale d'obtenir des sous-chaînes?
".... et puisque ce n'est pas ce que finalement .....". Il manque quelques mots? – talonmies
A partir de CUDA 5.0, cuBLAS a 'cublas geam' qui est une routine très efficace pour effectuer une transposition matricielle. Pour un code complet implémentant cette solution et comparant les performances avec la transposition matricielle à l'aide de Thrust, voir [Quel est le moyen le plus efficace de transposer une matrice dans CUDA?] (Http://stackoverflow.com/questions/15458552/what-is- la façon la plus efficace de transposer une matrice en cuda/21803459 # 21803459). –
JackOLantern