У моих 4 Xeon E7 производительность ниже, чем у одного i5 8-го поколения

У моих 4 Xeon E7 производительность ниже, чем у одного i5 8-го поколения

У меня к вам открытый вопрос:

Я установил в своем офисе подержанный сервер, чтобы обучить на нем наши модели машинного обучения; он содержит 4 процессора Xeon E7 4820 (https://ark.intel.com/products/53675/Intel-Xeon-Processor-E7-4820-18M-Cache-2_00-GHz-5_86-GTs-Intel-QPI) - 2,00 ГГц, 8 ядер, 16 потоков каждое -, 128 ГБ ОЗУ и 128 ГБ SWAP (SSD Swap).

Тем не менее, я провел на нем свое первое тестовое обучение, и, что очень удивительно, он оказался поразительно... медленным. Обучение заняло 11 минут, тогда как на моем процессоре i5 8-го поколения (1,6 ГГц, 4 ядра, 8 потоков) с 8 ГБ оперативной памяти и 8 ГБ подкачки обучение заняло 5 минут.

Htop сообщает мне, что параллельные вычисления включены, и пики загрузки ЦП составляют около 3 для i5 и 22 для 4 E7; так что вы знаете, почему такой разрыв в производительности? Я знаю, что закон Мура — непреодолимое явление, но для годовалого процессора среднего класса, который может превзойти 4 семилетних Xeon E7, я не могу в это поверить. Надеюсь, вы сможете помочь! :)

PS: Я уже установил Cuda и CuDNN на него, но он пока не работает, и я провел обучение только с CPU. Я был настолько озадачен результатами, что прекратил работу над ускорением GPU (у нас есть небольшая 1050 Ti, которую я установил на сервере), чтобы заняться проблемой. Я также убедился, что на обоих компьютерах работает один и тот же код.

Заранее спасибо ! :)

Мороз

решение1

Ваша проблема (как и большинство проблем машинного обучения), вероятно, связана с пропускной способностью памяти.

Машинное обучение не особенно интенсивно использует вычислительные ресурсы ЦП, оно выполняет много «легких» вычислений, но сильно ограничено пропускной способностью памяти. Это одна из причин, по которой потоковые процессоры видеокарты так хороши для этого. Каждый потоковый процессор относительно ограничен (по сравнению с ЦП), но для более простых операций их огромная пропускная способность и огромное количество процессоров более чем компенсируют их ограничения.

Чтобы выбрать случайный8-е поколение i5:

Max Memory Bandwidth    41.6 GB/s

CPUbossпохоже, что пропускная способность памяти первого поколения E7-4820 составляет 23 ГБ/с (23 464 МБ/с)

Многопроцессорной машине придется постоянно копировать память между ЦП или иным образом распределять доступ к памяти между ЦП.

Сочетание общей памяти и существенно более низкой пропускной способности изначально, вероятно, и является причиной ухудшения работы старой системы.

Более новые Xeon обеспечивают пропускную способность более 85 ГБ/с.

Связанный контент