Форум программистов, компьютерный форум CyberForum.ru

tbb parallel_for чтение одного участка памяти разными потоками - C++

Восстановить пароль Регистрация
 
Gorillych
14 / 14 / 1
Регистрация: 04.07.2013
Сообщений: 76
05.07.2013, 11:18     tbb parallel_for чтение одного участка памяти разными потоками #1
Добрый день.
Предположим, нужно распараллелить свертку одного и того же изображения разными фильтрами (использую tbb:: parallel_for)- в каждом потоке выполняется свертка своим фильтром. Проблема в том, что разные потоки обращаются на чтение к одному и тому же участку памяти - массиву с исходным изображением. Повлияет ли это на производительность?
В CUDA bank conflicts можно разрешить, например, правильно раскидав исходный массив по shared memory. А как быть с CPU? Не создавать же отдельную копию исходного массива для каждого потока? Это хардкод и вряд ли эффективно в плане производительности.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2013, 11:18     tbb parallel_for чтение одного участка памяти разными потоками
Посмотрите здесь:

C++ Чтение строки из памяти
C++ чтение из памяти
C++ библиотека TBB )
Копирование текста начиная с одного слова до определенного участка C++
Чтение участка памяти C++
Чтение памяти невозможно C++
Распараллеливание программы с библиотекой TBB C++
C++ Чтение и запись из одного файла

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gorillych
14 / 14 / 1
Регистрация: 04.07.2013
Сообщений: 76
07.07.2013, 12:26  [ТС]     tbb parallel_for чтение одного участка памяти разными потоками #2
Проблема решается либо использованием std::atomic, либо tbb::concurrent_vector. Последний вариант в моем случае по скорости оказался наиболее эффективным.
Yandex
Объявления
07.07.2013, 12:26     tbb parallel_for чтение одного участка памяти разными потоками
Ответ Создать тему
Опции темы

Текущее время: 07:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru