Будет ли M.2 NVMe или итеративная графика медленнее дискретных видеокарт

2

Я собираюсь создать Linux-машину для глубокого обучения. Соответствующие части:

  • ASRock Z270 KILLER SLI / AC
  • Core i7 7700
  • 2x GTX 1060
  • 1TB M.2 Evo 850 NVMe SSD

Глубокое обучение включает в себя выполнение алгоритмов на основе CUDA в течение нескольких дней на графическом процессоре и передачу большого объема данных между графическим процессором / процессором / твердотельным накопителем. Узкие места будут складываться.

Так что я беспокоюсь о PCIe Lanes. Как я понимаю, процессор имеет только 16. Из того, что я понимаю, 8х полос достаточно для GPU, но в 4х наблюдается некоторое замедление. (Я изначально волновался, что NVMe SSD выберет дорожки, но кажется, что у CPU есть 4 дополнительные линии ввода-вывода)

Лучше ли использовать интегрированную графику для настольного интерфейса пользователя, оставить 2 графических процессора для вычислений, или встроенная графика создаст узкое место (то есть форсировать 8x 4x 4x, против 8x 8x полос для GPU) для графических процессоров (имеется в виду, что я должен отключить встроенный и поделиться 1 GPU с настольным интерфейсом).

Моя цель - получить максимальную производительность от графических процессоров. Если есть узкие места, я хочу знать, может ли это привести к разнице в производительности более чем на 5%, то есть умножить на 8 часов за неделю использования графического процессора

AwokeKnowing
источник
«Я хочу знать, может ли это вызвать разницу в производительности более чем на 5%, то есть умножить ее на 8 часов за неделю использования графического процессора» - это не то, как измеряются узкие места производительности. В любом случае, на оборудовании, которое вы описываете, пропускной способности PCI-E более чем достаточно.
Ramhound
@Ramhound, который вы можете объяснить, но помните, мы говорим о том, чтобы оставить для графических процессоров проблему с интенсивным использованием данных, которая буквально занимает неделю, чтобы вычислить и обработать данные, и постоянно отправлять данные назад и вперед в CPU
AwokeKnowing

Ответы:

1

TLDR:

Будет ли в M.2 NVMe или встроенной графике медленная дискретная видеокарта?

В этом конкретном случае, вероятно, нет.


Глубокое обучение включает в себя выполнение алгоритмов на основе CUDA в течение нескольких дней на графическом процессоре и передачу большого объема данных между графическим процессором / процессором / твердотельным накопителем. Узкие места будут складываться.

У меня вообще нет опыта работы с CUDA, но из того, что я помню, читая в статьях, основной проблемой при выполнении вычислений на GPU обычно является не исходная скорость передачи. Вместо этого это задержка.

Имейте в виду «обычно». Для любой конкретной программы все может быть по-другому.

Задержка частично зависит от скорости PCI-e. Соединения PCI-e v3 могут работать с более высокой скоростью, чем линии PCI-e v2 (8 ГГц против 5 ГГц). Таким образом, вы хотите, чтобы ваши карты с графическими процессорами на линиях v3.

Глядя на ark.intel.com, видно, что Core i7 7700 имеет 16 линий PCI-e, поступающих непосредственно от процессора. (Больше может прийти от чипсета).

Линии PCI-e, подключенные непосредственно к ЦП, представляют собой PCI-e v3 и могут использоваться как 1x16, 2x8, 1x8 + 2x4. Я предполагаю, что для выполнения CUDA с двумя дискретными видеокартами вы хотите использовать два слота, каждый из которых использует 8 дорожек.

Так что я беспокоюсь о PCIe Lanes. Как я понимаю, процессор только 16.

Верный.

Насколько я понимаю, 8х полос достаточно для GPU, но в 4х наблюдается некоторое замедление.

Вроде да. Большую часть времени скорость шины PCI0-e превышала необходимую графическую карту. Это меняется со временем. Графические процессоры становятся быстрее. Высококачественные начинают выдвигать максимальную пропускную способность. Версии PCI-e обновляются ...

