Skip to content

Commit 0769283

Browse files
integrate with the documentation
1 parent d8ca970 commit 0769283

299 files changed

Lines changed: 15807 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/Cookbook.html

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
<!-- HTML header for doxygen 1.8.13-->
2+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3+
<html xmlns="http://www.w3.org/1999/xhtml">
4+
<head>
5+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7+
<meta name="generator" content="Doxygen 1.8.13"/>
8+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
9+
<title>Cpp-Taskflow</title>
10+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
11+
<link rel="icon" type="image/x-icon" href="favicon.ico" />
12+
<script type="text/javascript" src="jquery.js"></script>
13+
<script type="text/javascript" src="dynsections.js"></script>
14+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
15+
<script type="text/javascript" src="resize.js"></script>
16+
<script type="text/javascript" src="navtreedata.js"></script>
17+
<script type="text/javascript" src="navtree.js"></script>
18+
<script type="text/javascript">
19+
$(document).ready(initResizable);
20+
</script>
21+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
22+
<script type="text/javascript" src="search/searchdata.js"></script>
23+
<script type="text/javascript" src="search/search.js"></script>
24+
<script type="text/javascript">
25+
$(document).ready(function() { init_search(); });
26+
</script>
27+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
28+
</head>
29+
<body>
30+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
31+
<div id="titlearea">
32+
<table cellspacing="0" cellpadding="0">
33+
<tbody>
34+
<tr style="height: 56px;">
35+
<td id="projectalign" style="padding-left: 0.5em;">
36+
<div id="projectname"><a href="https://github.com/cpp-taskflow/cpp-taskflow">Cpp-Taskflow</a>
37+
&#160;<span id="projectnumber">2.0.0</span>
38+
</div>
39+
</td>
40+
<td> <div id="MSearchBox" class="MSearchBoxInactive">
41+
<span class="left">
42+
<img id="MSearchSelect" src="search/mag_sel.png"
43+
onmouseover="return searchBox.OnSearchSelectShow()"
44+
onmouseout="return searchBox.OnSearchSelectHide()"
45+
alt=""/>
46+
<input type="text" id="MSearchField" value="Search" accesskey="S"
47+
onfocus="searchBox.OnSearchFieldFocus(true)"
48+
onblur="searchBox.OnSearchFieldFocus(false)"
49+
onkeyup="searchBox.OnSearchFieldChange(event)"/>
50+
</span><span class="right">
51+
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
52+
</span>
53+
</div>
54+
</td>
55+
</tr>
56+
</tbody>
57+
</table>
58+
</div>
59+
<!-- end header part -->
60+
<!-- Generated by Doxygen 1.8.13 -->
61+
<script type="text/javascript">
62+
var searchBox = new SearchBox("searchBox", "search",false,'Search');
63+
</script>
64+
</div><!-- top -->
65+
<div id="side-nav" class="ui-resizable side-nav-resizable">
66+
<div id="nav-tree">
67+
<div id="nav-tree-contents">
68+
<div id="nav-sync" class="sync"></div>
69+
</div>
70+
</div>
71+
<div id="splitbar" style="-moz-user-select:none;"
72+
class="ui-resizable-handle">
73+
</div>
74+
</div>
75+
<script type="text/javascript">
76+
$(document).ready(function(){initNavTree('Cookbook.html','');});
77+
</script>
78+
<div id="doc-content">
79+
<!-- window showing the filter options -->
80+
<div id="MSearchSelectWindow"
81+
onmouseover="return searchBox.OnSearchSelectShow()"
82+
onmouseout="return searchBox.OnSearchSelectHide()"
83+
onkeydown="return searchBox.OnSearchSelectKey(event)">
84+
</div>
85+
86+
<!-- iframe showing the search results (closed by default) -->
87+
<div id="MSearchResultsWindow">
88+
<iframe src="javascript:void(0)" frameborder="0"
89+
name="MSearchResults" id="MSearchResults">
90+
</iframe>
91+
</div>
92+
93+
<div class="header">
94+
<div class="headertitle">
95+
<div class="title">Cookbook </div> </div>
96+
</div><!--header-->
97+
<div class="contents">
98+
<div class="textblock"><p>This cookbook provides a step-by-step tutorial for writing Cpp-Taskflow programs.</p>
99+
<p><a class="el" href="chapter0.html">C0: Project Motivation</a> <br />
100+
<a class="el" href="chapter1.html">C1: Understand the Task</a> <br />
101+
<a class="el" href="chapter2.html">C2: Dispatch a Task Dependency Graph</a> <br />
102+
<a class="el" href="chapter3.html">C3: Create a Parallel For-loop Graph</a> <br />
103+
<a class="el" href="chapter4.html">C4: Create a Parallel Reduction Graph</a> <br />
104+
<a class="el" href="chapter5.html">C5: Spawn Task Dependency Graphs at Runtime</a> <br />
105+
<a class="el" href="chapter6.html">C6: Manage Threads and Executor</a> <br />
106+
</p>
107+
</div></div><!-- contents -->
108+
</div><!-- doc-content -->
109+
<!-- start footer part -->
110+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
111+
<ul>
112+
<li class="footer">Generated by
113+
<a href="http://www.doxygen.org/index.html">
114+
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
115+
</ul>
116+
</div>
117+
</body>
118+
</html>

