Декомпозиция сериализации графических процессоров - PullRequest
0 голосов
/ 20 июля 2011

Согласно этому, http://www.nvidia.co.uk/content/PDF/isc-2011/Ziegler.pdf, Я понимаю, что повторы в литературе по графическим процессорам означают сериализации. Но каковы факторы, влияющие на количество сериализаций?

Для этого я провел несколько экспериментов. Профилировать несколько ядер и найти количество повторов (= выданные инструкции - выполненные инструкции). Иногда количество банковских конфликтов должно быть равно количеству повторов. В некоторых других случаях число банковских конфликтов меньше. Это подразумевает, что количество банковских конфликтов всегда является фактором. А как насчет другого?

Согласно слайдам выше (из слайдов 35), есть и другие:

. Кеш инструкций отсутствует

. Постоянная память банка конфликтов

Насколько я понимаю, может быть два других:

. Количество ветвей расхождения. Поскольку оба пути выполнены, есть повторы. Но я не уверен, что на количество выданных инструкций влияют расхождения или нет?

. Количество пропущенных кешей. Я слышал, что запросы памяти с большим временем ожидания будут воспроизводиться иногда. Но в моих экспериментах пропуски кэша L1 часто превышают повторы.

Может ли кто-нибудь подтвердить, что эти факторы способствуют сериализации? Что не так и я что-то упускаю?

Спасибо

1 Ответ

1 голос
/ 22 июля 2011

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

Я не уверен в количестве пропусков кэша.Это должно быть прозрачно обработано контроллером памяти, не влияющим на инструкцию.Хуже всего то, что конвейер останавливается, пока память не будет правильно извлечена.

...