2 votes

Gpuarray dans Cuda/Matlab

Je veux savoir s'il y a un moyen d'optimiser la fonction matlabique gather . Je suis en train de développer un code Cuda avec de très grandes matrices et j'ai remarqué que la gather que je dois utiliser pour récupérer les données de mon GPU est assez lente. Pour une matrice 2^13x2^8, cela prend environ 3 secondes !

3voto

Edric Points 11387

Les performances de gpuArray.gather est limitée par votre bus PCI. Vous ne pouvez l'optimiser qu'en collectant moins de données (par exemple, en utilisant l'indexation). Notez que dans les versions plus récentes de Parallel Computing Toolbox, de nombreuses opérations sont asynchrones, mais gather ne l'est pas - il se peut donc que vous voyiez simplement le temps nécessaire pour que les requêtes asynchrones se terminent. Vous pouvez vérifier en utilisant wait(gpuDevice) pour synchroniser l'appareil.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X