LINUX.ORG.RU
ФорумTalks

Собрать кластер для OpenCL на видеокартах — оптимальное соотношение цена/производительность


0

2

Собственно цель — собрать системник так, что бы он обеспечивал максимально возможное соотношение производительности к цене решения и расходу электроэнергии (то есть если есть возможность, можно и снизить производительность на 10% если за счёт этого потребление энергии уменьшится в 2 раза, например), желательно, малошумный.

Я думаю, что во-первых, скорей всего это должен быть большой системник с мощным блоком питания. В нём материнская плата, хорошая, с большим количеством разъёмов PCI Express. В каждый разъём воткнуть по видеокарте Radeon, наверное субтоповой (то есть второй по производительности после топовой) последнего поколения (прицел на будущее, скорее всего 6xxx будут быстрее 5xxx, даже если сейчас они чуть медленней). Но надо ли их связывать как-то аппаратно или хватит того что они воткнуты в одну материнку? Как настроить комп, что бы он вообще не использовал видеовыход? Придется ли для этого перепрошивать биос? Сколько максимально можно в один системник воткнуть видеокарт? Какой дистрибутив GNU/Linux лучше всего подойдёт (gentoo или lfs наверное)? Драйвера придётся ставить fgrlx или можно свободные?

И наконец. каким должно быть остальное железо, если расчёты предполагается вести в основном на видеокартах?

★★★★★

Последнее исправление: Xenius (всего исправлений: 2)

>с большим количеством разъёмов PCI Express

Количество линий шины делится между видеокартами, то есть чем больше видеокарт тем ниже скорость обмена по шине

воткнуть по видеокарте Radeon,


вот это зря

Как настроить комп, что бы он вообще не использовал видеовыход?


Зачем?

Сколько максимально можно в один системник воткнуть видеокарт?


Вроде три. Есть еще китайские видяхи под шину 1x, тогда можно натыкать много но вот не знаю насколько будет тормозить шина

И наконец. каким должно быть остальное железо, если расчёты предполагается вести в основном на видеокартах?


Оперативки чем больше тем лучше

DNA_Seq ★★☆☆☆
()

А почему нельзя просто арендовать мощности? (представил, во сколько выльется покупка железа)
По поводу дистрибутива - слышал что-то про специализированные сборки для организации кластера. Если не ошибаюсь, то это были сборки CentOS для amazon'овского hpc.

kermzyxer
()

Вычислительный кластер *нельзя* планировать в отрыве от конкретной задачи, для которой он создается. Существует много видов кластеров, и их конкретная внутреняя структура подстраивается под конкретную задачу. Нет такого «сделать хороший годный кластер». При разработке алгоритмов/софта скорее всего модель кластера будет несколько раз пересмотрена.

для OpenCL на видеокартах


У этих обычно скорость в софт упирается: кривизна кода, алгоритмы, типы данных и т.д.

shahid ★★★★★
()

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

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

вообще-то нет, на fglrx есть поддержка opencl.

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

Хотел написать «Свободные драйвера не нужны!», передумал. Таки нужны. Кому-то они нужны.

vertexua ★★★★★
()

>скорее всего 6xxx

А ты оптимист, однако. Даже топовая 6990 медленная из-за VLIW4 в биткоинах.

Как настроить комп, что бы он вообще не использовал видеовыход?


Заглушки на DVI

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

> А ты оптимист, однако. Даже топовая 6990 медленная из-за VLIW4 в биткоинах.

Что такое VLIW4 и почему это делает видеокарту медленней?

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

>Как ты догадался?

Если тебе нужны конкретно биткоины - ищи и покупай Radeon HD 5870.

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

> Нет такого «сделать хороший годный кластер».
Если ты собираешь кластер сам, то вариантов совсем немного:
a) на игровых приставках вроде PS3 или Xbox360
b) на компах с атомами
с) на многопроцессорных платах
d) на видеокартах

Видеокарты намного производительней процессоров на задачах, поддающихся параллелезации, значит остаётся только a и d, но я думаю что d будет быстрей при той же цене.

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

> VLIW4 медленней, чем VLIW5 (которая в линейке 5xxx) в данном конкретном случае. Из-за того, что инструкций за такт меньше выполняет.

а если оно медленней, почему на него перешли? Есть задачи, где наоборот оно быстрее?

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

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

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

>почему на него перешли?

Потому что шейдеры для VLIW задолбаешься оптимизировать, поэтому nVidia с меньшей d 2-3 раза производительностью железа стоит на одном уровне в играх.

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

> на игровых приставках вроде PS3 или Xbox360

на компах с атомами


И как вы их соедените? Ethernet даже для кластера из двух узлов, мягко говорят, тормозной. Какие данные будете передавать (куски оперативки RDMA/через MPI/собственный протокол/etc) по проводам? Как будет устроено хранилище результатов и будет ли оно? На словах-то всё просто: взял и сделал. Только результат не будет иметь ничего общего с эффектиностью и надежностью.

на многопроцессорных платах

на видеокартах



Это не кластеры.

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

> Это не кластеры.
А что тогда? Если больше одной видеокарты или одного проца?

Xenius ★★★★★
() автор топика
19 марта 2012 г.

> Я думаю, что во-первых, скорей всего это должен быть большой системник с мощным блоком питания. В нём материнская плата, хорошая, с большим количеством разъёмов PCI Express.

Для расчётов по OpenCL подойдёт разъём PCI Express 1x, и видеокарта с разъёмом PCI Express 16x, подключенная к нему. Во всяком случае для биткойнов скорость перебора не меняется, для перебора паролей уверен что тоже, но я не пробовал. Но возможно, есть другие применения OpenCL на видеокартах, на которых важен обмен большим количеством данных, и где этот способ даст замедление скорости работы программы.

> В каждый разъём воткнуть по видеокарте Radeon, наверное субтоповой (то есть второй по производительности после топовой) последнего поколения (прицел на будущее, скорее всего 6xxx будут быстрее 5xxx, даже если сейчас они чуть медленней).

Правильно: 5970, 5870x2 (два видеочипсета на одной видеокарте). Почему не видеокарты шестой серии, объяснено выше. Видеокарты седьмой серии не подходят тоже.

> Но надо ли их связывать как-то аппаратно или хватит того что они воткнуты в одну материнку?

У одного моего знакомого по Интернету включен CrossFire, но у него Windows. Он говорит, что скорость одинаковая, и когда они работают как две видеокарты, и когда они работают как одна видеокарта.

> Сколько максимально можно в один системник воткнуть видеокарт?

Восемь.

> Какой дистрибутив GNU/Linux лучше всего подойдёт (gentoo или lfs наверное)?

Любой, даже LiveCD.

> Драйвера придётся ставить fgrlx или можно свободные?

Недавно в открытом видеодрайвере radeon появилась начальная поддержка OpenCL. [amd] opencl на r600g

> И наконец. каким должно быть остальное железо, если расчёты предполагается вести в основном на видеокартах?

Количество ядер процессора больше количества видеочипсетов. У меня генерация Bitcoin делает так, что одно ядро процессора занято на 100%. Если запущено приложение, которое вытесняет Bitcoin-генератор из процессора, то скорость генерации незначительно падает. Кто-то сумел исправить этот баг на своём компьютере, и генерация Bitcoin'ов съедает несколько процентов CPU, а я - нет. Но так как у меня шестиядерник, я и не пытаюсь решить проблему.

ZenitharChampion ★★★★★
()

> Собственно цель — собрать системник так, что бы он обеспечивал максимально возможное соотношение производительности к цене решения и расходу электроэнергии (то есть если есть возможность, можно и снизить производительность на 10% если за счёт этого потребление энергии уменьшится в 2 раза, например), желательно, малошумный.

Нашёл о потреблении электричества внизу второй страницы статьи: http://www.overclockers.ru/lab/39272_2/Obzor_videokarty_AMD_Radeon_HD_6870.html 5850 и 6870 на одном уровне, 5870 использует на 37% больше электричества, чем 6870. Вот только я не понимаю, почему в диаграмме 5850 и 5870 представлены по 2 раза, один раз просто, а второй название видеокарты заканчивается на «ОС 1,3 в». В последнем случае потребление электроэнергии вырастает на 30% по сравнению с такой же видеокартой без «ОС 1,3 в».

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

А сейчас точно смысл есть делать биткоины? А то они как-то подешевели и уже далеко не 30 баксов за штуку, а сложность наверное только растёт.

Xenius ★★★★★
() автор топика

Никто еще не предложил fermi? В амазон можно арендовать. Видеовыход отсутствует.

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