oneapi-src / oneapi-src/oneAPI-samples

How to `parallel_reduce` a C++ map key or value?

オープン
#2,399 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

question
主要言語
C++
スター
1.2k
フォーク
745
PR マージ指標
30日以内にマージされた PR はありません

説明

I don't find it from google. How can I parallel_reduce either the key or value of a map? For example:

       map<T, size_t> counts;
	size_t count = parallel_reduce(
		blocked_range<pair<T, size_t>>(0, counts.size()), 0,
		[&](tbb::blocked_range<pair<T, size_t>> const &r, size_t running_total)
		{
			for (auto it = r.begin(); it != r.end(); it++)
				running_total += it->second;
			return running_total;
		},
		std::plus<pair<T, size_t>>());

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Issue の C++ 例から始めて、map のキーまたは値に対してどの parallel_reduce 操作が意図されているのかを特定してください。役立つ成果として、示されている counts map に対する正しい還元形式を説明し、必要な結果型と結合型を明確にできるとよいでしょう。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
developer-experience
issue の種類
ドキュメント
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。