Обычно топовой видеокарте хватает примерно с 8 дорожками. Аппаратное обеспечение Toms прошло тестирование в эпоху PCI-e v2, и я думаю, что результаты остаются в силе для современных установок с современными графическими картами на PCI-e v3:

x16: максимальная скорость
x8: потеря скорости на несколько% (скажем, 2-5%)
x4: все еще работает нормально для большинства вещей. Только не кладите высокопроизводительную двухпроцессорную карту в слот x4 и запускайте дисплей 4k с максимальными настройками всех игр.

(Я изначально волновался, что NVMe SSD выберет дорожки, но кажется, что у CPU есть 4 дополнительные линии ввода-вывода)

Это не имеет. В настоящее время потребительские чипы Intel очень мало PCI-e линий. Не больше, чем нужно большинству целевой аудитории. Это вменяемое экономическое решение.

Их линейка Xeon имеет ЦП с большим количеством линий PCI-e. Как и некоторые из новых чипов AMD (64 линии PCI-e на процессоре AMD ThreadRipper. В два раза больше, чем на серверных продуктах)

Вместо этого у вашей материнской платы есть чипсет Z270, который обеспечивает дополнительные линии PCI-e.

Чипсет поддерживает эти конфигурации x1, x2, x4.

С максимумом х4 кажется, что 2х8 от процессора все еще является лучшим выбором для CUDA.

Многие из оставшихся линий используются материнской платой для SATA, USB, сети и т. Д. Четыре из них доступны конечным пользователям через 4 слота расширения PCIe 3.0 x1. Не кладите в них видеокарты!

Что касается NVME: у плат есть два слота PCIe Gen3 x4 Ultra M.2. Http://asrock.nl/downloadsite/Manual/Z270%20Killer%20SLIac.pdf"> руководство для этой доски упоминает:

* If M2_1 is occupied by a SATA-type M.2 device, SATA_5 will be disabled.  
* If M2_2 is occupied by a SATA-type M.2 device, SATA_0 will be disabled.

Я не говорил ни о каком обычном «Если M.2 используется с устройством NVME, то ...», что означает, что он, вероятно, имеет выделенные линии от чипсета.

Оставлю ли 2 графических процессора для вычислений, или же встроенная графика создаст узкое место (т. Е. Вынудит 8x4x4x против 8x8x для GPU) для графических процессоров (имеется в виду, что, возможно, мне следует отключить интегрированный и совместно использовать 1 графический процессор с пользовательским интерфейсом рабочего стола).

Я не вижу никакой причины, по которой интегрированная графика должна ограничивать вас. Я не подозреваю проблемы, если вы отключите его. Простое использование компьютера для вычислений может быть выполнено даже без графики (только SSH).

Мне кажется, что наличие двух видеокарт, предназначенных для вычислений, и остальной интегрированной графики (например, просто экрана конечной точки) мне кажется самым чистым. Но это не то, что можно измерить.

Моя цель - получить максимальную производительность от графических процессоров. Если есть узкие места, я хочу знать, может ли это привести к разнице в производительности более чем на 5%, то есть умножить на 8 часов за неделю использования графического процессора

Лучший совет по этому вопросу - оценить, что делает ваша система. Если это вообще возможно, провел неделю с ним в тестовом режиме. Запустите его с обеими картами в x8. Мера. Используйте программное обеспечение для понижения линий PCI-e до x4. Проверьте, сколько производительности теряется. Если это меньше 1%, попробуйте одну карту в x16 и одну карту в слоте x1. Я предполагаю, что 2 * x8 будет намного лучше, но я могу ошибаться.

Делайте подобные вещи с другими настройками. Например, попробуйте запустить без гиперпоточности. (Обычно HT включен на 30% быстрее, но иногда это действительно замедляет работу, поэтому протестируйте.) Попробуйте отключить энергосбережение. и т. д.

Затем после нескольких дней тестирования с несколькими различными тестами запускается производство.

Hennes
источник
Очень тщательно, надеюсь, это поможет другим. Вы как бы замаскировали интегрированную графику. Используют ли эти линии PCI? есть ли способ сказать?
Проснулся, Зная
Я не знаю, как они связаны, но у меня никогда не было меньше внешних линий PCI-e при их использовании.
Hennes