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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить точки пересечения круга и прямоугольника http://www.cyberforum.ru/cpp-beginners/thread918051.html
Помогите, пожалуйста!( Даны вещественные числа x1, y1, r, x2, y2, x3, y3. Определите, существуют ли общие точки у круга с центром в точке (x1, y1) и радиусом r и у области, ограниченной прямоугольником, стороны которого параллельны или перпендикулярны осям координат, а (x2, y2) и (x3, y3) – координаты его противоположных вершин. Ввод В первой строке содержатся три вещественных числа...
C++ Демонстрационная программа сортировки методом «пузырек» Демонстрационная программа сортировки методом «пузырек» Размер массива не превышает 40 и задается с клавиатуры. Заполнение массива с помощью датчика случайных чисел, из файла или с клавиатуры по выбору пользователя. Имя файла задается пользователем. Элементы массива целые неотрицательные числа. При заполнении с помощью датчика случайных чисел максимальное значение элементов массива задается с... http://www.cyberforum.ru/cpp-beginners/thread918036.html
fatal error LNK1169: one or more multiply defined symbols found C++
Доброго всем времени суток! Никак не могу разобраться в чём дело... Помогите пожалуйста! stdafx.h #pragma once #include "targetver.h" #include <stdio.h> #include <tchar.h>
C++ Сформулируйте, что такое разделитель операторов и где он ставится
Я интуитивно понимаю, в своих программах всегда ставлю, где надо, но словами написать не могу. А нужен полностью формализованный абзац, где и зачем ставится точка с запятой.
C++ Порядок вызова конструкторов/деструкторов http://www.cyberforum.ru/cpp-beginners/thread918008.html
Вопрос чисто теоретический. Попробую сформулировать, не ругайте если получится коряво. Например, есть некий класс для писанины в лог, который в конструкторе открывает файл, а в деструкторе его закрывает. Ну какнибудь, примерно так: void _PrintLog(char*str); class CLOG { public: FILE logfile; CLOG(){logfile=fopen("некийфайл.txt", "r");}; ~CLOG(){fclose(logfile)};
C++ Как сохранить\прочитать контейнер в бинарный файл ostream_iterator<string, char> out(cout, "\n"); set<string> mat; set<string> pat; string temp; cout << "Input Mat's friends:\n"; while (getline(cin, temp) && temp != "quit") mat.insert(temp); ofstream fout("mat.dat", ios_base::out | ios_base::app | ios_base::binary); fout.write((char *) &mat, sizeof mat); подробнее

Показать сообщение отдельно
Gorillych
14 / 14 / 1
Регистрация: 04.07.2013
Сообщений: 76

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

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

Добрый день.
Предположим, нужно распараллелить свертку одного и того же изображения разными фильтрами (использую tbb:: parallel_for)- в каждом потоке выполняется свертка своим фильтром. Проблема в том, что разные потоки обращаются на чтение к одному и тому же участку памяти - массиву с исходным изображением. Повлияет ли это на производительность?
В CUDA bank conflicts можно разрешить, например, правильно раскидав исходный массив по shared memory. А как быть с CPU? Не создавать же отдельную копию исходного массива для каждого потока? Это хардкод и вряд ли эффективно в плане производительности.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru