hardware для ускорения вычислений

DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

hardware для ускорения вычислений

Post by DropAndDrag »

вчера были митинг в узком кругу, где обсуждали продолжение одной системы. Сейчас одна подсистема снимает image, но не все пикселы, а скажем половину, и записывает в файл. Вторая подсистема Matlab программа читает данные с файла и востанавливает недостающие пикселы. пока что вторая подсистема восстанавливает один image за 15 минут, а хотелось бы побыстрее, а еще лучше в real-time.

один коллега рвется этим заниматься и на митинге сказал, что есть 5 вариантов hardware
- компьютер с мощным процессором (куча cores и threads)
- компьютер с GPUs (можно установить 16 карт в компьютер - это так?)
- компьютер с FPGA картами
был еще вариант с отправкой данных на мощный компьютер (наверное в сотне самых быстрых) и кажется обычный вариант или я забыл.

можно быть кто-нибудь подкинет сравнение этих вариантов по скорости, цене и прочими параметрами :wink:
OtherSide
Уже с Приветом
Posts: 15759
Joined: 01 Mar 2008 15:14

Re: hardware для ускорения вычислений

Post by OtherSide »

В видеокарте самой по себе сотни процессоров. Погуглите CUDA. Но не все алгоритмы можно распараллелить и повесить на шейдеры
ksi
Уже с Приветом
Posts: 10061
Joined: 20 May 1999 09:01

Re: hardware для ускорения вычислений

Post by ksi »

Для начала бы надо от Matlab избавиться и переписать на С++, глядишь раз в 100 быстрей уже начнет работать. А параллелить вычисления, тем более с GPU, это вещь тонкая, спецы должны быть под рукой
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: hardware для ускорения вычислений

Post by АццкоМото »

Для начала нужно понять, зачем половина пикселей идут в помойку, чтобы потом их восстанавливать. А так cuda рулит
Мат на форуме запрещен, блдж!
User avatar
flip_flop
Уже с Приветом
Posts: 4375
Joined: 20 Jun 2001 09:01

Re: hardware для ускорения вычислений

Post by flip_flop »

ksi wrote:Для начала бы надо от Matlab избавиться и переписать на С++, глядишь раз в 100 быстрей уже начнет работать. А параллелить вычисления, тем более с GPU, это вещь тонкая, спецы должны быть под рукой
Это зависит от того, как именно Matlab применяется. Если циклы на Матлабе - то да, потери в несколько раз/десятки раз, если же используется встроенная функция - то как правило сравнимая производительность, всё уже распараллелено и оптимизировано. Можно использовать С/С++ внутри Матлаба через mex.

В целом по вопросу - слишком мало данных чтобы давать вразумительные ответы.
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

сам я делать этот кусок не буду, да и он типа того готовый, но хотелось бы лучше понимать о чем "лопочет" товарищ. так что в первую очередь меня интересуют описание вариантов и технические сравнения и желательно с результатами тестов.
проблема в том, что товарищ плохо связывает куски системы, сделал несколько вообщем-то правильных заявлений, но не для данного случая неправильные. в итоге пока договорились, что он проверит на сколько его алгоритм убыстрит вычисление с 15 минут до ??? на его тестовых возможностях, а тогда уже и будем разговарить за какие параметры системы можно и нужно бороться, но последнего он кажется не понял :ROFL:

информацию про Матлаб, image, 15 минут и так вообщем-то излишняя. то что Матлаб медленный - это ясно и ясно почему. год назад ясам переписал одну программу с Матлаба на С# и скорость увеличилась раз в 50 без всяких ухищрений.
добавлю, что алгоритм состоит из нескольких итераций. нечетные итерации можно распараллелить на 1000. скажем image 512 * 512 пикселов делится на ~1000 (32 *32) плитки 16 *16 пикселов. но вот четные итерации делают синхронизацию на основе результатов предыдущих итераций, так что никакой параллелизации на четных итерациях нету.

да, для АццкоМото. реально хочется все пикселы пошли в помойку ))) меньше пикселов, меньше разрушений для образца :umnik1:
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: hardware для ускорения вычислений

Post by Сабина »

АццкоМото wrote:Для начала нужно понять, зачем половина пикселей идут в помойку, чтобы потом их восстанавливать. А так cuda рулит
Я так поняла изначально имидж сканировался с неважным качеством/разрешением и второй шаг - это его восстановление алгоритмами аппроксимации или что там
https://www.youtube.com/watch?v=wOwblaKmyVw
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

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

качество сканирования, вернее разрешение можно поменять, но полное и частиное измерения делаются на одном и том же разрешении и тут поля для игр нету!
вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))

кстати, и товарищ баклуши не бил. на Маке с 4 Core уменьшил время до 2 минут. при этом такой активный ... куча е-майлов, на митинг зовет, чтобы систему сделать практически не используемой, но блин (!!!) с подключение самого крутого компа в компании!
blanko27
Уже с Приветом
Posts: 2261
Joined: 17 Jun 2003 04:41
Location: Just like US

Re: hardware для ускорения вычислений

Post by blanko27 »

DropAndDrag wrote:кстати, и товарищ баклуши не бил. на Маке с 4 Core уменьшил время до 2 минут. при этом такой активный ... куча е-майлов, на митинг зовет...
Вы что, по субботам работаете что-ли? :)
...а мы такой компанией, возьмем, да и припремся к Элис!
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

blanko27 wrote:
DropAndDrag wrote:кстати, и товарищ баклуши не бил. на Маке с 4 Core уменьшил время до 2 минут. при этом такой активный ... куча е-майлов, на митинг зовет...
Вы что, по субботам работаете что-ли? :)
обычно нет )))
в пятницу тоже не был на работе - заглянул майлы почитал )))
Deckel
Ник закрыт за хамство.
Posts: 357
Joined: 16 Feb 2014 18:34

Re: hardware для ускорения вычислений

Post by Deckel »

DropAndDrag wrote: вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
Один ... может задать такой вопрос, что и тысяча мудрецов не ответит.
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

Deckel wrote:
DropAndDrag wrote: вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
Один ... может задать такой вопрос, что и тысяча мудрецов не ответит.
по-моему вопрос простой, ну куда уж проще :pain1:
обычные компьютеры сравнивают. большие компьютеры тоже имеют тесты.
вы хотите сказать, что варианты ускорения на одном компьютере делают, но не сравнивают!
прикольненько :wink:
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

эх big data scientists ... один хрен, как и большинство обычных scientists ... все, а конкретно не о чем.
вот к примеру, http://www.bertendsp.com/pdf/whitepaper ... n_v1.0.pdf
да, будьте аккуратны с TFLOPS на последнем графике. если CPU и GPU можно сравнивать почти в лоб, то с FPGA дело обстоит очень щекотливо :wink:
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: hardware для ускорения вычислений

Post by АццкоМото »

DropAndDrag wrote:
Deckel wrote:
DropAndDrag wrote: вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
Один ... может задать такой вопрос, что и тысяча мудрецов не ответит.
по-моему вопрос простой, ну куда уж проще :pain1:
обычные компьютеры сравнивают. большие компьютеры тоже имеют тесты.
вы хотите сказать, что варианты ускорения на одном компьютере делают, но не сравнивают!
прикольненько :wink:
Но универсальный пипкомер для сравнения CPU & GPU еще вроде не изобрели. Это же не просто так?

Я не буду претендовать на авторитетный ответ, но пока видится так
1. Тот странный чувак, похоже, знает ответ лучше всех из нас, включая вас
2. Неясно, почему нынешний бенчмарк на каком-то сраном 4-ядреном процике. Но тот странный чувак может знать
3. Если параллелится, то либо в облако, либо в GPU/облако GPU.
4. Четырехядреный процик кагбы намекаэ, что параллелится так себе

А вообще хочется про задачу узнать. Скорей всего это невозможно в паблике, но... Молоть 2 минуты на 4 ядрах хреново снятый имидж это интересно. Да и вообще из самой постановки любапыццво есть
Мат на форуме запрещен, блдж!
blanko27
Уже с Приветом
Posts: 2261
Joined: 17 Jun 2003 04:41
Location: Just like US

Re: hardware для ускорения вычислений

Post by blanko27 »

DropAndDrag wrote:по-моему вопрос простой, ну куда уж проще :pain1:
Вы не обижайтесь, но вот пример простого вопроса - почему ночью темно? И 5 попыток научного объяснения: парадокс Ольберса
АццкоМото приходится выуживать из вас контекст для правильного ответа :D
...а мы такой компанией, возьмем, да и припремся к Элис!
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

АццкоМото wrote:
DropAndDrag wrote:
Deckel wrote:
DropAndDrag wrote: вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
Один ... может задать такой вопрос, что и тысяча мудрецов не ответит.
по-моему вопрос простой, ну куда уж проще :pain1:
обычные компьютеры сравнивают. большие компьютеры тоже имеют тесты.
вы хотите сказать, что варианты ускорения на одном компьютере делают, но не сравнивают!
прикольненько :wink:
Но универсальный пипкомер для сравнения CPU & GPU еще вроде не изобрели. Это же не просто так?

