#linux #graphics #linux-kernel #linux-device-driver #pci-e
#linux #графика #linux-ядро #linux-device-driver #pci-e
Вопрос:
Наша команда хочет написать инструмент для измерения производительности с акцентом на GPUGPU, чтобы понять, привязано ли конкретное приложение к вычислениям или к памяти. Мы хотели бы отслеживать обращения к памяти графической карты, не привязываясь к какому-либо compute API. Возможно ли отслеживать системные вызовы, такие как read для этой цели?
Комментарии:
1.
strace
покажет вам системные вызовы, но неясно, что фактический доступ к памяти будет происходить в пользовательском пространстве, а не в каком-либо драйвере ядра.2. @Chris, похоже, что обращения к памяти, которые они хотят отслеживать, исходят вовсе не от центрального процессора, а от видеокарты.
3. Это сделало бы системные вызовы довольно неактуальными… по крайней мере, в качестве непосредственного участника, хотя, возможно, можно идентифицировать запускающие взаимодействия. Я подозреваю, что запрашивающему необходимо гораздо больше изучить архитектуру, прежде чем проводить какие-либо практические эксперименты.
4. Можно отслеживать все обращения к MMIO (пока только x86) для данного драйвера устройства.
5. @0andriy как можно отследить MMIO?