Par exemple, j'ai 2 GPU et 2 threads hôte. Je ne peux pas vérifier parce que PC multigpu est loin de moi. Je veux que le premier thread hôte fonctionne avec le premier GPU et le deuxième thread hôte avec le second GPU. Tous les threads hôtes sont constitués de nombreux appels cublas. Donc, est-il possible de choisir le premier GPU du premier thread hôte et le deuxième GPU du deuxième thread hôte par appel cudaSetDevice()?Des threads différents peuvent-ils définir différents GPU en tant que leur périphérique CUDA actuel?
Par exemple pour le deuxième thread hôte, j'appellerai cudaSetDevice(1)
, et pour le premier thread j'appellerai cudaSetDevice(0)
.
Comment puis-je obtenir un entier non signé statiquement associé au fil que j'ai sur mon CPU? Si j'appelle GetCurrentProcessorNumber() j'obtiens des nombres non constants. – jimifiki
Cela dépend du modèle de thread que vous utilisez. Si vous utilisez OpenMP, 'omp_get_thread_num()' retournera un identifiant unique de 0 .. (# threads-1), pour chaque thread dont OMP est conscient. –