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- ()
Ответ на: комментарий от bdfy

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

Stvad ()

Еще только что попробовал обновиться на Custom до CUDA 8RC - не помогло.

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

Сравни конфиги на иксы.
Попробуй на одинаковых версиях дров.

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

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

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

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

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

У меня есть 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 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.