リンクを取得
|
トピックを同期
インテル® スレッディング・ビルディング・ブロック (インテル® TBB) ドキュメント
著作権と商標について
ヘルプとサポートについて
インテル® TBB について
インテル® TBB の利点
表記規則
インテル® TBB ユーザーガイド
パッケージの内容
デバッグ・ライブラリーとリリース・ライブラリー
スケラーブル・メモリー・アロケーター
Windows*
Microsoft* Visual Studio* のコードサンプル
Microsoft* Visual Studio* プロジェクト用統合プラグイン
Linux*
OS X*
オープンソース・バージョン
単純なループの並列化
ライブラリーの初期化と終了
parallel_for
ラムダ式
自動チャンク
チャンクの制御
帯域幅とキャッシュ・アフィニティー
パーティショナーのまとめ
parallel_reduce
高度なサンプル
高度なトピック: 異なる種類の反復空間
複雑なループの並列化
完了までの並列化: parallel_do
組み立てラインでの作業: パイプライン
循環バッファーの使用
パイプラインの処理能力
非線形パイプライン
ループとパイプラインのまとめ
例外とキャンセル
例外なしのキャンセル
キャンセルと入れ子の並列処理
コンテナー
concurrent_hash_map
HashCompare の詳細
concurrent_vector
高度な表現方法: 要素での待機
並列キュークラス
デバッグ目的の並列キュー上での反復
キューを使用するべきではない状況
コンテナーのまとめ
排他制御
Mutex の特性
リーダー/ライター mutex
アップグレード/ダウングレード
ロックの問題
アトミック操作
atomic<T> にコンストラクターがない理由
メモリーの一貫性
タイミング
メモリー割り当て
使用するダイナミック・ライブラリー
動的メモリー割り当て用の malloc とその他の C/C++ 関数の自動置換
Linux* C/C++ 動的メモリー・インターフェイスの置換
Windows* C/C++ 動的メモリー・インターフェイスの置換
タスク・スケジューラー
タスクベースのプログラミング
タスクベースのプログラミングが適切ではない場合
簡単な例: フィボナッチ数
タスク・スケジューリングの動作
役立つタスク手法
再帰連鎖反応
継続渡し
スケジューラーのバイパス
再利用
空のタスク
タスクの一般的な非循環グラフ
タスク・スケジューラーのまとめ
デザインパターン
凝集化
要素単位
奇偶通信
ウェーブフロント
リダクション
分割統治
GUI スレッド
ノンプリエンプティブな優先度
ローカル・シリアライザー
フェンス付きデータ転送
遅延初期化
参照カウント
CAS (コンペアー・アンド・スワップ) ループ
全般的な参考文献
付録 A: タイムスライスのコスト
付録 B: その他のスレッドパッケージとの併用
参考文献
インテル® TBB リファレンス・マニュアル
一般的な規則
用語
識別子
名前空間
スレッドセーフ
環境
バージョン情報
デバッグ機能の有効化
機能マクロ
アルゴリズム
分割可能コンセプト
split クラス
Range コンセプト
blocked_range テンプレート・クラス
blocked_range( Value begin, Value end, size_t grainsize=1 )
blocked_range( blocked_range& range, split )
blocked_range2d テンプレート・クラス
blocked_range3d テンプレート・クラス
パーティショナー
auto_partitioner クラス
affinity_partitioner クラス
simple_partitioner クラス
parallel_for テンプレート関数
parallel_reduce テンプレート関数
parallel_deterministic_reduce テンプレート関数
parallel_scan テンプレート関数
pre_scan_tag クラスと final_scan_tag クラス
parallel_do テンプレート関数
parallel_do_feeder<Item> クラス>
parallel_for_each テンプレート関数
pipeline クラス
filter クラス
thread_bound_filter クラス
parallel_pipeline 関数
filter_t テンプレート・クラス
flow_control クラス
parallel_sort テンプレート関数
parallel_invoke テンプレート関数
コンテナー
Container Range コンセプト
concurrent_unordered_map テンプレート・クラス
構築、破棄、コピー
サイズおよびキャパシティー
イテレーター
修飾子
オブザーバー
ルックアップ
並列反復
バケットのインターフェイス
ハッシュポリシー
concurrent_unordered_set テンプレート・クラス
構築、破棄、コピー
サイズおよびキャパシティー
イテレーター
修飾子
オブザーバー
ルックアップ
並列反復
バケットのインターフェイス
ハッシュポリシー
concurrent_hash_map テンプレート・クラス
テーブル全体の操作
同時アクセス
並列操作
並列反復
キャパシティー
イテレーター
グローバル関数
tbb_hash_compare クラス
concurrent_queue テンプレート・クラス
concurrent_bounded_queue テンプレート・クラス
concurrent_priority_queue テンプレート・クラス
concurrent_vector テンプレート・クラス
構築、コピー、および代入
ベクトル全体の操作
同時拡張
アクセス
並列反復
キャパシティー
イテレーター
フローグラフ
主要コンポーネント
メッセージ・パッシング・プロトコル
ボディー・オブジェクト
依存関係フローグラフの例
メッセージ・フローグラフの例
graph クラス
sender テンプレート・クラス
receiver テンプレート・クラス
continue_msg クラス
continue_receiver クラス
graph_node クラス
continue_node テンプレート・クラス
function_node テンプレート・クラス
source_node クラス
multifunction_node テンプレート・クラス
overwrite_node テンプレート・クラス
write_once_node テンプレート・クラス
broadcast_node テンプレート・クラス
buffer_node クラス
queue_node テンプレート・クラス
priority_queue_node テンプレート・クラス
sequencer_node テンプレート・クラス
limiter_node テンプレート・クラス
join_node テンプレート・クラス
split_node テンプレート・クラス
input_port テンプレート関数
make_edge テンプレート関数
remove_edge テンプレート関数
copy_body テンプレート関数
スレッド・ローカル・ストレージ
combinable テンプレート・クラス
enumerable_thread_specific テンプレート・クラス
コンテナー全体の操作
並列操作
組み合わせ
並列反復
イテレーター
flattened2d テンプレート・クラス
コンテナー全体の操作
並列操作
イテレーター
ユーティリティー関数
メモリー割り当て
Allocator コンセプト
tbb_allocator テンプレート・クラス
scalable allocator テンプレート・クラス
スケーラブル・アロケーターの C インターフェイス
cache_aligned_allocator テンプレート・クラス
zero_allocator テンプレート・クラス
aligned_space テンプレート・クラス
同期
mutex
Mutex コンセプト
mutex クラス
recursive_mutex クラス
spin_mutex クラス
queuing_mutex クラス
ReaderWriterMutex コンセプト
spin_rw_mutex クラス
queuing_rw_mutex クラス
null_mutex クラス
null_rw_mutex クラス
atomic テンプレート・クラス
PPL との互換性
critical_section
reader_writer_lock クラス
C++11 の同期
タイミング
tick_count クラス
static tick_count tick_count::now
tick_count::interval_t operator
tick_count::interval_t クラス
タスクグループ
task_group クラス
タスクグループ
task_group_status 列挙値
task_handle テンプレート・クラス
make_task テンプレート関数
structured_task_group クラス
is_current_task_group_canceling 関数
タスク・スケジューラー
スケジューリング・アルゴリズム
task_scheduler_init クラス
task_scheduler_init max_threads
task_scheduler_init
task クラス
タスクの派生
タスク割り当て
明示的なタスクの破棄
タスクの再利用
同期
タスクのコンテキスト
キャンセル
優先度
アフィニティー
タスクのデバッグ
empty_task クラス
task_list クラス
task_group_context
task_group_context のメンバー
task_scheduler_observer クラス
task_scheduler_observer のメンバー
推奨するタスクパターンのカタログ
例外
tbb_exception
captured_exception
movable_exception<ExceptionData>
固有の例外
スレッド
thread クラス
thread クラスのメンバー
thread::id
this_thread 名前空間
付録
互換性機能
parallel_while テンプレート・クラス
パイプライン・フィルター構築用のインターフェイス
デバッグマクロ
tbb::deprecated::concurrent_queue<T,Alloc> テンプレート・クラス
concurrent_vector のインターフェイス
task クラスのインターフェイス
tbb_thread クラス
PPL との互換性
既知の問題
Windows*
コミュニティー・プレビュー機能
コミュニティー・プレビュー機能について
コミュニティー・プレビュー機能の有効化
フローグラフ
or_node テンプレート・クラス
ランタイムローダー
runtime_loader クラス
error_code load(char const * path[],int min_ver = TBB_INTERFACE_VERSION, int max_ver = INT_MAX)
スケーラブル・メモリープール
memory_pool テンプレート・クラス
fixed_pool クラス
memory_pool_allocator テンプレート・クラス
シリアルサブセット
tbb::serial::parallel_for()
concurrent_lru_cache テンプレート・クラス
handle_object クラス
aggregator クラス
aggregator クラスの基本インターフェイス
aggregator クラスの高度なインターフェイス
task_arena クラス
task_scheduler_observer クラスの拡張