Свежие комментарии

Title Comment
понятно, на CPU большие кэши, предсказания, спекуляция и т.п

понятно, на CPU большие кэши, предсказания, спекуляция и т.п. там не так чувствительно.

Если это "логика" (в том смысле, что один поток, параллельно

Если это "логика" (в том смысле, что один поток, параллельного исполнения не получается, а в этом потоке - сплошные ветвления), то код не "хорош" для CPU, а тоже отвратителен. Просто на GPU - еще хуже.

С целыми там странно, но они

С целыми там странно, но они есть. Там проблема в том, что на некоторых архитектурах 24-битные целые эффективны, а 32-битные - нет, а других архитектурах - наоборот.

Ну и SIMD (можно как угодно называть, но по смыслу - так), дорогие ветвления, дорогой произвольный доступ к памяти.

На мой взгляд, если получается эффективно (т.е. SIMD) спрограммировать на CPU, то на GPU сделать эффективно будет еще проще т.к. нет жесткого требования на загрузку-запись в последовательные адреса (это не обязательно будет эффективно, но добиться можно).

Плюс, на GPU сильно больше реально быстрой (единицы тактов) памяти и она доступна явно (а не "кэш"), что тоже полезно

согласен с вами, часто сложные структуры можно упростить до

согласен с вами, часто сложные структуры можно упростить до массива, особенно если структура read-only. для динамических структур это не всегда возможно.
вообще, я бы сильно упростил и сказал так, если код это большая числодробилка, то он хорош для GPU, а если код это "логика" (проверки, переходы), то он хорош для CPU.

История которая, кажется,

История которая, кажется, релевантна: когда работал в Sun Microsystems к нам заездом читала обзорную лекцию про HPC какая-то французская звезда этого дела, работавшая на тамошний R&D-центр Сана.
И он рассказывал, что вот тут они поставили кластер и вот там поставили кластер (под лейблом Sun'а).
А я знал, что в одной английской биг-фарма-фирме только что поставили адский зал с лейблом Sun'а, который по количеству стоек, узлов, кросс-конектов и прочего превосходит все его примеры раз в 5. И я спросил: ``А что же вы молчите вот про такую инсталляцию -- она же круто-круто!''.
Ответ был: ``Это не HPC.''
-- Но почему?
-- Потому что там целочисленные вычисления, комбинаторика. Вообще нет плавучки. И, кстати, в CERN стоит тоже наш кластер среди прочих, но тоже не HPC. Не считается и не рассматривается как HPC.

Я к тому, что в мире дофига вот такого формально-не-HPC. Как с ним на GPU?

Так только купил. С учетом новогодних праздников - недели ч

Так только купил.

С учетом новогодних праздников - недели через 2-3 доедет. Тогда все будет, и фотки и рассказ

А где же фотки и рассказ? Интересно жеж. Почём сделать себе

А где же фотки и рассказ? Интересно жеж.
Почём сделать себе кластер?

Ну я вот не удержался и купили Infiniband-а домой :)

Ну я вот не удержался и купили Infiniband-а домой :)

Хорошо, что у них теперь есть такое оборудование. Жаль я не

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

Ну зачем же так сразу? На свете гораздо больше, чем вам каже

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

Я понимаю, что бывает и такое и от этого - никуда не деться.

Я понимаю, что бывает и такое и от этого - никуда не деться.

С другой стороны, в моей практике случались (и не раз) случаи, когда такая развесистая структура, после обдумывания реальной задачи, вдруг чудесным образом становилась плоской, линейной и все такое. И два порядка ускорения в этом случае - обычное дело.

Беда, как мне кажется, в том, что структурам данных (списки, массивы, деревья, строки, hash-map) еще как-то учат (или сами учатся), а вот их эффективной реализации и замене одного другим (сортированный массив - это же дерево) - уже совсем не учат. Соответственно, и мозги в эту сторону не повернуты.

Да, про задачи я понимаю, разветвись - и на CPU будет хоть к

Да, про задачи я понимаю, разветвись - и на CPU будет хоть как-то считать, а на GPU - ваще труба. Но реально - и на CPU тогда не работа, а слезы.

Что же до эффективности, да там есть куда стремиться. На поминавшемся в посте Multi-AMD первые цифры были заметно меньше 500 GFlops. Причем, за 2GPU (из 4-х на машине) оно не масштабировалось сначала. Упражнениями (включающими сложное программирование) дотянули до 2007, больше чем в 4 раза. Rpeak там ~2600, т.е. больше 75% получили.

Да не похоже на то - там конфигурация придумана не от фонаря

Да не похоже на то - там конфигурация придумана не от фонаря (иначе все ноды были бы одинаковы).

Это биологи-медики какие-то. Т.е. типичные для них задачи -

Это биологи-медики какие-то.

Т.е. типичные для них задачи - это или расчет пространственной конфигурации молекулы (спросонья забыл как оно правильно называется, молекулярное моделирование что-ли), которое на GPU летает просто мухой (за счет аппаратной реализации экспоненты), или матчинг длинных (генных) паттернов.

сдаётся мне предновогодний попил бюджета дали денег - надо о

сдаётся мне предновогодний попил бюджета
дали денег - надо освоить

