Например, у меня есть 2 графических процессора и 2 хост-потока. Я не могу проверить это, потому что многоязычный компьютер находится далеко от меня. Я хочу, чтобы первый поток хоста работал с первым графическим процессором, а второй хост-поток работал со вторым графическим процессором. Все потоки хоста состоят из множества вызовов cublas. Итак, можно ли выбрать fisrt GPU из первого хост-потока, а второй gpu из второго потока хоста вызовом cudaSetDevice()?Могут ли разные потоки установить различные графические процессоры в качестве их текущего устройства CUDA?
Например, для второго хост-потока я позвоню cudaSetDevice(1)
, а для первого потока я позвоню cudaSetDevice(0)
.
Как я могу получить без знака Int статический связанных с нитью у меня на CPU? Если я вызываю GetCurrentProcessorNumber(), я получаю не постоянные числа. – jimifiki
Это будет зависеть от используемой модели резьбы. Если вы используете OpenMP, 'omp_get_thread_num()' вернет уникальный идентификатор из 0 .. (# threads-1) для каждого потока, о котором знает OMP. –