LINUX.ORG.RU

Кластер из видеокарт

 , , ,


0

1

Всем привет, хочу себе собрать кластер из видеокарт, ну и попробовать из этого сервер сделать.
Какое железо необходимо для этого, и какой минимум, допустим можно купить для начала 2-3 видеокарты и на них пробовать что-то писать, и как-то настраивать.
Каким образом все это соединяется в кластер?
Можно ли использовать разные видеокарты? Например одну Radeon другая Nvidia, просто сейчас у меня есть 2 видеокарты уже, либо лучше все одинаковые брать. Как писать потом программы чтобы были задействованы все видеокарты, наверное какойнить OpenCL или CUDA использовать. Хотя для начала нужно собрать ) Мне это пока чисто для интереса, хочется поковырять, и научиться писать приложения для распределенных вычислительных систем, ну и больше интерес в сторону графических процессоров.

★★★

эээм.. ну вот и учись на одной видяхе, зачем сразу «кластер» то? Даже если нет видеокарты, всегда можно и на цпу запускать-тестить. «Кластер» в данном контексте - это просто компьютер с 2+ видеокартами (обычно не более 6).

Можно ли использовать разные видеокарты? Например одну Radeon другая Nvidia

С точки зрения системы в opencl они будут в разных платформах. С точки зрения программы точно не знаю, но все какие видел позволяли задействовать разные платформы. В cuda вроде все просто, но оно и понятно, ведь выбор ограничивается нвидией.

Radius ★★★★
()

Предлагаю сначала задуматься над вопросом «зачем».

fmdw
()

AMD ATI Radeon - адназначна!

Nvidia - CUDA анально огорожена.

Если гентушник добавь opencl в USE флаги. Дофига софта будет ускорятся но в зависимости потянет mesa и драйвер видяхи что не гуд для серверов.

Да, opencl в GNU/Linux реализуется следующим образом

правильный:

прога <-> mesa <-> драйвер видяхи.

или не правильный

прга <-> копирастия <-> драйвер копирастичный

Важные советы:

1. Бери AMD ATI Radeon

2. Бери видяхи с пассивным охлаждением (с активным сильно шумят)

3. Бери карты и мамку с поддержкой CrossFire.

4. Бери карты которые поддерживают соединение отдельным проводом CrossFire между собой (чтобы мамку не грузить)

5. OpenCL хотя бы версии 1.2

6. Шина на мамке и проц должны пропускать N * PCI-E x16

Если сумеешь выполнить пункты 3 и 4 то вся графика на десктопе будет ускорятся ВСЕМИ видяхами установленными в системе! Это превзойдёт по скорости топовые видяхи и будет ДЕШЕВЛЕ!!! Также не надо в коде предусматривать балансировку задач между GPU, обращаешся к первой, а CrossFire само прозрачно распараллелит.

Ссылки: http://blog.zorinaq.com/?e=42 https://pypi.python.org/pypi/pyopencl http://www.opennet.ru/opennews/art.shtml?num=41267 http://www.opennet.ru/opennews/art.shtml?num=42192

OpenMP - тоже хорошо в прогах подерживать.

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

> Можно ли использовать разные видеокарты? Например одну Radeon другая Nvidia

С точки зрения системы в opencl они будут в разных платформах. С точки зрения программы точно не знаю, но все какие видел позволяли задействовать разные платформы. В cuda вроде все просто, но оно и понятно, ведь выбор ограничивается нвидией.

Только не нвидиу с кудой!!!

Ещё раз объясняю для танкистов работу OpenCL

прога OpenCL <-> mesa <-> драйвера видях

Можно видяхи разных производителей использовать одновременно если они имеют свободные драйвера с поддержкой OpenCL и ускорение через mesa (там чуть сложнее но в общих чертах так)

Один свободный другой копирастный вместе использовать нельзя!

intel c radeon должны работать вместе! но параллелить между девайсами должна твоя прога.

Если все карты одного производителя с мамкой поддерживают CrossFire то теоретически если повезёт CrossFire всё распараллелит между всеми GPU. Мечты: http://www.phoronix.com/scan.php?page=news_item&px=MTYxNjM

И при при всём этом графика на десктопе должна работать тоже и параллельно!!!

anonymous
()

Как писать потом программы чтобы были задействованы все видеокарты, наверное какойнить OpenCL

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

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

ты так говоришь, будто бы нвидия не умеет opencl...

А по поводу одновременной работы я просто помню что у меня получалось одновременно их и с интелем и с нвидией запускать (с блобами разумеется, потому что тогда в мезе опенцл еще даже никто не начинал пилить). В дистрибутивах конечно разные опенцл сдк конфликтуют, приходилось что-то там руками распаковывать и править. Но сейчас я в этом какой-то практической пользы не вижу. У меня есть 4 карты нвидии и есть 25 амд, и смешивать их имеет смысл только ради эксперимента.

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

Если ты такой специалист в открытых драйверах, скажи, OpenCL на nouveau уже нормально работает (только с пруфами)? Последний раз слышал, что они запилили только самую базовую поддержку.

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