Алексей, а на кой собственно, этот кластер заказчику. Что он

Алексей, а на кой собственно, этот кластер заказчику. Что он с ним делать то собрался?

http://www.supermicro.com/servers/blade/module/SBI-7126TG.cf

http://www.supermicro.com/servers/blade/module/SBI-7126TG.cfm

20 GPU на те же 7U, и как ни смешно, не суперденег стоит.

по поводу списков - деревьев, я имею ввиду алгоритмы типа ro

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

Большую часть научного и прикладного считают на стандартных

Большую часть научного и прикладного считают на стандартных сторонних приложениях (мы тут как раз занимаемся раздачей учёным вычислительных ресурсов, и некоторая статистика есть), а они на GPU считай что и не переводились в своей массе. Да и не все задачи можно утоптать в GPGPU так, чтобы соотношение flops/ватт было лучше.

В общем, оно всё ещё сильно зависит от конкретной задачи.

P.S. У нас на CPU кластере на 28 узлах 87% эффективность. На кластере с теслами со старым linpack - 45%, новым - 55% (прогресс в оптимизации виден :) )

Я даже больше скажу - если алгоритм не SIMD-изуется, то надо

Я даже больше скажу - если алгоритм не SIMD-изуется, то надо попробовать поискать других алгоритмов. Потому что жопа иначе, вместо 4(8) op/clock сплошное огорчение.

Да, память - аргумент. Потому что на этих 12 нодах+центральн

Да, память - аргумент. Потому что на этих 12 нодах+центральный - ее больше терабайта (две ноды - толстые, по 256G). И столько в 1-2 сервера не набить за приемлемые деньги.

А списки/деревья - не обязательно аргумент. То есть я бы сказал так: если код SIMD-изуется, то от GPU будет счастье более-менее. Если не SIMD-изуется (вроде гистограммы) - то тоже может быть счастье хоть и меньшее.

Зато если в коде есть синус (косинус, логарифм, экспонента), то счастье от GPU возникает просто невероятное!

если код это 90% BLAS и FFT, то согласен, перенести на GPU н

если код это 90% BLAS и FFT, то согласен, перенести на GPU не так сложно и значительный выигрыш по производительности.
а если код использует хитрые списки, всякие сложные деревья и т.п., то уже не так просто его перенести, точнее можно, но ускорения не будет, а может и наоборот.
плюс, есть ряд HPC задач, которым нужно много-много памяти (как на ноде вообще, так и на всех нодах суммарно), такие тоже сложно перенести.

Традиции и очевидность

Традиции и очевидность решений есть враг прогресса :)

На Фре вот было бы интересно

На Фре вот было бы интересно понастраивать. На Линуксе то понятно что без напряга все

Я обычно кластера тестировал

Я обычно кластера тестировал через (x)dapltest. С 12ю блейдами можно и полное покрытие сделать (каждый-с-каждым вместо один-со-всеми). По результатам можно выявить аномальные ноды. Если что -- стучитесь, поищу под слоем пыли скрипты.

думаю проблема с железом (кабели, коннекторы)

думаю проблема с железом (кабели, коннекторы)

Люди, помогите

Люди, помогите разобраться!
Пересобрал мир и ядро со следующими параметрами:

http://www.opennet.ru/openforum/vsluhforumID1/92667.html#13

echo WITH_OFED=1 >> /etc/src.conf
echo WITH_OFED=1 >> /etc/make.conf

include GENERIC
ident OFED

options OFED
options OFED_DEBUG_INIT
options SDP
options SDP_DEBUG
options IPOIB_DEBUG
options IPOIB_CM

device mlx4ib
device mlxen
device mthca

Проблема вот в чем:
Есть Linux-сервера с инфини, и пара FreeBSD-машин тоже с инфини))

BSD-машины видят друг друга без проблем и видят Linux-машины тоже без проблем!!!
А вот Linux-машины не видят BSD-машины!!!!

Пинговал FreeBSD машину с Линукс хостов, на FreeBSD машине слушал через
tcpdump инфини интерфейс, дык вот, запросы приходят, но он на них почему то не отвечает... вернее отвечает, но не на все...!!!....на 5 ответит - на 300 промолчит (цифры примерные)((((((((

З.Ы.
С линуксом не хотят работать??))

Уже неделю бьюсь, ничего не получается((..Что может быть?

почему это не спишешь

почему это не спишешь ???

Чтобы добавить ЕР надо убавить у остальных, если "испорченных" не хватит.
И вообще, если есть решимость доводить ЕР до "не менее Х", то весьма вероятна и решимость "не доводить врагов до более, чем Y"

Т.е. этот артефакт просто должен быть у всех сразу, только в разныъх частях графика. И по естественному и по конспирологическому объяснению

Это, же, как я заключаю по

Это, же, как я заключаю по названию девайса, ConnectX EN, то есть 10G ether.

В любом случае, я решил что Infiniband дома - это готично и заплатил $69 за три карты (и почти столько за доставку, блин). После нового года посмотрим как оно...

да нет, обычный зелёный текстолит с микросхемами ;)

да нет, обычный зелёный текстолит с микросхемами ;)

Pages

Subscribe to comments_recent_new