Интуитивное представление о требованиях к параллельному сканированию/параллельному префиксу TBBC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Интуитивное представление о требованиях к параллельному сканированию/параллельному префиксу TBB

Сообщение Anonymous »

Я читаю абзац об алгоритме tbb::parallel_scan из книги Intel Threading Building Blocks, и я понял, что операция делает последовательно, но я не понимаю, каковы требования к объекту body, описание в книге невероятно расплывчато, говоря, что алгоритм может выполнять 2 прохода по входным данным. Они упоминают операцию присваивания и операцию обратного_соединения.
Я пытаюсь понять, когда эти операции применяются и как они работают.
Это объект тела, передаваемый в параллельный_скан:

Код: Выделить всё

class Body {
T sum;
T* const y;
const T* const z;
public:
Body( T y_[], const T z_[] ) : sum(id), z(z_), y(y_) {}
T get_sum() const { return sum; }

template
void operator()( const oneapi::tbb::blocked_range& r, Tag ) {
T temp = sum;
for( int i=r.begin(); i

Подробнее здесь: [url]https://stackoverflow.com/questions/79819930/intuition-over-tbb-parallel-scan-parallel-prefix-requirements[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»