Я использую рабочую станцию, содержащую 4 карты GeForce GTX Titan для разработки CUDA. Я работаю над Ubuntu 12.04.5, и ни один из этих графических процессоров не используется для отображения. Я замечаю, что cudaGetDeviceProperties использует тайм-аут выполнения ядра. Это применимо, когда я не на Windows и не использую дисплей?CUDA - запуск завершен и был завершен - Ubuntu и нет отображения
Я поставил следующий код, чтобы проверить это в одном из моих ядер, как правило, работает нормально:
__global__ void update1(double *alpha_out, const double *sDotZ, const double *rho, double, *minusAlpha_out, clock_t *global_now)
{
clock_t start = clock();
clock_t now;
for (;;) {
now = clock();
clock_t cycles = now > start ? now - start : now + (0xffffffff - start);
if (cycles >= 50000000000) {
break;
}
}
*global_now = now;
}
Запуск ядра выглядит следующим образом:
update1<<<1, 1>>>(d_alpha + idx, d_tmp, d_rho + idx, d_tmp, global_now);
CudaCheckError();
cudaDeviceSynchronize();
Для достаточно большого числа циклов ожидания , Я вижу ошибку:
CudaCheckError() with sync failed at /home/.../xxx.cu:295:
the launch timed out and was terminated
Он отлично работает для небольшого количества циклов. Если я запустил этот же код на графическом процессоре Tesla K20m с отключенным временем выполнения ядра, я не вижу эту ошибку, и программа работает как обычно. Если я вижу эту ошибку, это определенно означает, что я нажимаю ограничение по времени ядра, которое, кажется, включено или может быть что-то еще не так с моим кодом? Все упоминания этой проблемы кажутся людьми, использующими Windows, или же используя свою карточку для отображения, так как это возможно. Я вижу эту ошибку?
Большое спасибо за ваш ответ. Мы вообще не запускаем X. Нам удалось отключить тайм-аут выполнения, используя «nvidia-smi -r» для сброса графических процессоров. Это якобы не поддерживается на этих графических процессорах, но, похоже, все равно работает. Теперь мы не можем найти способ повторно включить его (а не то, что мы хотим), поэтому, как это было включено в первую очередь, это немного озадачивает. –