Je travaille avec cuda et j'utilise openMP pour le threading parallèle :
#pragma omp parallel
{
unsigned int cpu_thread_id = omp_get_thread_num();
cudaSetDevice(cpu_thread_id);
if(cpu_thread_id==0)
{
// call kernel function
}
}
Il fonctionne toujours avec cpu_thread_id=0 même si j'ai 4 gpus. Donc, lorsque je change le cpu_thread_id à un autre nombre 1,2, et 3 pour le test. J'ai obtenu : segmentation fault. Avec cette erreur, je n'ai aucune idée de la raison de ce problème.
Vous avez remarqué quelque chose ?
Merci d'avance