Я не буду претендовать на авторитетный ответ, но пока видится так
1. Тот странный чувак, похоже, знает ответ лучше всех из нас, включая вас
2. Неясно, почему нынешний бенчмарк на каком-то сраном 4-ядреном процике. Но тот странный чувак может знать
3. Если параллелится, то либо в облако, либо в GPU/облако GPU.
4. Четырехядреный процик кагбы намекаэ, что параллелится так себе

А вообще хочется про задачу узнать. Скорей всего это невозможно в паблике, но... Молоть 2 минуты на 4 ядрах хреново снятый имидж это интересно. Да и вообще из самой постановки любапыццво есть
все вообщем-то открыто. тут не написал, но отправил личное сообщение.
тот странный чувак может и знает лучше про специфические вычисления, но если бы это была бы только его программа, то мне было бы пофиг ))) а так пока выглядит, что благими ... дорога ...
чувак совершенно не задумывается насколько народу будет удобно использовать систему.
к примеру, народ потрахается с мощным компьютером раз -другой, который то не работает, то занят, то еще что-то и не будет использовать новый метод вообще :wink:
другой пример, если вычисления будут сделаны на FPGA и народ попросит подправить немного то или это, а компиляция программы для FPGA - вы знаете сколько занимает :wink: скажем выигрыш 2 секунд от 6 кому-нибудь нужен :crazy:
чувак сходу предложил несколько улучшений в измерении. пришлось ему объяснить, что его знания с прошлого века :ROFL:
когда чуваку объяснил, как должна быть устроена система, чтобы было максимально удобно для пользователься, чувак там пощелкал клювом, сям в итоге занялся разглагольствованием о своем любим и как ему удобно :food:
Deckel
Ник закрыт за хамство.
Posts: 357
Joined: 16 Feb 2014 18:34

hardware для ускорения вычислений

Post by Deckel »

Так а какие вам удобно системы использовать? Огласите весь список пжлста. :-)

Линукс или винда с 32 core и кучей памяти это одно из самых легко администрируемых решений.

При переходе с 8 корок на 32 будет прогресс?
Last edited by Deckel on 04 Jul 2016 12:07, edited 1 time in total.
User avatar
adb
Уже с Приветом
Posts: 9258
Joined: 14 Dec 2001 10:01
Location: Российская Федерация

Re: hardware для ускорения вычислений

Post by adb »

Записывает в файл, читает из файла.. Это точно про производительность?

Чтобы ответить на ваш вопрос нужно очень много знать о проекте. Например одно из самых узких мест при работе с GPU - операции с памятью. Особенно если графика дискретная. Отправить в карту память и забрать весьма дорого стоит. Если у вас приличные объемы, то такая выгрузка даннх может скушать весь выигрыш оптимизации на GPU.
Миру мир
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: hardware для ускорения вычислений

Post by АццкоМото »

adb wrote:Записывает в файл, читает из файла.. Это точно про производительность?

Чтобы ответить на ваш вопрос нужно очень много знать о проекте. Например одно из самых узких мест при работе с GPU - операции с памятью. Особенно если графика дискретная. Отправить в карту память и забрать весьма дорого стоит. Если у вас приличные объемы, то такая выгрузка даннх может скушать весь выигрыш оптимизации на GPU.
Кумон. Вход - картинка. Выход - картинка. Время обработки ОДНОЙ улучшили до двух минут. До размышлений о скорости передачи данных из RAM в память GPU еще срать и срать
Мат на форуме запрещен, блдж!
tau
Уже с Приветом
Posts: 510
Joined: 07 Dec 2001 10:01
Location: toronto

Re: hardware для ускорения вычислений

Post by tau »

Не очень понятно, что значит "хотелось бы побыстрей". Просто абстрактно хочется, или есть какие-то ограничения? В каком темпе поступают входные данные?
Мне когда-то приходилось заниматься server-side рендерингом, моим решением в ту пору были самые дешёвые боксы, с самыми дешёвыми процессорами, но чтоб количество cores было побольше. Но у меня ещё были другие входные параметры, типа лицензий определённого типа и всякое такое.
Я бы предложил начать с решения на подходящем языке (помимо Матлаба), если оно параллелится, и без использования всякой экзотики, типа 3D hardware. А оттуда уже можно расти в нужную сторону, если денюх не жалко.
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

Deckel wrote:Так а какие вам удобно системы использовать? Огласите весь список пжлста. :-)

