У меня есть приложение DirectCompute, выполняющее вычисления на изображениях (например, вычисление среднего значения пикселей, применение фильтра и многое другое). Для некоторых вычислений я просто рассматриваю изображение как массив целых чисел и отправляю компьютерный шейдер следующим образом:
FImmediateContext.Dispatch(PixelCount, 1, 1);
Результатом является именно ожидаемое значение, поэтому вычисление выполняется правильно. Тем не менее, во время запуска я вижу в журнале отладки следующее сообщение:
D3D11 ERROR: ID3D11DeviceContext::Dispatch: There can be at most 65535 Thread Groups in each dimension of a Dispatch call. One of the following is too high: ThreadGroupCountX (3762013), ThreadGroupCountY (1), ThreadGroupCountZ (1) [ EXECUTION ERROR #2097390: DEVICE_DISPATCH_THREADGROUPCOUNT_OVERFLOW]
Эта ошибка отображается только в журнале отладки, все остальное корректно, включая результат вычисления. Это заставляет меня думать, что GPU каким-то образом управляет очень большой группой потоков, возможно, разбивая ее на последовательно выполняемые меньшие группы.
Мой вопрос: мне следует позаботиться об этой ошибке или все в порядке, чтобы она оставалась и позволяла GPU делает всю работу за меня?
Thx.