私は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
}
}
私は4つのgpusを持っていても、常にcpu_thread_id = 0で動作します。だから、私はcpu_thread_idを別の番号1,2、および3に変更してテストします。私はセグメンテーションフォルトを持っています。このエラーで、私はなぜそれが問題であるか分かりません。
あなたは何か気付いたのですか?
前もって感謝します