Библиотека параллельных шаблонов Microsoft: кто-нибудь смотрел, насколько сложно будет перенести ее на POSIX/Linux?

Книга вышла:

http://blogs.msdn.com/b/vcblog/archive/2011/03/15/10139453.aspx

Мне просто интересно, кто-нибудь проходил реализацию и видел, как легко было бы украсть/перенести на POSIX? Использует ли он, например, управляемые расширения C++? Есть какие-нибудь мысли об этом в целом или о его библиотеке Aynchronous Agents? Было бы неплохо, если бы был эквивалент std:: или boost::.


person JDonner    schedule 31.03.2011    source источник
comment
В чем смысл ? В Unix уже есть различная поддержка параллельного программирования, как вы думаете, в чем преимущество тех библиотек MS, которые недоступны, например, в Boost?   -  person DarkDust    schedule 31.03.2011
comment
Intel TBB реализует подмножество PPL (хотя и без асинхронных агентов) и доступен на платформах POSIX. Конечно, он использует свой собственный параллельный движок и поверх него реализует интерфейсы PPL.   -  person Alexey Kukanov    schedule 01.04.2011
comment
Связано с управляемыми расширениями. PPL не использует управляемые расширения. Насколько я знаю, это стандартная кодовая база С++ 11. Исходный код доступен, так как он основан на шаблоне   -  person Ghita    schedule 19.11.2011


Ответы (1)


DarkDust — Boost поддерживает параллелизм на уровне потоков, тогда как PPL и TBB обеспечивают абстракцию на основе задач поверх пула потоков и используют алгоритмы стандартной библиотеки и подход к контейнерам. Это избавляет от многих головных болей, связанных с планированием и управлением ресурсами. Некоторые функции параллелизма на основе задач теперь начинают поддерживаться и в C++11, особенно std::future и другие функции, связанные с асинхронностью.

Ghita — PPL не использует управляемые расширения, это чисто собственный код, но он не полностью основан на шаблонах. Реализация Windows работает поверх среды выполнения с параллелизмом, ConcRT. См. http://msdn.microsoft.com/en-us/library/gg663535.aspx для получения дополнительных сведений. Реализация Intel предоставляет совместимый с исходным кодом API для подмножества PPL. См. http://threadingbuildingblocks.org/docs/help/reference/appendices/ppl_compatibility.htm для обсуждения совместимости TBB/PPL.

Алексей. Версия Intel для Unix работает поверх их среды выполнения. В Windows TBB 3.0 также может работать поверх ConcRT, в зависимости от того, как вы его свяжете. См. здесь, http://software.intel.com/en-us/blogs/2010/05/04/tbb-30-new-today-version-of-intel-threading-building-blocks

Книга доступна на Amazon и т. д., а ее содержимое также доступно на MSDN http://msdn.microsoft.com/en-us/library/gg675934.aspx

person Ade Miller    schedule 03.11.2012