Пол года назад

$ equery h opencl
 * Searching for USE flag opencl ... 
[I--] [??] media-gfx/imagemagick-6.8.9.9:0/6.8.9.9
[I--] [??] media-libs/mesa-10.3.1:0
[IP-] [  ] media-libs/opencv-2.4.9:0/2.4
[IP-] [  ] media-libs/x264-0.0.20140308:0/142
[IP-] [ ~] sci-libs/gdal-1.11.1-r1:0

сегодня больше

radeontop покажет загрузку GPU

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

это только на моей старой робочей станции и с того что мне тогда было нужно.

А так ускорение с использованием opencl использует очень много софта.

Даже есть проекты по ускорению ядра Linux и LibreOffice на OpenCl!

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

ты так говоришь, будто бы нвидия не умеет opencl...

Для них родно проприетарна CUDA, а opencl добавили относительно недавно, когда поняли что софт на нём больше пишут.

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

Сие невозможно, поставщик OpenCL в системе должен быть только один. Или mesa, или AMD/ATI, или Nvidia и поверх него должен работать X сервер. Иначе как они ресурсы видяхи все между собой поделят?!!

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

Если ты такой специалист в открытых драйверах, скажи, OpenCL на nouveau уже нормально работает (только с пруфами)? Последний раз слышал, что они запилили только самую базовую поддержку.

С Nvidia личного опыта нет, а пересказывать негативный чужой здесь не хочу.

Обратите внимание на версии OpenCL, большенство прог требует как минимум ПОЛНУЮ поддержку 1.1

Я не специалист OpenCL, просто держу многоголовые системы, один системник и несколько видях, мониторов, клав, мышек, пользователей. Все карты AMD/ATI или интегрованные Intel, система Gentoo, вот и есть возможность использовать вычислительные ресурсы видях через OpenCL.

С замеченных проблем:

VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland PRO [Radeon R7 240]
x11-drivers/xf86-video-ati-7.5.0
x11-drivers/radeon-ucode-20140823
media-libs/mesa-10.0.4
Linux-3.17.3-hardened-x86_64-Genuine_Intel-R-_CPU_2160_@_1.80GHz-with-gentoo-2.2


при заходе в веб почту mail.yandex.ru вешает X намертво, а иногда и X сервера других пользователей на этом компе и даже саму систему!!!
Может баг, а может виря закидывают: http://arstechnica.com/security/2015/05/gpu-based-rootkit-and-keylogger-offer-superior-stealth-and-computing-power/
anonymous
()
Ответ на: комментарий от lu4nik

Если ты такой специалист в открытых драйверах, скажи, OpenCL на nouveau уже нормально работает (только с пруфами)? Последний раз слышал, что они запилили только самую базовую поддержку.

С Nvidia личного опыта нет, а пересказывать негативный чужой здесь не хочу.

Обратите внимание на версии OpenCL, большенство прог требует как минимум ПОЛНУЮ поддержку 1.1

Я не специалист OpenCL, просто держу многоголовые системы, один системник и несколько видях, мониторов, клав, мышек, пользователей. Все карты AMD/ATI или интегрованные Intel, система Gentoo, вот и есть возможность использовать вычислительные ресурсы видях через OpenCL.

С замеченных проблем:

VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland PRO [Radeon R7 240]
x11-drivers/xf86-video-ati-7.5.0
x11-drivers/radeon-ucode-20140823
media-libs/mesa-10.0.4
Linux-3.17.3-hardened-x86_64-Genuine_Intel-R-_CPU_2160_@_1.80GHz-with-gentoo-2.2
при заходе в веб почту mail.yandex.ru вешает X намертво, а иногда и X сервера других пользователей на этом компе и даже саму систему!!! Может баг, а может виря закидывают: http://arstechnica.com/security/2015/05/gpu-based-rootkit-and-keylogger-offer...

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

Я что-то про LO слышал. Расчеты в таблицах ускорить? Честно, не вижу смысла для этого пересобирать офис. Расчеты абсолютного большинства пользователей в нем выполняются итак влегкую процессором.
Вот про ускорение ядра уже интереснее.

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

OpenCL на видяшках очень хорошо ускоряет работу с матрицами, короче задачи линейной алгебры. Для чего он и предназначен в принципе (видео, математика).

Люди написали алгоритмы для ускорение криптографии, а это уже интересно с практической точки! Например ansible.com, nocproject.org и прочие выполняют паралельно по ssh сотни, а иногда и тысячи сесий, и все надо шифровать, также шифрование каналов 1-10G и дисков SSD где нужна большая скорость.. Вот здесь от OpenCL ожидаю пользы!!!

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

Для них родно проприетарна CUDA, а opencl добавили относительно недавно, когда поняли что софт на нём больше пишут.

родно или нет, но новая их архитектура полностью доминирует обогнав в opencl раза в 4-6 предыдущую и в 1,5-2 amd gcn.

