Эффективность программы / устройства CUDA - PullRequest
2 голосов
/ 02 июня 2019

Я вижу, что некоторые показатели CUDA полностью сбивают с толку. Согласно определению

sm_efficiency Процент времени, в течение которого активна хотя бы одна деформация на мультипроцессоре, усредненная по всем мультипроцессорам на графическом процессоре

warp_execution_efficiency Отношение среднего количества активных потоков на деформацию к максимальному количеству потоков на деформацию, поддерживаемое в многопроцессорном режиме, выраженное в процентах

достигаемый_популярности Отношение среднего количества активных деформаций за активный цикл к максимальному количеству деформаций, поддерживаемых на многопроцессорном компьютере

Интересно, существует ли общая связь между этими метриками? Например, высокая загруженность всегда подразумевает высокую эффективность выполнения деформации и так далее? В противном случае они ортогональны, и это случаи, когда возможны высокая эффективность SM и низкая занятость.

Первый показатель касается времени, а остальные - количества потоков и перекосов. Может кто-нибудь уточнить это?

1 Ответ

2 голосов
/ 02 июня 2019

Первая и третья метрики очень тесно связаны и имеют положительную корреляцию. Они оба о деформациях во времени, за исключением того, что первая метрика применяет оператор "> 0" к числу деформаций. Кроме того, они одинаковы - но этот оператор удаляет «измерение» количества искажений и просто дает вам метрику 1 / время вместо метрики варпы / время.

Что касается второй метрики, то это связано с расхождением потоков внутри основы. Хотя это может несколько коррелировать с третьей метрикой, это не совсем так. То, что происходит между нитями в деформации, почти ортогонально тому, что происходит с различными деформациями.

...