Брой активни деформации в GPU (Fermi)

Имам бърз въпрос относно активните деформации в GPU (предпочитам да го знам във Fermi). За конкретно ядро, броят на активните деформации във всеки цикъл в SM еднакъв ли е за цялото време на изпълнение на ядрото? Докато експериментирах, има известна зависимост между общия брой активни деформации (за цялото изпълнение) и броя на синхронизациите в ядрото на програмата. Може ли някой да изясни тази връзка? Благодаря


person Zk1001    schedule 13.07.2011    source източник


Отговори (2)


Броят на активните деформации може да варира с течение на времето, тъй като:

  • Други блокове от нишки могат да завършат или започнат на същия SM, така че ако имате четири изкривявания на блок от нишки, тогава ако само един блок от нишки е резидентен на SM, ще имате до четири изкривявания, но с два или три блока от нишки ще имате до осем или дванадесет респ.
  • Ако деформирането достигне края на техния код, то вече няма да изпълнява код (естествено)

Броят на активните деформации за изпълнение на цялата програма ще зависи от редица фактори, но не забравяйте, че той се увеличава с броя на активните деформации за всеки цикъл. Това означава, че ако увеличите броя на синхронизациите, което също би увеличило броя на циклите, които всяко изкривяване изисква за изпълнение на ядрото, тогава бихте очаквали по-висок брой активни изкривявания.

Също така имайте предвид, че някои извлечени статистики в профилиращия са приблизителни, тъй като те често използват стойности от повече от едно изпълнение, следователно може да има известна променливост.

person Tom    schedule 13.07.2011
comment
Благодаря за ясния отговор. Всякакви други добавки или коментари ще бъдат оценени! - person Zk1001; 13.07.2011
comment
Да попитам още малко. С определен брой споделена памет и регистри на нишка, ние знаем колко изкривявания могат да бъдат активни едновременно. Въпреки това, поради дължината на всяка деформация може да бъде различна, така че някои могат да прекратят по-рано другите. След това планировчикът издава ли инструкции от други блокове на нишки? Или изчаква, докато всички деформации в активните блокове завършат, след което активира напълно различна група блокове? - person Zk1001; 19.07.2011

Връзката между бариерната синхронизация и обвиването е обяснена в този документ, Демистифициране на GPU микроархитектурата чрез микробенчмаркинг.

person veda    schedule 13.07.2011