Линукс или винда с 32 core и кучей памяти это одно из самых легко администрируемых решений. С 8 корок на 32 будет прогресс?
было бы желательно обработанный image засунуть в имеющуюся программу, которой пользуется community. эта программа работает Windows. вот я и предлагаю, давайте попробуем договорится с компанией, которая поставила этот компьютер с программой и дополнительным железом. Мы меняем компьютер на более мощный ... чувак вертит головой, типа можно, но Windows медленнее, как это будет все работать, Linux c phthread ему удобнее ...
кстати, меня прикалоло, что ему не нравится массив double, который его программа перетаскивает в integer. в тоже время он глаголит, что передать этот массив по сети (1 Gb) занимает мало времени. мне кажется, что быстрее перетащить double в integer, чем протащить данные, через сеть.
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

АццкоМото wrote:
adb wrote:Записывает в файл, читает из файла.. Это точно про производительность?

Чтобы ответить на ваш вопрос нужно очень много знать о проекте. Например одно из самых узких мест при работе с GPU - операции с памятью. Особенно если графика дискретная. Отправить в карту память и забрать весьма дорого стоит. Если у вас приличные объемы, то такая выгрузка даннх может скушать весь выигрыш оптимизации на GPU.
Кумон. Вход - картинка. Выход - картинка. Время обработки ОДНОЙ улучшили до двух минут. До размышлений о скорости передачи данных из RAM в память GPU еще срать и срать
я понял на GPU будет обрабатывать tile от image. типичные разымеры tile это 7 * 7 писел или 16 * 16 писел. когда все tiles обработаны, то итог собирается, перестраивается общая матрица и снова все рассыпается на tiles.
DropAndDrag
Уже с Приветом
Posts: 5992
Joined: 11 Mar 2011 05:36

Re: hardware для ускорения вычислений

Post by DropAndDrag »

tau wrote:Не очень понятно, что значит "хотелось бы побыстрей". Просто абстрактно хочется, или есть какие-то ограничения? В каком темпе поступают входные данные?
Мне когда-то приходилось заниматься server-side рендерингом, моим решением в ту пору были самые дешёвые боксы, с самыми дешёвыми процессорами, но чтоб количество cores было побольше. Но у меня ещё были другие входные параметры, типа лицензий определённого типа и всякое такое.
Я бы предложил начать с решения на подходящем языке (помимо Матлаба), если оно параллелится, и без использования всякой экзотики, типа 3D hardware. А оттуда уже можно расти в нужную сторону, если денюх не жалко.
лучшее, если задержка будет не заметна глазом. Скажем измерение полное измерение занимает 8 сек. Уполовиненное 4 секунды и его обработанный результат появляется сразу :D
вот и я говорю, надо по шагам двигаться к комунизму, и вообще было бы неплохо оценить за какой коммунизм можно бороться :gen1:
tau
Уже с Приветом
Posts: 510
Joined: 07 Dec 2001 10:01
Location: toronto

Re: hardware для ускорения вычислений

Post by tau »

DropAndDrag wrote: лучшее, если задержка будет не заметна глазом. Скажем измерение полное измерение занимает 8 сек. Уполовиненное 4 секунды и его обработанный результат появляется сразу :D
вот и я говорю, надо по шагам двигаться к комунизму, и вообще было бы неплохо оценить за какой коммунизм можно бороться :gen1:
Ну раз про коммунизм, то тогда можно спросить - за чей счёт банкет.
Потому что у меня так не раз было, когда начальство наобещает клиентам на грош пятаков, а когда я начальству представляю примерную стоимость разных решений, то начальство очень быстро приходит в себя и говорит, что не очень-то и хотелось.
То есть, если обрабатывается одна картинка в день, то, скорее всего, никто за экзотические (и дорогие) решения платить не будет. А если сто в минуту, то тогда уже другое дело.

Возоможно, есть какие-то промежуточные решения, когда можно получить за секунды "грубый" обсчёт, а "точый" надо будет ждать.

Вообще, я вижу, что речь идёт о double. Если действительно нужен такой диапазон, то с GPU могут быть нюансы.
User avatar
adb
Уже с Приветом
Posts: 9258
Joined: 14 Dec 2001 10:01
Location: Российская Федерация

Re: hardware для ускорения вычислений

Post by adb »

DropAndDrag wrote:задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
Для работы с GPU много знать нужно. Такие специалисты быстро старятся и умирают. Вряд ли вам здесь быстро на коленке все объяснят.
Миру мир

Return to “Работа и Карьера в IT”