А по поводу одновременной их работы я бы не был так категоричен. У меня пруфов нету, я сам толком не помню то ли амд + нвидия получалось, то ли амд + интел или и то и другое. Но то что у тебя не работает или у кого-то еще не работает - это не значит что невозможно. Какие препятствия есть для одновременной работы двух пси-е устройств? Вот именно что никаких. А остальное - это или формальные ограничения, или проблемы текущей реализации.

Radius ★★★★
()
Последнее исправление: Radius (всего исправлений: 1)
Ответ на: комментарий от Radius

родно или нет, но новая их архитектура полностью доминирует обогнав в opencl раза в 4-6 предыдущую и в 1,5-2 amd gcn.

На каких дровах? Копирастных? Или mesa + nouveau?

А по поводу одновременной их работы я бы не был так категоричен. У меня пруфов нету, я сам толком не помню то ли амд + нвидия получалось, то ли амд + интел или и то и другое. Но то что у тебя не работает или у кого-то еще не работает - это не значит что невозможно. Какие препятствия есть для одновременной работы двух пси-е устройств? Вот именно что никаких. А остальное - это или формальные ограничения, или проблемы текущей реализации.

Ещё раз смотри на схему:

1.
прога  <->  mesa OpenCL  <->  Драйвера 
                              radeon-nsi
                              radeon
                              intel
                              nouveau

2
прога  <->  Копирастия от AMD/ATI  <->  Копирастный драйвер ТОЛЬКО AMD/ATI

3.
прога  <->  Копирастия от Nvidia  <->  Копирастный драйвер ТОЛЬКО Nvidia

Устройств PCIe в системе может быть много, а драйвер реализующий системую поддержку OpenCL и OpenGL только один!

Одновременно в системе наличие разных вариантов допускается. Но тебе надо выбрать один с них для работы. В любой момент времени в системе может работать только одна реализация OpenCL и OpenGL!

$ eselect opengl list
Available OpenGL implementations:
  [1]   xorg-x11 *

$ eselect opencl list
Available OpenCL implementations:
  [1]   mesa *
Выше уже говорил почему одновременная работа двух и более реализаций OpenCL и OpenGL невозможна!

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

спасибо конечно за схему, но я и так сразу прекрасно понял о чем ты говоришь

Вот ты сам пробовал? Я пробовал и у меня работало. Почему ты думаешь что реализация amd-opencl не поддерживает нвидию/интел и наоборот? Когда я с этим ковырялся я не увидел в этом ничего экстраординарного и сейчас немного странно видеть человека доказывающего что это невозможно.

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

Драйвера AMD просто не могут поддерживать видяхи интел и нвидии.

Берите реализацию OpenCL от mesa и свободные дрова.

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

> opencl в USE флаги. Дофига софта будет ускорятся

Например, какой софт?

$ find /usr/portage -name *.ebuild -type f -print | xargs grep opencl |awk -F'/' '{print $4"/«$5}' |sort |uniq app-crypt/hashcat-gui app-crypt/johntheripper app-crypt/oclhashcat-lite-bin app-crypt/oclhashcat-plus-bin app-emulation/wine app-eselect/eselect-opencl app-text/tesseract dev-lang/pocl dev-libs/ocl-icd dev-libs/starpu dev-python/pyopencl dev-util/intel-ocl-sdk dev-util/nvidia-cuda-sdk games-action/openclonk games-board/freedoko media-gfx/darktable media-gfx/freecad media-gfx/freewrl media-gfx/imagemagick media-gfx/openclipart media-libs/gegl media-libs/mesa media-libs/opencv media-libs/x264 media-video/ffdiaporama net-analyzer/gr-fosphor net-misc/bfgminer net-wireless/cpyrit-opencl net-wireless/pyrit sci-libs/gdal sys-apps/hwloc virtual/opencl x11-drivers/ati-drivers x11-drivers/nvidia-drivers

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

opencl в USE флаги. Дофига софта будет ускорятся

Например, какой софт?

$ find /usr/portage -name *.ebuild -type f -print | xargs grep opencl |awk -F'/' '{print $4"/"$5}' |sort |uniq
app-crypt/hashcat-gui
app-crypt/johntheripper
app-crypt/oclhashcat-lite-bin
app-crypt/oclhashcat-plus-bin
app-emulation/wine
app-eselect/eselect-opencl
app-text/tesseract
dev-lang/pocl
dev-libs/ocl-icd
dev-libs/starpu
dev-python/pyopencl
dev-util/intel-ocl-sdk
dev-util/nvidia-cuda-sdk
games-action/openclonk
games-board/freedoko
media-gfx/darktable
media-gfx/freecad
media-gfx/freewrl
media-gfx/imagemagick
media-gfx/openclipart
media-libs/gegl
media-libs/mesa
media-libs/opencv
media-libs/x264
media-video/ffdiaporama
net-analyzer/gr-fosphor
net-misc/bfgminer
net-wireless/cpyrit-opencl
net-wireless/pyrit
sci-libs/gdal
sys-apps/hwloc
virtual/opencl
x11-drivers/ati-drivers
x11-drivers/nvidia-drivers
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.