docs/Cookbook.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
var Cookbook =
2+
[
3+
[ "C0: Project Motivation", "chapter0.html", [
4+
[ "The Era of Multicore", "chapter0.html#TheEraOfMulticore", null ],
5+
[ "Loop-level Parallelism", "chapter0.html#LoopLevelParallelism", null ],
6+
[ "TaskBasedParallelism Task-based Parallelism", "chapter0.html#html", null ],
7+
[ "Challenges of Task-based Parallel Programming", "chapter0.html#ChallengesOfTaskBasedParallelProgramming", null ],
8+
[ "The Project Mantra", "chapter0.html#TheProjectMantra", null ]
9+
] ],
10+
[ "C1: Understand the Task", "chapter1.html", [
11+
[ "What is a Task?", "chapter1.html#WhatIsATask", null ],
12+
[ "Access the Result of a Task", "chapter1.html#AccessTheResultOfATask", null ],
13+
[ "Create Multiple Tasks at One Time", "chapter1.html#CreateMultipleTasksAtOneTime", null ],
14+
[ "Lifetime of A Task", "chapter1.html#LifetimeOfATask", null ],
15+
[ "Example 1: Create Multiple Dependency Graphs", "chapter1.html#C1Example1", null ],
16+
[ "Example 2: Modify Task Attributes", "chapter1.html#C1Example2", null ]
17+
] ],
18+
[ "C2: Dispatch a Task Dependency Graph", "chapter2.html", [
19+
[ "Graph and Topology", "chapter2.html#GraphAndTopology", null ],
20+
[ "Blocking Execution", "chapter2.html#BlockingExecution", null ],
21+
[ "Non-blocking Execution", "chapter2.html#NonBlockingExecution", null ],
22+
[ "Wait for Topologies", "chapter2.html#WaitForTopologies", null ],
23+
[ "Lifetime of a Graph", "chapter2.html#LifeTimeOfAGraph", null ],
24+
[ "Example 1: Multiple Dispatches", "chapter2.html#Chapter2Example1", null ],
25+
[ "Example 2: Connect Two Dependency Graphs", "chapter2.html#Chapter2Example2", null ]
26+
] ],
27+
[ "C3: Create a Parallel For-loop Graph", "chapter3.html", [
28+
[ "Range-based For-loop", "chapter3.html#RangeBasedForLoop", null ],
29+
[ "Partition the Workload Explicitly", "chapter3.html#PartitionTheWorkloadExplicitly", null ],
30+
[ "Construct the Graph Explicitly", "chapter3.html#ConstructTheGraphExplicitly", null ],
31+
[ "Index-based For-loop", "chapter3.html#IndexBasedForLoop", null ],
32+
[ "Example 1: Parallel Map", "chapter3.html#Chapter3Example1", null ],
33+
[ "Example 2: Pipeline a Parallel For-loop", "chapter3.html#Chapter3Example2", null ]
34+
] ],
35+
[ "C4: Create a Parallel Reduction Graph", "chapter4.html", [
36+
[ "Reduce a Range of Items to a Single Result", "chapter4.html#ReduceARangeOfItemsToASingleResult", null ],
37+
[ "Transform and Reduce", "chapter4.html#TransformAndReduce", null ],
38+
[ "Example 1: Find the Min/Max Element", "chapter4.html#Chapter4Example1", null ],
39+
[ "Example 2: Pipeline a Reduction Graph", "chapter4.html#Chapter4Example2", null ],
40+
[ "Example 3: Find the Minimum L1-norm", "chapter4.html#Chapter4Example3", null ]
41+
] ],
42+
[ "C5: Spawn Task Dependency Graphs at Runtime", "chapter5.html", [
43+
[ "Subflow", "chapter5.html#Subflow", null ],
44+
[ "Detach a Subflow", "chapter5.html#DetachASubflow", null ],
45+
[ "Nested Subflow", "chapter5.html#NestedSubflow", null ]
46+
] ],
47+
[ "C6: Manage Threads and Executor", "chapter6.html", [
48+
[ "Master, Workers, and Executor", "chapter6.html#C6_MasterWorkersAndExecutor", null ],
49+
[ "Share an Executor among Taskflow Objects", "chapter6.html#C6_ShareAnExecutorAmongTaskflowObjects", null ],
50+
[ "Customize Your Executor Interface", "chapter6.html#C6CustomizeYourExecutorInterface", null ],
51+
[ "Thread Safety", "chapter6.html#C6ThreadSafety", null ],
52+
[ "Example 1: Impact of Over-subscription", "chapter6.html#C6Example1", null ]
53+
] ]
54+
];

doc/Doxyfile renamed to docs/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1121,7 +1121,7 @@ GENERATE_HTML = YES
11211121
# The default directory is: html.
11221122
# This tag requires that the tag GENERATE_HTML is set to YES.
11231123

1124-
HTML_OUTPUT = html
1124+
HTML_OUTPUT = .
11251125

11261126
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
11271127
# generated HTML page (for example: .htm, .php, .asp).
File renamed without changes.

docs/annotated.html

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
<!-- HTML header for doxygen 1.8.13-->
2+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3+
<html xmlns="http://www.w3.org/1999/xhtml">
4+
<head>
5+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7+
<meta name="generator" content="Doxygen 1.8.13"/>
8+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
9+
<title>Cpp-Taskflow</title>
10+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
11+
<link rel="icon" type="image/x-icon" href="favicon.ico" />
12+
<script type="text/javascript" src="jquery.js"></script>
13+
<script type="text/javascript" src="dynsections.js"></script>
14+
<link href="navtree.css" rel="stylesheet" type="text/css"/>
15+
<script type="text/javascript" src="resize.js"></script>
16+
<script type="text/javascript" src="navtreedata.js"></script>
17+
<script type="text/javascript" src="navtree.js"></script>
18+
<script type="text/javascript">
19+
$(document).ready(initResizable);
20+
</script>
21+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
22+
<script type="text/javascript" src="search/searchdata.js"></script>
23+
<script type="text/javascript" src="search/search.js"></script>
24+
<script type="text/javascript">
25+
$(document).ready(function() { init_search(); });
26+
</script>
27+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
28+
</head>
29+
<body>
30+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
31+
<div id="titlearea">
32+
<table cellspacing="0" cellpadding="0">
33+
<tbody>
34+
<tr style="height: 56px;">
35+
<td id="projectalign" style="padding-left: 0.5em;">
36+
<div id="projectname"><a href="https://github.com/cpp-taskflow/cpp-taskflow">Cpp-Taskflow</a>
37+
&#160;<span id="projectnumber">2.0.0</span>
38+
</div>
39+
</td>
40+
<td> <div id="MSearchBox" class="MSearchBoxInactive">
41+
<span class="left">
42+
<img id="MSearchSelect" src="search/mag_sel.png"
43+
onmouseover="return searchBox.OnSearchSelectShow()"
44+
onmouseout="return searchBox.OnSearchSelectHide()"
45+
alt=""/>
46+
<input type="text" id="MSearchField" value="Search" accesskey="S"
47+
onfocus="searchBox.OnSearchFieldFocus(true)"
48+
onblur="searchBox.OnSearchFieldFocus(false)"
49+
onkeyup="searchBox.OnSearchFieldChange(event)"/>
50+
</span><span class="right">
51+
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
52+
</span>
53+
</div>
54+
</td>
55+
</tr>
56+
</tbody>
57+
</table>
58+
</div>
59+
<!-- end header part -->
60+
<!-- Generated by Doxygen 1.8.13 -->
61+
<script type="text/javascript">
62+
var searchBox = new SearchBox("searchBox", "search",false,'Search');
63+
</script>
64+
</div><!-- top -->
65+
<div id="side-nav" class="ui-resizable side-nav-resizable">
66+
<div id="nav-tree">
67+
<div id="nav-tree-contents">
68+
<div id="nav-sync" class="sync"></div>
69+
</div>
70+
</div>
71+
<div id="splitbar" style="-moz-user-select:none;"
72+
class="ui-resizable-handle">
73+
</div>
74+
</div>
75+
<script type="text/javascript">
76+
$(document).ready(function(){initNavTree('annotated.html','');});
77+
</script>
78+
<div id="doc-content">
79+
<!-- window showing the filter options -->
80+
<div id="MSearchSelectWindow"
81+
onmouseover="return searchBox.OnSearchSelectShow()"
82+
onmouseout="return searchBox.OnSearchSelectHide()"
83+
onkeydown="return searchBox.OnSearchSelectKey(event)">
84+
</div>
85+
86+
<!-- iframe showing the search results (closed by default) -->
87+
<div id="MSearchResultsWindow">
88+
<iframe src="javascript:void(0)" frameborder="0"
89+
name="MSearchResults" id="MSearchResults">
90+
</iframe>
91+
</div>
92+
93+
<div class="header">
94+
<div class="headertitle">
95+
<div class="title">Class List</div> </div>
96+
</div><!--header-->
97+
<div class="contents">
98+
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
99+
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
100+
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>tf</b></td><td class="desc"></td></tr>
101+
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1BasicTaskflow.html" target="_self">BasicTaskflow</a></td><td class="desc">The base class to derive a taskflow class </td></tr>
102+
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtf_1_1Error.html" target="_self">Error</a></td><td class="desc">The error category of taskflow </td></tr>
103+
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1FlowBuilder.html" target="_self">FlowBuilder</a></td><td class="desc">The building blocks of task dependency graphs </td></tr>
104+
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1ProactiveThreadpool.html" target="_self">ProactiveThreadpool</a></td><td class="desc">Executor that implements a centralized task queue with a proactive execution strategy </td></tr>
105+
<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1SimpleThreadpool.html" target="_self">SimpleThreadpool</a></td><td class="desc">Executor that implements a centralized task queue with a simple execution strategy </td></tr>
106+
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1SpeculativeThreadpool.html" target="_self">SpeculativeThreadpool</a></td><td class="desc">Executor that implements a centralized task queue with a speculative execution strategy </td></tr>
107+
<tr id="row_0_6_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1SubflowBuilder.html" target="_self">SubflowBuilder</a></td><td class="desc">The building blocks of dynamic tasking </td></tr>
108+
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1Task.html" target="_self">Task</a></td><td class="desc">Handle to modify and access a task </td></tr>
109+
<tr id="row_0_8_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1WorkStealingQueue.html" target="_self">WorkStealingQueue</a></td><td class="desc">Lock-free unbounded single-producer multiple-consumer queue </td></tr>
110+
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtf_1_1WorkStealingThreadpool.html" target="_self">WorkStealingThreadpool</a></td><td class="desc">Executor that implements an efficient work stealing algorithm </td></tr>
111+
</table>
112+
</div><!-- directory -->
113+
</div><!-- contents -->
114+
</div><!-- doc-content -->
115+
<!-- start footer part -->
116+
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
117+
<ul>
118+
<li class="footer">Generated by
119+
<a href="http://www.doxygen.org/index.html">
120+
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
121+
</ul>
122+
</div>
123+
</body>
124+
</html>

