Pages : 1
#1 Le 31/07/2011, à 18:17
- nicolas66
convolution cuda
Bonjour à tous,
Est-ce que quelqu'un connaît une bibliothèque ou possède un kernel capable de faire une convolution sur une image de dimension quelconque (1d, 2d, 3d, etc.) ?
--
Nicolas.
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
#2 Le 01/08/2011, à 13:32
- Nezix
Re : convolution cuda
Bonjour,
Il y a des exemples d'implémentation de convolution en CUDA dans les exemples du SDK et où les infos sont données ici.
Sinon il y a ce site qui t'explique comment c'est optimisé pour le calcul parallèle.
Par contre je ne sais pas si ces kernels acceptent toutes les dimensions. Le second site te permettra peut être de mieux comprendre comment ça fonctionne et d'y ajouter des dimensions
Dernière modification par Nezix (Le 29/03/2012, à 13:14)
Hors ligne
#3 Le 01/08/2011, à 21:51
- nicolas66
Re : convolution cuda
Je connais ces exemples. J'espérais une bibliothèque gérant déjà ce genre de tâche fastidieuse, dommage je vais devoir m'y coller. J'espère aussi que cela me prendra moins de temps que l'intégration avec CMake, ça a été un peu laborieux. Je posterai des news si j'ai du nouveau. Merci qd même
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
#4 Le 29/08/2011, à 19:18
- nicolas66
Re : convolution cuda
Je reviens sur ce post pour dire que je n'avais pas trouvé de lib pour des traitements d'images multi-dimensionnelles. Du coup, j'ai dû me retrousser les manches. J'ai finalement opté pour la solution suivante en 3D : lancer un kernel pour chaque tranche en z. J'aurai sûrement à optimiser un peu le kernel car les perfs n'étaient pas au rdv. Voilà, si ça peut aider
--
Nicolas.
"The computer was born to solve problems that did not exist before." (B. Gates)
Hors ligne
Pages : 1