LINUX.ORG.RU

Разница в производительности CUDA на одинаковом железе на двух разных системах

 , , ,


0

1

У меня есть 2 машины с абсолютно одинаковым железом. На одной из машин установлен Debian, на второй кастомный дистрибьютив собранный с помощью buildroot.

Я испытываю следующую проблему:
Мое CUDA приложение работает в 2 раза быстрее на машине с Debian, чем на машине с кастомным дистрибьютивом.

Я пытаюсь понять что может служить причиной этой разницы.

CUDA: 7.5

Drivers:

Debian: 361.28
Custom: 367.27

Информация которая возможно релевантна:

Если я запускаю deviceQuery (из самлов куды) на обеих машинах, результаты почти но не полностью одинаковы:
1я разница:
Debian:
Total amount of global memory: 3069 MBytes
Custom:
Total amount of global memory: 3008 MBytes

(Хотя я сомневаюсь что это может быть причиной разницы в производительности)

Другое отличие:
Debian:
Run time limit on kernels: Yes
Custom:
Run time limit on kernels: No

Если я запускаю bandwidthTest из самплов, результаты более-менее одинаковы для Host to Device Bandwidth, 1 Device(s) и Device to Host Bandwidth, 1 Device(s), но могут заметно отличатся для Device Bandwidth, 1 Device(s).
Для последнего пункта Debian выдает результаты в раене 100k MB/s (хотя иногда падает до 63к).
Для Custom - оно постоянно на уровне 63к.

Еще интересный факт:
Я пробовал запускать Xserver на кастомной системе используя nvidia для этого. Сервер полностью не запускается (но и не крешится). Если я запускаю мое приложение когда сервер находится в таком состоянии - производительность падает еще в 2 раза.
(Запуск Х на дебиане с nvidia не влияет особо на производительность)

Буду благодарен за помощь и идеи куда копать.


Debian: 361.28

Custom: 367.27

В чем проблема установить на дебиан новый драйвер и сравнить?

o-
()
Ответ на: комментарий от Deleted

Ядра одинаковые 3.14.5 (пробовал собирать с абсолютно идентичным конфигом - не помогло).

Stvad
() автор топика
Ответ на: комментарий от o-

Я пробовал даунгрейдить драйвер на кастоме до 361 - не помогло.

Stvad
() автор топика
Ответ на: комментарий от Stvad

Дабы исключить зависимость от железа - поменяй винты с системами в компах и проведи тестирование.

Deleted
()
Ответ на: комментарий от Deleted

У меня есть 3я машина с одинаковым железом - я на нее установил кастом - не помогло.

Stvad
() автор топика
Последнее исправление: Stvad (всего исправлений: 1)

http://cuda-z.sourceforge.net/ Показывает 2x или больше уменьшение производительности на Custom системе для каждого типа операций который он может мерять.
(И почти 2х для device to device memory copy)

Stvad
() автор топика
Ответ на: комментарий от Stvad

у тебя не стартуют иксы. а ещё сообщение «Run time limit on kernels: No» - по этому тексту гуглится опция в конфиге иксов, которой можно оверрайдить поведение. Возможно, при старте иксов ещё какие-то параметры меняются, которые влияют на производительность. Попробуй разобраться, почему не стартуют иксы - посмотреть dmesg, /var/log/Xorg.0.log, сравнить конфиг иксов в /etc/Xorg.conf.

http://stackoverflow.com/questions/15833261/how-to-disable-or-change-the-time...

навскидку, причиной разброса времени работы много чего может быть. cpufreq? transparent hugepages? сравнить /proc/cmdline, выхлоп dmesg, sysctl. в принципе, мест, где можно что-то потвикать в системе, конечное количество, и реально руками все их сравнить.

в крайнем случае запусти perf и посмотри, куда уходит время на одной и другой системе. если просто профилированием будет неясно - там есть поддержка perf counters, другой статистики.

anonymous
()

Что в итоге помогло - изменение того как buildroot собирает nvidia drivers (по дефолту не все модули и утилиты из стандартного пакета включены).

И запуск приложения после запуска Х сервера с использованием nvidia.

Stvad
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.