docs/annotated_dup.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
var annotated_dup =
2+
[
3+
[ "tf", null, [
4+
[ "BasicTaskflow", "classtf_1_1BasicTaskflow.html", "classtf_1_1BasicTaskflow" ],
5+
[ "Error", "structtf_1_1Error.html", "structtf_1_1Error" ],
6+
[ "FlowBuilder", "classtf_1_1FlowBuilder.html", "classtf_1_1FlowBuilder" ],
7+
[ "ProactiveThreadpool", "classtf_1_1ProactiveThreadpool.html", "classtf_1_1ProactiveThreadpool" ],
8+
[ "SimpleThreadpool", "classtf_1_1SimpleThreadpool.html", "classtf_1_1SimpleThreadpool" ],
9+
[ "SpeculativeThreadpool", "classtf_1_1SpeculativeThreadpool.html", "classtf_1_1SpeculativeThreadpool" ],
10+
[ "SubflowBuilder", "classtf_1_1SubflowBuilder.html", "classtf_1_1SubflowBuilder" ],
11+
[ "Task", "classtf_1_1Task.html", "classtf_1_1Task" ],
12+
[ "WorkStealingQueue", "classtf_1_1WorkStealingQueue.html", "classtf_1_1WorkStealingQueue" ],
13+
[ "WorkStealingThreadpool", "classtf_1_1WorkStealingThreadpool.html", "classtf_1_1WorkStealingThreadpool" ]
14+
] ]
15+
];
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)