Re: Библиотека tbb
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.09.25 08:32
Оценка: 23 (2)
Здравствуйте, LaptevVV, Вы писали:

LVV>Свободная: https://github.com/syncur/tbb


Странная ссылка, вот правильная.

LVV>Кто-нить пользовался ?


Да, и прямо и опосредованно. Хорошая библиотека, ей уже много лет.
Есть и альтернативы, не менее популярные, например, taskflow.
Ну и с каждым стандартом всё ближе по функционалу подбирается openmp, но это намного, намного менее удобно.
Re: Библиотека tbb
От: Doom100500 Израиль  
Дата: 11.09.25 06:29
Оценка: 1 (1) :)
Здравствуйте, LaptevVV, Вы писали:

LVV>Кто-нить пользовался ?


Нам, в своё время, пытались продать. Но сразу сказали, что наилучшие результаты будут с их компилятором и на их-же процах (очевидно).
У нас не было бюджета на смену компилятора (мы только что стабилизировались после перехода на 64 бит), да и проверяли альтернативы Интелу (хотя, вот уже и до сих пор с ними).

Сама библиотека в наших узких местах не помогла из-за специфики. У нас много огромных картинок, на которые натравливаются алгоритмы. Картинки приходят строго одна за одной, и результат обработки должен быть в той-же последовательности. Разделить память картинки по шинам в многопроцессорных системах невозможно, библиотека показала худший результат по сравнению с нашим доморощенным параллелизмом.
Естественно они нам сказали, что у нас архитектура не та, и делаем мы всё не правильно.
Спрсоили совета как это надо сделать — они развели руками, и подарили нам профайлер.
Спасибо за внимание
Re[2]: Библиотека tbb
От: SaZ  
Дата: 10.09.25 11:51
Оценка: +1 -1
Здравствуйте, Nuzhny, Вы писали:

N>...

N>Да, и прямо и опосредованно. Хорошая библиотека, ей уже много лет.
N>Есть и альтернативы, не менее популярные, например, taskflow.
N>Ну и с каждым стандартом всё ближе по функционалу подбирается openmp, но это намного, намного менее удобно.

Плюсую taskflow.

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

Вообще где-то тут на форуме публиковали пропоузал о том, что в плюсах хотят унифицировать многопоточность — то есть сделать так, чтобы каждая либа не тянула за собой свою имплементацию тредпула. Увы, не слежу за этой темой, не знаю в каком оно статусе.
Библиотека tbb
От: LaptevVV Россия  
Дата: 10.09.25 07:37
Оценка:
Библиотека для параллельных вычислений.
От Intel
https://wiki2.org/ru/Intel_Threading_Building_Blocks


Свободная: https://github.com/syncur/tbb

Книжка есть по ней: https://dmkpress.com/catalog/computer/programming/c/978-5-97060-864-7/

Кто-нить пользовался ?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Библиотека tbb
От: Hоmunculus  
Дата: 10.09.25 07:52
Оценка:
Здравствуйте, LaptevVV, Вы писали:

Для каждого примера из папки example есть проект для XCode, правда шестилетней давности. Интересно, они только на интеловских процессорах пойдут или на Силиконе тоже?
Re[2]: Библиотека tbb
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 10.09.25 08:34
Оценка:
Здравствуйте, Hоmunculus, Вы писали:

H>Для каждого примера из папки example есть проект для XCode, правда шестилетней давности. Интересно, они только на интеловских процессорах пойдут или на Силиконе тоже?


Должно пойти.
Re: Библиотека tbb
От: steep8  
Дата: 16.09.25 15:18
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Библиотека для параллельных вычислений.

LVV>От Intel


LVV>Кто-нить пользовался ?


Использовали еще 10 лет назад в продакшене, обработку трафика распараллеливали.
Re: Библиотека tbb
От: ботаныч Интернет https://youtu.be/I3lhN5CUP2M
Дата: 07.11.25 11:16
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Библиотека для параллельных вычислений.


LVV>Кто-нить пользовался ?

Знакомс. На корке клауда(likeof AWS) пользовался в проекте, где оказался я, основная фишка, почему он там оказался так фрилокнутых структурах данных (мапах, векторах, етц... )
Re[2]: Библиотека tbb
От: ботаныч Интернет https://youtu.be/I3lhN5CUP2M
Дата: 19.11.25 06:11
Оценка:
Здравствуйте, ботаныч, Вы писали:

Б>Здравствуйте, LaptevVV, Вы писали:


LVV>>Библиотека для параллельных вычислений.


LVV>>Кто-нить пользовался ?

Б> Знакомс. На корке клауда(likeof AWS) пользовался в проекте, где оказался я, основная фишка, почему он там оказался так фрилокнутых структурах данных (мапах, векторах, етц... )

т.е. lockfree containers etc...
П.С. не помню рассказывал нет, но попал я на проектик где индусы\китайцы каким-то макаром переманили одного из архов амазона (хранцуз-ф))) в свой клауд проект. Ну собсна там и пользовалась эта либа.
Re[2]: Библиотека tbb
От: ботаныч Интернет https://youtu.be/I3lhN5CUP2M
Дата: 19.11.25 06:18
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, LaptevVV, Вы писали:


LVV>>Свободная: https://github.com/syncur/tbb


N>Странная ссылка, вот правильная.


LVV>>Кто-нить пользовался ?


N>Да, и прямо и опосредованно. Хорошая библиотека, ей уже много лет.

N>Есть и альтернативы, не менее популярные, например, taskflow.
N>Ну и с каждым стандартом всё ближе по функционалу подбирается openmp, но это намного, намного менее удобно.
opnenmp это совсем не сравнимо с tbb. Совсем другое, это из разряда std::prallel_foreach(begin, end, [](){ enum xz {x, z}; return x;}); просто в коде выглядит аля единый скоуп. tbb больше про

std::prallel_foreach(begin, end, [&map0, &map2](auto iter0, auto iter1){ replicate(iter0, iter1); );
в неблокирующих алгоритмах
Re[3]: Библиотека tbb
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 19.11.25 07:57
Оценка:
Здравствуйте, ботаныч, Вы писали:

Б>opnenmp это совсем не сравнимо с tbb.


Не сравнимо по способу решения задач или по типу решаемых задач? По способу — согласен, но они оба предназначены для одного и того же, нет? Тем более, для openmp стандарты новые выходят, на месте не стоит.
Re[4]: Библиотека tbb
От: ботаныч Интернет https://youtu.be/I3lhN5CUP2M
Дата: 21.11.25 16:01
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Здравствуйте, ботаныч, Вы писали:


Б>>opnenmp это совсем не сравнимо с tbb.


N>Не сравнимо по способу решения задач или по типу решаемых задач? По способу — согласен, но они оба предназначены для одного и того же, нет? Тем более, для openmp стандарты новые выходят, на месте не стоит.


я где-то в 2020 раcпараллеливал один мат. алгоритм для автоматического дифaеренцирования (adjoint) c openmp. Openmp скорее расширение для компилятора, выделяется скоуп с помощью прагм, на параллельный или single thread, есть барьеры etc...

tbb, включает всевозможные мьютексы (рекурсивные, на объектах ядра), но в том проект, где я с этим работал основной момент был в lock free контейнерах. Этого я не помню в openmp, не пробовал иcпользовать стандартные атомики в openmp. скажем tbb для параллелизма полнее openmp, хотя #pragma omp parallel, #pragma omp for в чем-то проще. НЕт необходимости руками создавать пул потоков.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.