Я работаю с cuda и использую openMP для параллельной работы:
#pragma omp parallel
{
unsigned int cpu_thread_id = omp_get_thread_num();
cudaSetDevice(cpu_thread_id);
if(cpu_thread_id==0)
{
// call kernel function
}
}
Он всегда работает с cpu_thread_id = 0, даже если у меня 4 gpus. Поэтому, когда я меняю cpu_thread_id на другое число 1,2 и 3 для тестирования. Я получил: ошибка сегментации. с этой ошибкой, я понятия не имею, почему это проблема.
Вы заметили что-нибудь?
Заранее спасибо