Библиотека параллельных шаблонов (PPL) - это библиотека C++, включенная в Microsoft Visual C++ 2010+, которая обеспечивает модель императивного программирования, которая способствует масштабируемости и простоте использования для разработки параллельных приложений.
3 ответа

Свойства выполнения задачи в чел.

Выполняется ли вновь созданная задача из библиотеки C++ ppl автоматически или существует какой-либо механизм, необходимый для инициирования выполнения вышеупомянутой задачи?
22 окт '15 в 10:42
1 ответ

C++ Порядок выполнения потоков в пуле потоков

Кто-нибудь знает о реализации пула потоков C++, которая допускает как параллельную многопоточность (как типичный пул потоков), но также допускает последовательный последовательный порядок выполнения. Я потратил несколько дней, пытаясь заставить это …
26 сен '14 в 16:43
1 ответ

BitmapImage SetSourceAsync в WinRT C++

Я новичок в WinRT C++. Я пытаюсь передать образ StorageFile из C# и открыть файл и установить его в качестве источника в BitmapImage в WinRT для извлечения высоты и ширины изображения. Я использую следующий код. auto openOperation = StorageImageFile…
19 сен '14 в 10:46
1 ответ

Являются ли результаты параллелизма:: return_all вектором возврата FIFO?

Функция Concurrency::when_all возвращает std::vector<T> с возвращаемыми значениями всех задач, которые он ожидал. Находятся ли значения в векторе в каком-либо порядке или в порядке выполнения задач?
09 янв '14 в 07:55
1 ответ

PPL и Intel Media SDK

Я хотел бы интегрировать кодировщик Intel QSV в мой проект. В примечании к выпуску известных ограничений Intel есть один момент, который мне хотелось бы уточнить: Использование Intel Media SDK параллельно с Intel® Threading Building Blocks может пов…
28 май '12 в 20:51
0 ответов

PPL получает ошибки компиляции при запуске команды

Мне нужно запустить некоторый код ppl в команде ppl. Вот код: service tar0_starter function start const pathFolder= OS.consol?.ask_string ("Please enter at path of file:") if_null: error const my_folder = directory.creat(directory_path.create (pathF…
20 мар '18 в 12:01
2 ответа

Чел, как правильно его использовать?

Следующий код: #include <ppl.h> int i; vector<int> val(10),summ(10,0); for(i=0;i<10;i++) val[i]=i; parallel_for(0, 10, [&] (int y){ vector<int> vett(1000); double vall=val[y]; for(i=0;i<vett.size();i++) vett[i]=vall; for(…
13 фев '12 в 23:19
2 ответа

Использует ли Windows std::thread внутренне PPL?

Является ли реализация Visual Studio 2015 std:: thread внутренне на основе системы задач PPL? Исходная информация моего вопроса такова: имеет ли смысл использовать std:: thread для нескольких задач, потому что они уже выполнены сбалансированно в общ…
28 апр '16 в 12:06
1 ответ

Прервать подзадачу из parallel_for_each

У меня большой вектор элементов, которые отсортированы по одному из их полей, например, атрибуту стоимости, и я хочу немного обработать каждый из этих элементов, чтобы найти максимальное значение другого атрибута... Ограничение здесь мы не можем исп…
25 авг '15 в 05:20
1 ответ

Задача PPL - продолжение в потоке пользовательского интерфейса для настольного приложения

Я хотел бы использовать задачу ppl, чтобы сделать некоторую работу в фоновом режиме, и, после завершения, показать результат в окне. В моем случае UI-framework это MFC. Структура будет: using namespace concurrency; create_task([] { // this can be ru…
13 июн '14 в 07:09
2 ответа

Выполнить

Поскольку C++11 не имеет future.then Я начал использовать concurrency::task от Microsoft PPL библиотека. Это прекрасно работает большую часть времени. Тем не менее, сейчас я нахожусь в ситуации, когда я делаю GPGPU, так что запланировано продолжение…
09 янв '13 в 19:07
1 ответ

Преобразование задачи<T> в задачу<void>

Есть ли способ упростить следующий код, чтобы избежать .then называть это "преобразует" мой task&lt;int&gt; в task&lt;void&gt;? Я не могу изменить подпись функции MyClass::MyFunction1 потому что это часть публичного API. task&lt;void&gt; MyClass::My…
30 мар '18 в 19:46
0 ответов

Каков наилучший способ вернуть значения из parallel_for

У меня есть простой параллель для цикла и результаты каждой итерации, которые я вставляю в concurrent_unordered_map. Я вижу, что вставка делает мой код намного медленнее. Итак, каков наилучший способ вернуть пары из parallel_for в unordered_map? Я п…
03 окт '16 в 16:15
1 ответ

Класс объекта внутри или снаружи arallel_for / parallel_for_each?

Я изучал параллельные циклы (C++11) и тестировал их в MS visual Studio 2013. Я ясно представляю их (lambdas esp.), Которые довольно круты. Но меня беспокоит то, что мне нужно вызвать функцию, которая выполняет простую евклидову меру расстояния. Функ…
27 авг '15 в 19:33
0 ответов

Параллельное выполнение запросов http_client в PPL Casablanca?

Справочная информация: у меня есть простое приложение C++11, которое использует wxWidgets wxListView отображать клиента с его адресом улицы. Цель состоит в том, чтобы получить координаты GPS из адреса (геокодирование) через веб-сервис, который реали…
1 ответ

Как обработать XML с помощью XmlLite, возвращаемого casablanca (PPL) http_client?

Я хочу сделать запрос к веб-службе, получить содержимое XML и проанализировать его, чтобы получить конкретные значения, возвращаемые службой. Код должен быть написан на родном C++11 (MS Visual Studio 2013). Библиотека Cassablanca PPL была выбрана. Д…
28 май '14 в 08:14
0 ответов

WinRT WRL WinRtClassicComMix и IAsyncOperation завершается неудачно

У меня есть компонент C++ WinRT, который является WinRtClassicComMix. Я хочу определить метод, который возвращает пользовательский класс через IAsyncOperation к вызывающему коду C# или WinJS. Все работает нормально, когда IAsyncAction используется б…
19 дек '13 в 16:21
0 ответов

Параллельная агрегация коллекции с использованием PPL или TBB

Я решил написать алгоритм для использования параллельной агрегации. Вот однопоточный код, который я хочу преобразовать. vector&lt;vector&lt;double&gt;&gt; sum; for (const auto* fold : _obj.GetFolds()) sum.push_back(move(vector&lt;double&gt;(fold-&gt…
2 ответа

В VC++ PPL как создать метод, возвращающий задачи, который возвращает синхронно?

Рассмотрим следующий код C#: async Task DoSomethingAsync() { if (m_f) return; await DoSomethingInternalAsync(); } Компилятор превращает это в вызов, возвращающий задачу, где, если m_f имеет значение true, задача завершается немедленно, а если нет, о…
0 ответов

Не удалось установить gcc46! Не могу построить госзакупки

Xcode установлен. Версия 4.3. Я хочу установить gcc4.6. Поэтому я запускаю эту команду, но она кажется неправильной с ppl. Я не знаю, как это решить. Кто-нибудь встречал эту проблему. Благодарю. StevenmatoMac-mini:~ steven$ sudo port install gcc46 +…
15 мар '12 в 13:56