hardware для ускорения вычислений
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
hardware для ускорения вычислений
вчера были митинг в узком кругу, где обсуждали продолжение одной системы. Сейчас одна подсистема снимает image, но не все пикселы, а скажем половину, и записывает в файл. Вторая подсистема Matlab программа читает данные с файла и востанавливает недостающие пикселы. пока что вторая подсистема восстанавливает один image за 15 минут, а хотелось бы побыстрее, а еще лучше в real-time.
один коллега рвется этим заниматься и на митинге сказал, что есть 5 вариантов hardware
- компьютер с мощным процессором (куча cores и threads)
- компьютер с GPUs (можно установить 16 карт в компьютер - это так?)
- компьютер с FPGA картами
был еще вариант с отправкой данных на мощный компьютер (наверное в сотне самых быстрых) и кажется обычный вариант или я забыл.
можно быть кто-нибудь подкинет сравнение этих вариантов по скорости, цене и прочими параметрами
один коллега рвется этим заниматься и на митинге сказал, что есть 5 вариантов hardware
- компьютер с мощным процессором (куча cores и threads)
- компьютер с GPUs (можно установить 16 карт в компьютер - это так?)
- компьютер с FPGA картами
был еще вариант с отправкой данных на мощный компьютер (наверное в сотне самых быстрых) и кажется обычный вариант или я забыл.
можно быть кто-нибудь подкинет сравнение этих вариантов по скорости, цене и прочими параметрами
-
- Уже с Приветом
- Posts: 15759
- Joined: 01 Mar 2008 15:14
Re: hardware для ускорения вычислений
В видеокарте самой по себе сотни процессоров. Погуглите CUDA. Но не все алгоритмы можно распараллелить и повесить на шейдеры
-
- Уже с Приветом
- Posts: 10061
- Joined: 20 May 1999 09:01
Re: hardware для ускорения вычислений
Для начала бы надо от Matlab избавиться и переписать на С++, глядишь раз в 100 быстрей уже начнет работать. А параллелить вычисления, тем более с GPU, это вещь тонкая, спецы должны быть под рукой
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: hardware для ускорения вычислений
Для начала нужно понять, зачем половина пикселей идут в помойку, чтобы потом их восстанавливать. А так cuda рулит
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 4375
- Joined: 20 Jun 2001 09:01
Re: hardware для ускорения вычислений
Это зависит от того, как именно Matlab применяется. Если циклы на Матлабе - то да, потери в несколько раз/десятки раз, если же используется встроенная функция - то как правило сравнимая производительность, всё уже распараллелено и оптимизировано. Можно использовать С/С++ внутри Матлаба через mex.ksi wrote:Для начала бы надо от Matlab избавиться и переписать на С++, глядишь раз в 100 быстрей уже начнет работать. А параллелить вычисления, тем более с GPU, это вещь тонкая, спецы должны быть под рукой
В целом по вопросу - слишком мало данных чтобы давать вразумительные ответы.
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
сам я делать этот кусок не буду, да и он типа того готовый, но хотелось бы лучше понимать о чем "лопочет" товарищ. так что в первую очередь меня интересуют описание вариантов и технические сравнения и желательно с результатами тестов.
проблема в том, что товарищ плохо связывает куски системы, сделал несколько вообщем-то правильных заявлений, но не для данного случая неправильные. в итоге пока договорились, что он проверит на сколько его алгоритм убыстрит вычисление с 15 минут до ??? на его тестовых возможностях, а тогда уже и будем разговарить за какие параметры системы можно и нужно бороться, но последнего он кажется не понял
информацию про Матлаб, image, 15 минут и так вообщем-то излишняя. то что Матлаб медленный - это ясно и ясно почему. год назад ясам переписал одну программу с Матлаба на С# и скорость увеличилась раз в 50 без всяких ухищрений.
добавлю, что алгоритм состоит из нескольких итераций. нечетные итерации можно распараллелить на 1000. скажем image 512 * 512 пикселов делится на ~1000 (32 *32) плитки 16 *16 пикселов. но вот четные итерации делают синхронизацию на основе результатов предыдущих итераций, так что никакой параллелизации на четных итерациях нету.
да, для АццкоМото. реально хочется все пикселы пошли в помойку ))) меньше пикселов, меньше разрушений для образца
проблема в том, что товарищ плохо связывает куски системы, сделал несколько вообщем-то правильных заявлений, но не для данного случая неправильные. в итоге пока договорились, что он проверит на сколько его алгоритм убыстрит вычисление с 15 минут до ??? на его тестовых возможностях, а тогда уже и будем разговарить за какие параметры системы можно и нужно бороться, но последнего он кажется не понял
информацию про Матлаб, image, 15 минут и так вообщем-то излишняя. то что Матлаб медленный - это ясно и ясно почему. год назад ясам переписал одну программу с Матлаба на С# и скорость увеличилась раз в 50 без всяких ухищрений.
добавлю, что алгоритм состоит из нескольких итераций. нечетные итерации можно распараллелить на 1000. скажем image 512 * 512 пикселов делится на ~1000 (32 *32) плитки 16 *16 пикселов. но вот четные итерации делают синхронизацию на основе результатов предыдущих итераций, так что никакой параллелизации на четных итерациях нету.
да, для АццкоМото. реально хочется все пикселы пошли в помойку ))) меньше пикселов, меньше разрушений для образца
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: hardware для ускорения вычислений
Я так поняла изначально имидж сканировался с неважным качеством/разрешением и второй шаг - это его восстановление алгоритмами аппроксимации или что тамАццкоМото wrote:Для начала нужно понять, зачем половина пикселей идут в помойку, чтобы потом их восстанавливать. А так cuda рулит
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
изначально стоит задача сканировать как можно меньше времени, чтобы образец не был изменен. в принципе он может быть и разрушен.
можно сканировать меньшее временя на каждый пиксел, но тогда уровень шума выше. а можно отсканированить меньше пикселов, но применить алгоритмы по восстановлению остальных пикселов. мне кажется это типичная задача data scientists
качество сканирования, вернее разрешение можно поменять, но полное и частиное измерения делаются на одном и том же разрешении и тут поля для игр нету!
вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
кстати, и товарищ баклуши не бил. на Маке с 4 Core уменьшил время до 2 минут. при этом такой активный ... куча е-майлов, на митинг зовет, чтобы систему сделать практически не используемой, но блин (!!!) с подключение самого крутого компа в компании!
можно сканировать меньшее временя на каждый пиксел, но тогда уровень шума выше. а можно отсканированить меньше пикселов, но применить алгоритмы по восстановлению остальных пикселов. мне кажется это типичная задача data scientists
качество сканирования, вернее разрешение можно поменять, но полное и частиное измерения делаются на одном и том же разрешении и тут поля для игр нету!
вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
кстати, и товарищ баклуши не бил. на Маке с 4 Core уменьшил время до 2 минут. при этом такой активный ... куча е-майлов, на митинг зовет, чтобы систему сделать практически не используемой, но блин (!!!) с подключение самого крутого компа в компании!
-
- Уже с Приветом
- Posts: 2261
- Joined: 17 Jun 2003 04:41
- Location: Just like US
Re: hardware для ускорения вычислений
Вы что, по субботам работаете что-ли?DropAndDrag wrote:кстати, и товарищ баклуши не бил. на Маке с 4 Core уменьшил время до 2 минут. при этом такой активный ... куча е-майлов, на митинг зовет...
...а мы такой компанией, возьмем, да и припремся к Элис!
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
обычно нет )))blanko27 wrote:Вы что, по субботам работаете что-ли?DropAndDrag wrote:кстати, и товарищ баклуши не бил. на Маке с 4 Core уменьшил время до 2 минут. при этом такой активный ... куча е-майлов, на митинг зовет...
в пятницу тоже не был на работе - заглянул майлы почитал )))
-
- Ник закрыт за хамство.
- Posts: 357
- Joined: 16 Feb 2014 18:34
Re: hardware для ускорения вычислений
Один ... может задать такой вопрос, что и тысяча мудрецов не ответит.DropAndDrag wrote: вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
по-моему вопрос простой, ну куда уж прощеDeckel wrote:Один ... может задать такой вопрос, что и тысяча мудрецов не ответит.DropAndDrag wrote: вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
обычные компьютеры сравнивают. большие компьютеры тоже имеют тесты.
вы хотите сказать, что варианты ускорения на одном компьютере делают, но не сравнивают!
прикольненько
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
эх big data scientists ... один хрен, как и большинство обычных scientists ... все, а конкретно не о чем.
вот к примеру, http://www.bertendsp.com/pdf/whitepaper ... n_v1.0.pdf
да, будьте аккуратны с TFLOPS на последнем графике. если CPU и GPU можно сравнивать почти в лоб, то с FPGA дело обстоит очень щекотливо
вот к примеру, http://www.bertendsp.com/pdf/whitepaper ... n_v1.0.pdf
да, будьте аккуратны с TFLOPS на последнем графике. если CPU и GPU можно сравнивать почти в лоб, то с FPGA дело обстоит очень щекотливо
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: hardware для ускорения вычислений
Но универсальный пипкомер для сравнения CPU & GPU еще вроде не изобрели. Это же не просто так?DropAndDrag wrote:по-моему вопрос простой, ну куда уж прощеDeckel wrote:Один ... может задать такой вопрос, что и тысяча мудрецов не ответит.DropAndDrag wrote: вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
обычные компьютеры сравнивают. большие компьютеры тоже имеют тесты.
вы хотите сказать, что варианты ускорения на одном компьютере делают, но не сравнивают!
прикольненько
Я не буду претендовать на авторитетный ответ, но пока видится так
1. Тот странный чувак, похоже, знает ответ лучше всех из нас, включая вас
2. Неясно, почему нынешний бенчмарк на каком-то сраном 4-ядреном процике. Но тот странный чувак может знать
3. Если параллелится, то либо в облако, либо в GPU/облако GPU.
4. Четырехядреный процик кагбы намекаэ, что параллелится так себе
А вообще хочется про задачу узнать. Скорей всего это невозможно в паблике, но... Молоть 2 минуты на 4 ядрах хреново снятый имидж это интересно. Да и вообще из самой постановки любапыццво есть
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 2261
- Joined: 17 Jun 2003 04:41
- Location: Just like US
Re: hardware для ускорения вычислений
Вы не обижайтесь, но вот пример простого вопроса - почему ночью темно? И 5 попыток научного объяснения: парадокс ОльберсаDropAndDrag wrote:по-моему вопрос простой, ну куда уж проще
АццкоМото приходится выуживать из вас контекст для правильного ответа
...а мы такой компанией, возьмем, да и припремся к Элис!
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
все вообщем-то открыто. тут не написал, но отправил личное сообщение.АццкоМото wrote:Но универсальный пипкомер для сравнения CPU & GPU еще вроде не изобрели. Это же не просто так?DropAndDrag wrote:по-моему вопрос простой, ну куда уж прощеDeckel wrote:Один ... может задать такой вопрос, что и тысяча мудрецов не ответит.DropAndDrag wrote: вот жеж data scientists ))) задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
обычные компьютеры сравнивают. большие компьютеры тоже имеют тесты.
вы хотите сказать, что варианты ускорения на одном компьютере делают, но не сравнивают!
прикольненько
Я не буду претендовать на авторитетный ответ, но пока видится так
1. Тот странный чувак, похоже, знает ответ лучше всех из нас, включая вас
2. Неясно, почему нынешний бенчмарк на каком-то сраном 4-ядреном процике. Но тот странный чувак может знать
3. Если параллелится, то либо в облако, либо в GPU/облако GPU.
4. Четырехядреный процик кагбы намекаэ, что параллелится так себе
А вообще хочется про задачу узнать. Скорей всего это невозможно в паблике, но... Молоть 2 минуты на 4 ядрах хреново снятый имидж это интересно. Да и вообще из самой постановки любапыццво есть
тот странный чувак может и знает лучше про специфические вычисления, но если бы это была бы только его программа, то мне было бы пофиг ))) а так пока выглядит, что благими ... дорога ...
чувак совершенно не задумывается насколько народу будет удобно использовать систему.
к примеру, народ потрахается с мощным компьютером раз -другой, который то не работает, то занят, то еще что-то и не будет использовать новый метод вообще
другой пример, если вычисления будут сделаны на FPGA и народ попросит подправить немного то или это, а компиляция программы для FPGA - вы знаете сколько занимает скажем выигрыш 2 секунд от 6 кому-нибудь нужен
чувак сходу предложил несколько улучшений в измерении. пришлось ему объяснить, что его знания с прошлого века
когда чуваку объяснил, как должна быть устроена система, чтобы было максимально удобно для пользователься, чувак там пощелкал клювом, сям в итоге занялся разглагольствованием о своем любим и как ему удобно
-
- Ник закрыт за хамство.
- Posts: 357
- Joined: 16 Feb 2014 18:34
hardware для ускорения вычислений
Так а какие вам удобно системы использовать? Огласите весь список пжлста.
Линукс или винда с 32 core и кучей памяти это одно из самых легко администрируемых решений.
При переходе с 8 корок на 32 будет прогресс?
Линукс или винда с 32 core и кучей памяти это одно из самых легко администрируемых решений.
При переходе с 8 корок на 32 будет прогресс?
Last edited by Deckel on 04 Jul 2016 12:07, edited 1 time in total.
-
- Уже с Приветом
- Posts: 9258
- Joined: 14 Dec 2001 10:01
- Location: Российская Федерация
Re: hardware для ускорения вычислений
Записывает в файл, читает из файла.. Это точно про производительность?
Чтобы ответить на ваш вопрос нужно очень много знать о проекте. Например одно из самых узких мест при работе с GPU - операции с памятью. Особенно если графика дискретная. Отправить в карту память и забрать весьма дорого стоит. Если у вас приличные объемы, то такая выгрузка даннх может скушать весь выигрыш оптимизации на GPU.
Чтобы ответить на ваш вопрос нужно очень много знать о проекте. Например одно из самых узких мест при работе с GPU - операции с памятью. Особенно если графика дискретная. Отправить в карту память и забрать весьма дорого стоит. Если у вас приличные объемы, то такая выгрузка даннх может скушать весь выигрыш оптимизации на GPU.
Миру мир
-
- Уже с Приветом
- Posts: 15242
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: hardware для ускорения вычислений
Кумон. Вход - картинка. Выход - картинка. Время обработки ОДНОЙ улучшили до двух минут. До размышлений о скорости передачи данных из RAM в память GPU еще срать и сратьadb wrote:Записывает в файл, читает из файла.. Это точно про производительность?
Чтобы ответить на ваш вопрос нужно очень много знать о проекте. Например одно из самых узких мест при работе с GPU - операции с памятью. Особенно если графика дискретная. Отправить в карту память и забрать весьма дорого стоит. Если у вас приличные объемы, то такая выгрузка даннх может скушать весь выигрыш оптимизации на GPU.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 510
- Joined: 07 Dec 2001 10:01
- Location: toronto
Re: hardware для ускорения вычислений
Не очень понятно, что значит "хотелось бы побыстрей". Просто абстрактно хочется, или есть какие-то ограничения? В каком темпе поступают входные данные?
Мне когда-то приходилось заниматься server-side рендерингом, моим решением в ту пору были самые дешёвые боксы, с самыми дешёвыми процессорами, но чтоб количество cores было побольше. Но у меня ещё были другие входные параметры, типа лицензий определённого типа и всякое такое.
Я бы предложил начать с решения на подходящем языке (помимо Матлаба), если оно параллелится, и без использования всякой экзотики, типа 3D hardware. А оттуда уже можно расти в нужную сторону, если денюх не жалко.
Мне когда-то приходилось заниматься server-side рендерингом, моим решением в ту пору были самые дешёвые боксы, с самыми дешёвыми процессорами, но чтоб количество cores было побольше. Но у меня ещё были другие входные параметры, типа лицензий определённого типа и всякое такое.
Я бы предложил начать с решения на подходящем языке (помимо Матлаба), если оно параллелится, и без использования всякой экзотики, типа 3D hardware. А оттуда уже можно расти в нужную сторону, если денюх не жалко.
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
было бы желательно обработанный image засунуть в имеющуюся программу, которой пользуется community. эта программа работает Windows. вот я и предлагаю, давайте попробуем договорится с компанией, которая поставила этот компьютер с программой и дополнительным железом. Мы меняем компьютер на более мощный ... чувак вертит головой, типа можно, но Windows медленнее, как это будет все работать, Linux c phthread ему удобнее ...Deckel wrote:Так а какие вам удобно системы использовать? Огласите весь список пжлста.
Линукс или винда с 32 core и кучей памяти это одно из самых легко администрируемых решений. С 8 корок на 32 будет прогресс?
кстати, меня прикалоло, что ему не нравится массив double, который его программа перетаскивает в integer. в тоже время он глаголит, что передать этот массив по сети (1 Gb) занимает мало времени. мне кажется, что быстрее перетащить double в integer, чем протащить данные, через сеть.
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
я понял на GPU будет обрабатывать tile от image. типичные разымеры tile это 7 * 7 писел или 16 * 16 писел. когда все tiles обработаны, то итог собирается, перестраивается общая матрица и снова все рассыпается на tiles.АццкоМото wrote:Кумон. Вход - картинка. Выход - картинка. Время обработки ОДНОЙ улучшили до двух минут. До размышлений о скорости передачи данных из RAM в память GPU еще срать и сратьadb wrote:Записывает в файл, читает из файла.. Это точно про производительность?
Чтобы ответить на ваш вопрос нужно очень много знать о проекте. Например одно из самых узких мест при работе с GPU - операции с памятью. Особенно если графика дискретная. Отправить в карту память и забрать весьма дорого стоит. Если у вас приличные объемы, то такая выгрузка даннх может скушать весь выигрыш оптимизации на GPU.
-
- Уже с Приветом
- Posts: 5992
- Joined: 11 Mar 2011 05:36
Re: hardware для ускорения вычислений
лучшее, если задержка будет не заметна глазом. Скажем измерение полное измерение занимает 8 сек. Уполовиненное 4 секунды и его обработанный результат появляется сразуtau wrote:Не очень понятно, что значит "хотелось бы побыстрей". Просто абстрактно хочется, или есть какие-то ограничения? В каком темпе поступают входные данные?
Мне когда-то приходилось заниматься server-side рендерингом, моим решением в ту пору были самые дешёвые боксы, с самыми дешёвыми процессорами, но чтоб количество cores было побольше. Но у меня ещё были другие входные параметры, типа лицензий определённого типа и всякое такое.
Я бы предложил начать с решения на подходящем языке (помимо Матлаба), если оно параллелится, и без использования всякой экзотики, типа 3D hardware. А оттуда уже можно расти в нужную сторону, если денюх не жалко.
вот и я говорю, надо по шагам двигаться к комунизму, и вообще было бы неплохо оценить за какой коммунизм можно бороться
-
- Уже с Приветом
- Posts: 510
- Joined: 07 Dec 2001 10:01
- Location: toronto
Re: hardware для ускорения вычислений
Ну раз про коммунизм, то тогда можно спросить - за чей счёт банкет.DropAndDrag wrote: лучшее, если задержка будет не заметна глазом. Скажем измерение полное измерение занимает 8 сек. Уполовиненное 4 секунды и его обработанный результат появляется сразу
вот и я говорю, надо по шагам двигаться к комунизму, и вообще было бы неплохо оценить за какой коммунизм можно бороться
Потому что у меня так не раз было, когда начальство наобещает клиентам на грош пятаков, а когда я начальству представляю примерную стоимость разных решений, то начальство очень быстро приходит в себя и говорит, что не очень-то и хотелось.
То есть, если обрабатывается одна картинка в день, то, скорее всего, никто за экзотические (и дорогие) решения платить не будет. А если сто в минуту, то тогда уже другое дело.
Возоможно, есть какие-то промежуточные решения, когда можно получить за секунды "грубый" обсчёт, а "точый" надо будет ждать.
Вообще, я вижу, что речь идёт о double. Если действительно нужен такой диапазон, то с GPU могут быть нюансы.
-
- Уже с Приветом
- Posts: 9258
- Joined: 14 Dec 2001 10:01
- Location: Российская Федерация
Re: hardware для ускорения вычислений
Для работы с GPU много знать нужно. Такие специалисты быстро старятся и умирают. Вряд ли вам здесь быстро на коленке все объяснят.DropAndDrag wrote:задал простой вопрос, где гонять алгоритмы лучше, а в ответ ... )))
Миру мир