powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Робя, а кто- нибудь уже работал с Parallel STL?
13 сообщений из 13, страница 1 из 1
Робя, а кто- нибудь уже работал с Parallel STL?
    #39626895
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть многообещающая статья, из которой как я понял алгоритмы STL теперь будут иметь несколько реализаций в том числе параллельную, векторную и векторно+параллельную: https://habrahabr.ru/company/intel/blog/346822/

Реализовано пока у Intel и MSVC: https://software.intel.com/en-us/get-started-with-pstl

Кто- то уже потыкал палочкой? :)
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39626930
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оказывается и в gcc уже есть параллельные алгоритмы:
YouTube Video
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39626962
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не работал.

Но обычно это плохая идея, распараллеливать отдельные операции.
Лучше параллелить вообще задачу.
Например, чтобы построить дом, надо вырыть котлован. Контлован -- это одна большая яма.
Её рыть одним эксковатором долго.
А мы будем рыть 10Х10 ям рядом друг с другом, задействовав 100 экскаваторов, и потом их соединим.

(правда, аналогия получилась плохая, нужно ещё рядом 100 домов построить и затем соединить).
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627008
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что за идиотская мода делать видео? Посмотрел три минуты, задолбался, а там еще час. Я за десять минут прочитаю все что он наговорил за час, за что у меня хотят отобрать 50 минут жизни? Извините за оффтоп, накипело.

По существу мне непонятно одно: откуда эти библиотеки берут потоки? Распараллелить сортировку можно, но затраты на создание потоков сожрут всю экономию, т.е. должен быть какой-то заранее заготовленный пул потоков, но где он?

В остальном согласен с MasterZiv`ом: за тебя нормально никто не распараллелит, т.к. если библиотека будет параллелить относительно небольшие операции типа сортировки, то выигрыш будет незначительным.
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627012
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLSTL теперь будут иметь несколько реализаций в том числе параллельную, векторную и векторно+параллельную
Бред! Не надо мешать теплое и мягкое в одну кучу.

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

Параллельно - это возможность вести одновременно несколько расчетов, независимых друг от друга. И без разницы какие они, векторные или не очень, или совсем не векторные.
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627013
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tкогда за один так выполняется
... за один такт процессор выполняет ...
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627017
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У распараллеливания есть другая проблема: синхронизация доступа к общеиспользуемым данным. Любой потокобезопасный алгоритм в разы тормознее его однопоточного аналога.
Но есть решение: Модель акторов .
Тут очень длинный топик на эту тему. Лично меня этот топик зацепил и вдохновил на написание собственного фрэймворка для распараллеливания. Не совсем, но почти Модель акторов. Скорость последнего варианта 50 млн. попугаев (сообщений) в секунду.

Вкратце суть в том что фрэймворк обеспечивает однопоточную работу каждого актора, т.е. в коде актора не надо заморачиваться на синхронизацию. Минус - надо думать акторами.
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627027
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TAlekseySQLSTL теперь будут иметь несколько реализаций в том числе параллельную, векторную и векторно+параллельную
Бред! Не надо мешать теплое и мягкое в одну кучу.

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

Параллельно - это возможность вести одновременно несколько расчетов, независимых друг от друга. И без разницы какие они, векторные или не очень, или совсем не векторные.

Есть общая рекомендация внешний цикл параллелить, а внутренний векторизовать. Именно по этому принципу работают вектороно- параллельные алгоритмы.

Векторные операции позволяют выполнить одну операцию над целым набором данных. Подходят практически для всего (хоть поиска символа строке). Часто используются в обработке фото, потому что там заранее известное количество точек (размер кадра) + их большое количество (что понижает накладные расходы).

p.s. Товарищ в видео про параллельные алгоритмы в gcc рассказывал примерно три минуты.
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627032
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLВекторные операции позволяют выполнить одну операцию над целым набором данных. Подходят практически для всего (хоть поиска символа строке). Часто используются в обработке фото, потому что там заранее известное количество точек (размер кадра) + их большое количество (что понижает накладные расходы).
С точки зрения распараллеливания - это однопоточная операция. Т.е. к распараллеливанию отношения не имеет, я об этом.
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627090
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Dima T]Что за идиотская мода делать видео? Посмотрел три минуты, задолбался, а там еще час.

чего ты хочешь от века интернета и поколения Телепузиков?
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627091
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну похоже мы спорим ни о чем...
У него там видимо действительно большие данные и параллельная операция.
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39627188
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНу похоже мы спорим ни о чем...
У него там видимо действительно большие данные и параллельная операция.
Мы не спорим, но он похоже не там ищет. Нет решений для уникальных случаев, есть решения для небольшого ускорения ширпотреба.
...
Рейтинг: 0 / 0
Робя, а кто- нибудь уже работал с Parallel STL?
    #39628725
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЧто за идиотская мода делать видео? Посмотрел три минуты, задолбался, а там еще час. Я за десять минут прочитаю все что он наговорил за час, за что у меня хотят отобрать 50 минут жизни? Извините за оффтоп, накипело.

По существу мне непонятно одно: откуда эти библиотеки берут потоки? Распараллелить сортировку можно, но затраты на создание потоков сожрут всю экономию, т.е. должен быть какой-то заранее заготовленный пул потоков, но где он?

В остальном согласен с MasterZiv`ом: за тебя нормально никто не распараллелит, т.к. если библиотека будет параллелить относительно небольшие операции типа сортировки, то выигрыш будет незначительным.
Я не смотрел видео. Почитал Хабр только. Если убрать векторизацию - то идея боян.
И почти все библиотеки для обработки BigData уже содержат коробочные способы
распараллеливания.

Кстати можно попробовать Parallel STL применить для нашего CardRaytracer.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Робя, а кто- нибудь уже работал с Parallel STL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]