Как я собирал комп для Deep Learning (год 2017)
Выиграв конкурс и получив призовые, встал вопрос о втором компе, который будет играть роль сервера для расчёта нейронных сеток. На своём 980 Ti с 6 GB памяти мне стало тесновато. И например на 3Д свёртках в задаче с раком лёгких я утыкался в лимиты. Да и при запуске расчётов работать за компом становилось не комфортно из-за тормозов интерфейса, да и Youtube особо не посмотришь.
Итак после небольшого изучения рынка и опыта товарищей по цеху, было принято решение собирать компьютер из 4 GPU. Для этого было выбрано 4 видео карты, 2 свежие NVIDIA 1080 Ti 11 GB + 1080 8 GB + 1070 8 GB. Две последние из-за относительной дешевизны. За это решение, впрочем, меня критиковали.
Сразу оговорюсь, что компы я собираю редко и не люблю тратить на это время. Плюс я не знаю много тонкостей в сочетании разных комплектующих. Поэтому я заказывал все комплектующие в одном месте вместе со сборкой. Артур (n01z3) мне посоветовал Регард. Я и до этого там покупал что-то из комплектующих, но не знал что они занимаются и сборкой, которая кстати бесплатная. К тому же у них шикарный конфигуратор: http://www.regard.ru/cfg Там правда возможно выбрать только 2 видеокарты, но ещё 2 можно написать в комменте к заказу (что я и сделал).
Тонкости
1) Крайне мало материнских плат поддерживают 4 видеокарты, прежде всего из-за их размеров. Топовые видеокарты занимают сразу два слота.
2) Соответственно из-за больших размеров комплектующих лучше заказать корпус максимального размера. Я ориентировался на XL-ATX
3) В пике каждая видеокарта может потреблять более 250W, соответственно 4 это уже 1000W. Не забываем что энергию едят и другие устройства. Поэтому блок питания нужен минимум на 1200 W. Я взял с запасом на 1500 W.
4) Ожидаемо, что при таких потреблениях энергии всё это хозяйство будет сильно греться. Дополнительно в корпус я запихнул 4 вентилятора.
5) Для того что бы комп не вырубался при перепадах энергии я заказал UPS, который держит 1500W, мой стандартный начинал жалобно пищать от перегруза во время работы всех 4 карточек.
6) Изначально я решил не тратиться сильно на процессор, из-за того что одна и та же серия при небольшой казалось бы разнице в производительности может различаться по стоимости в разы. Однако для поддержки 4 видеокарт надо брать процессор с 40 линиями PCI, первый который я выбрал был только на 28.
7) У процессоров есть ограничение на количество поддерживаемой памяти. В моём ограничение было 64 GB (это я выяснил уже постфактум на этапе сборки), однако каким то чудом видно все заказанные 128 GB и я проверил их скриптом, что всё записывается и читается. Вообще я не уверен что для DL нужно 128 ГБ, потому-что я уже давно перешёл от модели зачитки всех изображений в память к работе с отдельными батчами, а там обычно много оперативной памяти не требуется. Batch Generator наше всё.