Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Gorillych
14 / 14 / 1
Регистрация: 04.07.2013
Сообщений: 76
#1

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

05.07.2013, 11:18. Просмотров 433. Ответов 1
Метки нет (Все метки)

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

Чтение участка памяти - C++
Ищу, но не могу найти... Дело в том, что мне нужно в массиве выделять блоки по 4 элемента. Все было бы хорошо, если бы массив был бы у меня...

Освобождение участка памяти - C++
Добрый вечер. Подскажите, пожалуйста, где здесь ошибка. В разделе "После освобождения памяти" программа ничего не выдает. #include...

Копирование текста начиная с одного слова до определенного участка - C++
Как можно скопировать текст из текстовика, который находится, например, после "STR21=" до знака "&" ? Желательно, чтоб это было...

Список с разными типами данных, унаследованным от одного - C++
Доброго времени суток! У меня имеются унаследованные классы от одного , так же имеется vector<общий_тип*> arr. В программе создаются в...

Чтение предложений из текста, оканчивающихся разными пунктуационными знаками - C++
Как можно разбить текст на предложения, которые могу заканчиваться разными знаками( типо .?!;). getline в качестве разделения принимает...

Работа с потоками с разными приоритетами - C++ WinAPI
Дали такое задание: Напишите программу, которая создает один поток и позволяет пользователю изменять приоритет процесса и потока и...

1
Gorillych
14 / 14 / 1
Регистрация: 04.07.2013
Сообщений: 76
07.07.2013, 12:26  [ТС] #2
Проблема решается либо использованием std::atomic, либо tbb::concurrent_vector. Последний вариант в моем случае по скорости оказался наиболее эффективным.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2013, 12:26
Привет! Вот еще темы с ответами:

Общение между потоками с разными сокетами - C++
Здравствуйте! Недавно начал заниматься сокетами, возникла задача сделать так, чтобы каждый пользователь подключавшийся к серверу получал...

Подсчет статистики по файлу разными потоками - C#
Не смог до конца разобраться в коде. Делает ли код то, чего требует задание? Задание: Необходимо написать программу, ведущую подсчет...

Сложить 3 пары TextBox разными потоками - C#
Прошу помощи сам не разберусь, нужна программа которая будет складывать рандомно 3 пары TextBox разными потоками каждую пару с разной...

Автомобиль проехал 3 участка пути с разными скоростями. Найти среднюю скорость автомобиля. - Delphi
Линейные. 1). Составьте программу для вычисления кол-ва теплоты по формуле Q=cm(t2-t1). 2). Автомобиль проехал 3 участка пути с разными...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru