О Compute Visual Profiler и количестве блоков для профилирования - PullRequest
0 голосов
/ 21 октября 2010

На странице 51 Руководства пользователя Compute Visual Profiler указано, что:

Обратите внимание, что в случае, если число блоков в ядре меньше или не кратно числу многопроцессорных счетчиков, счетчикизначения для нескольких прогонов не будут согласованными.

Является ли это включающим или исключительным утверждением "или"?Всегда ли оно должно быть кратным?

1 Ответ

1 голос
/ 27 октября 2010

Несоответствие, упомянутое в документации, вызвано дисбалансом нагрузки между мультипроцессорами.

Например, если вы работаете с ядром с 15 блоками на Tesla C2050, который имеет 14 мультипроцессоров, один из мультипроцессоров в конечном итоге будет запускать потоки из одного «дополнительного» блока. Если профилировщик собирает данные из этого многопроцессорного запущенного потока из двух блоков за один прогон профилирования, но из одного запущенного только потока из одного блока в другом, результаты, очевидно, будут отличаться.

Чтобы ответить на тот вопрос, который вы задали, «или» включительно, как обычно на естественных языках.

Хотя я не помню, чтобы меня упоминали в документации, я могу представить, что даже если оба эти условия ложные, профилирующая несогласованность также может возникать, когда сами данные вызывают дисбаланс (количество арифметических / данных или паттернов адресации памяти зависит от данные).

...