var searchData=
[
  ['edge_0',['Pitfall 3: Deadlock from Strong Back-edge',['../ConditionalTasking.html#PitfallDeadlock',1,'']]],
  ['edit_20the_20documentation_1',['How Can I Edit the Documentation?',['../guidelines.html#HowCanIEditTheDocumentation',1,'']]],
  ['effort_2',['Effort',['../opentimer.html#UseCaseOpenTimerProgrammingEffort',1,'Programming Effort'],['../dreamplace.html#UseCasesDreamPlaceProgrammingEffort',1,'Programming Effort']]],
  ['element_3',['Element',['../ParallelFind.html#ParallelFindMaxElement',1,'Find the Maximum Element'],['../ParallelFind.html#ParallelFindMinElement',1,'Find the Minimum Element']]],
  ['else_20control_20flow_4',['Implement If-Else Control Flow',['../ConditionalTasking.html#ImplementIfElseControlFlow',1,'']]],
  ['emplace_5',['emplace',['../classtf_1_1FlowBuilder.html#a4d52a7fe2814b264846a2085e931652c',1,'tf::FlowBuilder::emplace(C &amp;&amp;callable)'],['../classtf_1_1FlowBuilder.html#a4d52a7fe2814b264846a2085e931652c',1,'tf::FlowBuilder::emplace(C &amp;&amp;callable)'],['../classtf_1_1FlowBuilder.html#a4d52a7fe2814b264846a2085e931652c',1,'tf::FlowBuilder::emplace(C &amp;&amp;callable)'],['../classtf_1_1FlowBuilder.html#a4d52a7fe2814b264846a2085e931652c',1,'tf::FlowBuilder::emplace(C &amp;&amp;callable)'],['../classtf_1_1FlowBuilder.html#a4d52a7fe2814b264846a2085e931652c',1,'tf::FlowBuilder::emplace(C &amp;&amp;callable)'],['../classtf_1_1FlowBuilder.html#a32d7fbe419313cbadaafe60e8c7315a6',1,'tf::FlowBuilder::emplace(C &amp;&amp;... callables)'],['../classtf_1_1FlowBuilder.html#a7954beb50450198ac18f647216941f1f',1,'tf::FlowBuilder::emplace(T &amp;object)'],['../classtf_1_1FlowBuilder.html#aa79a84aac17e17f9d52d574f88158841',1,'tf::FlowBuilder::emplace(Graph &amp;&amp;graph)']]],
  ['empty_6',['empty',['../classtf_1_1Graph.html#a30750e1be2657e491854791cd3afff06',1,'tf::Graph::empty()'],['../classtf_1_1UnboundedWSQ.html#a005abeb0ab8c65d4c98f7eafec46bd9e',1,'tf::UnboundedWSQ::empty()'],['../classtf_1_1BoundedWSQ.html#af964a4e19b8f9791086d97dd805dfdcf',1,'tf::BoundedWSQ::empty()'],['../classtf_1_1Task.html#a8149edcf9ec2bfac18dd171f7a55ce06',1,'tf::Task::empty()'],['../classtf_1_1AsyncTask.html#ae42c70dc0c5edc6d58f47b346125fca3',1,'tf::AsyncTask::empty()'],['../classtf_1_1Taskflow.html#a224301842d94c44fd7fe99d8ac2ba241',1,'tf::Taskflow::empty()'],['../classtf_1_1cudaGraphBase.html#a585b00b8f12e75cbea6405fa32bc2819',1,'tf::cudaGraphBase::empty()']]],
  ['empty_5fbox_7',['empty_box',['../classtf_1_1IndexRanges.html#ab4c515e2bc633f5a99e8f60db041046e',1,'tf::IndexRanges']]],
  ['empty_5fvalue_8',['empty_value',['../classtf_1_1UnboundedWSQ.html#abd33a82897356247c6cb4745003d4136',1,'tf::UnboundedWSQ::empty_value()'],['../classtf_1_1BoundedWSQ.html#a97bbadef093d7518b88c62bc3de85b47',1,'tf::BoundedWSQ::empty_value()']]],
  ['enable_20taskflow_20profiler_9',['Enable Taskflow Profiler',['../Profiler.html#ProfilerEnableTFProf',1,'']]],
  ['encoding_20the_20loop_20as_20a_20condition_20task_10',['Encoding the Loop as a Condition Task',['../ExamplesBFS.html#BFSConditionTask',1,'']]],
  ['end_11',['end',['../classtf_1_1IndexRanges.html#a253e15e199f974ee26b2e33a5e2b3cf1',1,'tf::IndexRanges::end() const'],['../classtf_1_1IndexRanges.html#a50df0293ba01b851259005e9b6855607',1,'tf::IndexRanges::end(T new_end)'],['../classtf_1_1Graph.html#a55cb9bcb9a1152943b7bcb2a7549fe81',1,'tf::Graph::end()'],['../classtf_1_1Graph.html#a2b7600f1d304c53a72d3af08c300ff4a',1,'tf::Graph::end() const']]],
  ['end_5fcapture_12',['end_capture',['../classtf_1_1cudaStreamBase.html#a4c23849c994f6e797bb547f6229a55e3',1,'tf::cudaStreamBase']]],
  ['engine_13',['DreamPlace: GPU-accelerated Placement Engine',['../dreamplace.html#UseCasesDreamPlace',1,'']]],
  ['enhancements_14',['Enhancements',['../release-2-1-0.html#release-2-1-0_improvements_enhancements',1,'Improvements and Enhancements'],['../release-2-0-0.html#release-2-0-0_improvements_enhancements',1,'Improvements and Enhancements']]],
  ['enough_15',['When Static Task Graphs Are Not Enough',['../DependentAsyncTasking.html#WhenStaticTaskGraphsAreNotEnough',1,'']]],
  ['epoch_5fbits_16',['EPOCH_BITS',['../classtf_1_1NonblockingNotifier.html#a4e6bdfc8b93ffbb88f4f811f2fb5f54f',1,'tf::NonblockingNotifier']]],
  ['epoch_5finc_17',['EPOCH_INC',['../classtf_1_1NonblockingNotifier.html#a83ef7436b6dd7586f5fdb1c6145b3239',1,'tf::NonblockingNotifier']]],
  ['epoch_5fmask_18',['EPOCH_MASK',['../classtf_1_1NonblockingNotifier.html#a68b8c94b6c2ef69e54bf27c76277ddc3',1,'tf::NonblockingNotifier']]],
  ['epoch_5fshift_19',['EPOCH_SHIFT',['../classtf_1_1NonblockingNotifier.html#a36db9cce61b1b84d9739325c506de622',1,'tf::NonblockingNotifier']]],
  ['erase_20',['erase',['../classtf_1_1FlowBuilder.html#a5627f7962099ac7c4986993cffa7b909',1,'tf::FlowBuilder']]],
  ['example_21',['Example',['../ConditionalTasking.html#TaskLevelSchedulingExample',1,'Example'],['../ExamplesDivideAndConquer.html#DivideAndConquerMergeSort',1,'Merge Sort Example']]],
  ['example_201_3a_20iterate_20a_20pipeline_22',['Example 1: Iterate a Pipeline',['../TaskParallelPipeline.html#IterateAPipeline',1,'']]],
  ['example_202_3a_20concatenate_20two_20pipelines_23',['Example 2: Concatenate Two Pipelines',['../TaskParallelPipeline.html#ConcatenateTwoPipelines',1,'']]],
  ['example_203_3a_20define_20multiple_20parallel_20pipelines_24',['Example 3: Define Multiple Parallel Pipelines',['../TaskParallelPipeline.html#DefineMultipleTaskParallelPipelines',1,'']]],
  ['example_20where_20b_20spawns_20a_20joined_20subflow_20of_20three_20tasks_20b1_20b2_20and_20b3_20do_20they_20run_20concurrently_20with_20task_20a_25',['Q6: In the following example where B spawns a joined subflow of three tasks B1, B2, and B3, do they run concurrently with task A?',['../FAQ.html#ProgrammingQuestions6',1,'']]],
  ['examples_26',['Learning from Examples',['../Examples.html',1,'']]],
  ['examples_20and_20unit_20tests_27',['Examples and Unit Tests',['../install.html#BAIBuildCUDACode',1,'Build CUDA Examples and Unit Tests'],['../install.html#BAIBuildExamplesAndUnitTests',1,'Build Examples and Unit Tests']]],
  ['exception_20from_20a_20corun_20loop_28',['Catch an Exception from a Corun Loop',['../ExceptionHandling.html#ExceptionHandlingCorun',1,'']]],
  ['exception_20from_20a_20running_20taskflow_29',['Catch an Exception from a Running Taskflow',['../ExceptionHandling.html#ExceptionHandlingRunningTaskflow',1,'']]],
  ['exception_20from_20a_20subflow_30',['Catch an Exception from a Subflow',['../ExceptionHandling.html#ExceptionHandlingSubflow',1,'']]],
  ['exception_20from_20an_20async_20task_31',['Catch an Exception from an Async Task',['../ExceptionHandling.html#ExceptionHandlingAsyncTask',1,'']]],
  ['exception_20handling_32',['Exception Handling',['../ExceptionHandling.html',1,'Cookbook']]],
  ['exception_20handling_20at_20compile_20time_33',['Disable Exception Handling at Compile Time',['../ExceptionHandling.html#DisableExceptionHandling',1,'']]],
  ['exception_20handling_20is_20hard_34',['Why Parallel Exception Handling is Hard',['../ExceptionHandling.html#ExceptionHandlingWhyHard',1,'']]],
  ['exception_20pointer_20of_20a_20task_35',['Retrieve the Exception Pointer of a Task',['../ExceptionHandling.html#RetrieveTheExceptionPointerOfATask',1,'']]],
  ['exception_5fptr_36',['exception_ptr',['../classtf_1_1Task.html#a2f893050f81e40b12df4209bce4fa66b',1,'tf::Task::exception_ptr()'],['../classtf_1_1AsyncTask.html#aace6e20ee4cb6f82812cf498d0d9828f',1,'tf::AsyncTask::exception_ptr()']]],
  ['exceptions_37',['How Taskflow Handles Exceptions',['../ExceptionHandling.html#ExceptionHandlingLogic',1,'']]],
  ['exclusive_20scan_20task_38',['Exclusive Scan Task',['../ParallelScan.html#ParallelScanExclusive',1,'Create a Parallel Exclusive Scan Task'],['../ParallelScan.html#ParallelScanTransformExclusive',1,'Create a Parallel Transform-Exclusive Scan Task']]],
  ['exclusive_5fscan_39',['exclusive_scan',['../classtf_1_1FlowBuilder.html#a4e0d618d8eb0b3b2e5e00443a10bf512',1,'tf::FlowBuilder']]],
  ['executable_20cuda_20graph_40',['Update an Executable CUDA Graph',['../GPUTasking.html#UpdateAnExecutableCUDAGraph',1,'']]],
  ['execute_20a_20taskflow_41',['Execute a Taskflow',['../ExecuteTaskflow.html#ExecuteATaskflow',1,'']]],
  ['execute_20a_20taskflow_20from_20an_20internal_20worker_20cooperatively_42',['Execute a Taskflow from an Internal Worker Cooperatively',['../ExecuteTaskflow.html#ExecuteATaskflowFromAnInternalWorker',1,'']]],
  ['execute_20a_20taskflow_20with_20transferred_20ownership_43',['Execute a Taskflow with Transferred Ownership',['../ExecuteTaskflow.html#ExecuteATaskflowWithTransferredOwnership',1,'']]],
  ['execution_44',['Execution',['../ExamplesAsyncProducerConsumer.html#AsyncProducerConsumerIsDone',1,'Conditional Consumption with Cooperative Execution'],['../RuntimeTasking.html#IssueCooperativeExecution',1,'Issue Cooperative Execution'],['../DependentAsyncTasking.html#QueryTheCompletionStatusOfDependentAsyncTasks',1,'Query Completion Status with Cooperative Execution'],['../ExamplesSpeculativeExecution.html',1,'Speculative Execution'],['../TaskGroup.html#SubmitAsynchronousTasksWithCooperativeExecution',1,'Submit Asynchronous Tasks with Cooperative Execution']]],
  ['execution_20order_45',['Understand the Execution Order',['../ExecuteTaskflow.html#UnderstandTheExecutionOrder',1,'']]],
  ['execution_20timeline_46',['Execution Timeline',['../Profiler.html#ProfilerTimeline',1,'']]],
  ['executor_47',['Executor',['../DependentAsyncTasking.html#CreateADynamicTaskGraph',1,'Create a Dynamic Task Graph from an Executor'],['../ExecuteTaskflow.html#CreateAnExecutor',1,'Create an Executor'],['../classtf_1_1Executor.html',1,'tf::Executor'],['../classtf_1_1Executor.html#a860297ba5dbd38e29198b65181b4a3e8',1,'tf::Executor::Executor()'],['../ExecuteTaskflow.html',1,'Executor'],['../AsyncTasking.html#LaunchAsynchronousTasksFromAnExecutor',1,'Launch Async Tasks from an Executor'],['../index.html#QuickStartRunATaskflowThroughAnExecution',1,'Run a Taskflow through an Executor'],['../ExecuteTaskflow.html#ThreadSafetyOfExecution',1,'Thread Safety of Executor'],['../ExecuteTaskflow.html#UnderstandWorkStealingInExecutor',1,'Understand Work Stealing in Executor']]],
  ['executor_48',['executor',['../classtf_1_1Subflow.html#a2cc0c8db3ce5e9ef985d61bd5d839510',1,'tf::Subflow::executor()'],['../classtf_1_1Runtime.html#a4ee48a82df1f9758a999d18e6015cec4',1,'tf::Runtime::executor()'],['../classtf_1_1TaskGroup.html#ac39e984ac576ff1e959059abd7b57aa5',1,'tf::TaskGroup::executor()']]],
  ['executor_20filter_49',['Executor Filter',['../Profiler.html#ProfilerExecutorFilter',1,'']]],
  ['executor_20statistics_50',['Executor Statistics',['../Profiler.html#ProfilerExecutorStats',1,'']]],
  ['executor_20thread_20safe_51',['Q4: Is executor thread-safe?',['../FAQ.html#ProgrammingQuestions4',1,'']]],
  ['executors_52',['Multiple Executors',['../Profiler.html#ProfilerTipsMultiExecutor',1,'']]],
  ['existing_20task_20programming_20systems_53',['Q9: How does it compare to existing task programming systems?',['../FAQ.html#GeneralQuestion9',1,'']]],
  ['explicitly_54',['Join a Subflow Explicitly',['../SubflowTasking.html#JoinASubflow',1,'']]],
  ['extension_20to_20ternary_20coins_55',['Extension to Ternary Coins',['../ExamplesNondeterministicControlFlow.html#CoinFlippingTernary',1,'']]]
];
