Как может зависнуть только регистровая команда из-за «зависимостей памяти»? - PullRequest
0 голосов
/ 23 декабря 2018

Я профилирую ядро ​​CUDA, используя nvprof с включенной выборкой ПК, чтобы понять, какие у меня проблемы с задержкой.Графическим процессором, который я использую, является P100 (compute 6.0)

. Образцы отчетов ПК показывают, что DFMA часто останавливается из-за зависимостей памяти.Код SASS для DFMA выглядит следующим образом:

 DFMA R22, R4, R8, R22

Моя проблема заключается в том, что R8 должен быть загружен через LDG.E.CI.64 с очень высокой частотой промаха на L2.

Определение останова зависимости от памяти: «Невозможно выполнить загрузку / сохранение, так как требуемые ресурсы недоступны или используются полностью, или слишком много запросов определенного типа не выполнено».

Что меня смущает, так это то, что DFMA не является операциями загрузки / хранения, и если я прав, что остановка происходит из-за данных, недоступных на R8, то это должна зависеть от выполнения.Что означает зависание памяти в DFMA?

...