var searchData=
[
  ['tail_20recursion_20optimization_0',['Tail Recursion Optimization',['../ExamplesFibonacciNumber.html#TailRecursionOptimization',1,'']]],
  ['talk_20to_1',['Q12: Who is the Principal Investigator of Taskflow I can talk to?',['../FAQ.html#GeneralQuestion12',1,'']]],
  ['task_2',['Task',['../StaticTasking.html#AttachUserDataToATask',1,'Attach User Data to a Task'],['../ParallelTransforms.html#ParallelBinaryTransformsOverARange',1,'Create a Binary Parallel-Transform Task'],['../ConditionalTasking.html#CreateAConditionTask',1,'Create a Condition Task'],['../DataParallelPipeline.html#CreateADataPipelineModuleTask',1,'Create a Data Pipeline Module Task'],['../ConditionalTasking.html#CreateAMultiConditionTask',1,'Create a Multi-condition Task'],['../ParallelScan.html#CreateAParallelExclusiveScanTask',1,'Create a Parallel Exclusive Scan Task'],['../ParallelFind.html#CreateAParallelFindIfTask',1,'Create a Parallel Find-If Task'],['../ParallelFind.html#CreateAParallelFindIfNotTask',1,'Create a Parallel Find-If-Not Task'],['../ParallelScan.html#CreateAParallelInclusiveScanTask',1,'Create a Parallel Inclusive Scan Task'],['../ParallelScan.html#CreateAParallelTransformExclusiveScanTask',1,'Create a Parallel Transform-Exclusive Scan Task'],['../ParallelScan.html#CreateAParallelTransformInclusiveScanTask',1,'Create a Parallel Transform-Inclusive Scan Task'],['../ParallelReduction.html#A2ParallelReduction',1,'Create a Parallel-Reduction Task'],['../ParallelReduction.html#A2ParallelTransformationReduction',1,'Create a Parallel-Transform-Reduction Task'],['../ParallelReduction.html#ParallelReductionCreateAReduceByIndexTask',1,'Create a Reduce-by-Index Task'],['../RuntimeTasking.html#CreateARuntimeTask',1,'Create a Runtime Task'],['../ScalableTaskParallelPipeline.html#CreateAScalablePipelineModuleTask',1,'Create a Scalable Pipeline Module Task'],['../TaskParallelPipeline.html#CreateATaskParallelPipelineModuleTask',1,'Create a Task-parallel Pipeline Module Task'],['../ParallelTransforms.html#ParallelTransformsOverARange',1,'Create a Unary Parallel-Transform Task'],['../ParallelIterations.html#A1IndexBasedParallelFor',1,'Create an Index-based Parallel-Iteration Task'],['../ParallelIterations.html#A1IteratorBasedParallelFor',1,'Create an Iterator-based Parallel-Iteration Task'],['../RuntimeTasking.html#CreateAsynchronousTasksFromARuntimeTask',1,'Create Asynchronous Tasks from a Runtime Task'],['../RuntimeTasking.html#CreateRecursiveAsynchronousTasksFromARuntimeTask',1,'Create Recursive Asynchronous Tasks from a Runtime Task'],['../ExceptionHandling.html#CatchAnExceptionFromAnAsyncTask',1,'Example: Catch an Exception from an Async Task'],['../ExceptionHandling.html#RetrieveTheExceptionPointerOfATask',1,'Retrieve the Exception Pointer of a Task'],['../classtf_1_1Task.html',1,'tf::Task'],['../classtf_1_1Task.html#a5ed7ba63e8eeaa0f21fe08c80aa474ba',1,'tf::Task::Task()=default'],['../classtf_1_1Task.html#a53deffe60d7c758df4265aeb81063928',1,'tf::Task::Task(const Task &amp;other)'],['../DependentAsyncTasking.html#UnderstandTheLifeTimeOfADependentAsyncTask',1,'Understand the Lifetime of a Dependent-async Task'],['../StaticTasking.html#UnderstandTheLifetimeOfATask',1,'Understand the Lifetime of a Task'],['../ModuleAlgorithm.html#WhatIsAModuleTask',1,'What is a Module Task']]],
  ['task_3',['Q7: What is the purpose of a condition task?',['../FAQ.html#ProgrammingQuestions7',1,'']]],
  ['task_20a_4',['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,'']]],
  ['task_20and_20a_20graph_5',['Q2: What is the Lifetime of a Task and a Graph?',['../FAQ.html#ProgrammingQuestions2',1,'']]],
  ['task_20and_20access_20it_6',['Q12: How can I attach custom data to a task and access it?',['../FAQ.html#ProgrammingQuestions12',1,'']]],
  ['task_20based_20parallelism_7',['Task-based Parallelism',['../ProjectMotivation.html#TaskBasedParallelism',1,'']]],
  ['task_20dependency_20graph_8',['Task Dependency Graph',['../StaticTasking.html#CreateATaskDependencyGraph',1,'Create a Task Dependency Graph'],['../StaticTasking.html#VisualizeATaskDependencyGraph',1,'Visualize a Task Dependency Graph']]],
  ['task_20from_20a_20taskflow_9',['Create a Module Task from a Taskflow',['../ComposableTasking.html#CreateAModuleTaskFromATaskflow',1,'']]],
  ['task_20graph_10',['Task Graph',['../DependentAsyncTasking.html#CreateADynamicTaskGraph',1,'Create a Dynamic Task Graph'],['../TextProcessingPipeline.html#TextPipelineDefineTheTaskGraph',1,'Define the Task Graph'],['../GraphProcessingPipeline.html#GraphPipelineDefineTheTaskGraph',1,'Define the Task Graph'],['../TaskflowProcessingPipeline.html#TaskflowPipelineDefineTheTaskGraph',1,'Define the Task Graph'],['../index.html#QuickStartIntegrateControlFlowIntoATaskGraph',1,'Integrate Control Flow into a Task Graph'],['../TextProcessingPipeline.html#TextPipelineSubmitTheTaskGraph',1,'Submit the Task Graph'],['../GraphProcessingPipeline.html#GraphPipelineSubmitTheTaskGraph',1,'Submit the Task Graph'],['../TaskflowProcessingPipeline.html#TaskflowPipelineSubmitTheTaskGraph',1,'Submit the Task Graph'],['../wavefront.html#WavefrontTaskGraph',1,'Wavefront Task Graph']]],
  ['task_20graph_11',['Q10: Why does Taskflow program GPU in a task graph?',['../FAQ.html#ProgrammingQuestions10',1,'']]],
  ['task_20graph_20by_20multiple_20threads_12',['Create a Dynamic Task Graph by Multiple Threads',['../DependentAsyncTasking.html#CreateADynamicTaskGraphByMultipleThreads',1,'']]],
  ['task_20graphs_13',['Compose Task Graphs',['../index.html#QuickStartComposeTaskGraphs',1,'']]],
  ['task_20group_14',['Task Group',['../TaskGroup.html#CancelATaskGroup',1,'Cancel a Task Group'],['../TaskGroup.html#CreateATaskGroup',1,'Create a Task Group'],['../ExamplesFibonacciNumber.html#RecursiveFibonacciParallelismUsingTaskGroup',1,'Recursive Fibonacci Parallelism using Task Group'],['../TaskGroup.html',1,'Task Group']]],
  ['task_20level_20scheduling_15',['Understand our Task-level Scheduling',['../ConditionalTasking.html#TaskSchedulingPolicy',1,'']]],
  ['task_20over_20a_20custom_20graph_16',['Create a Module Task over a Custom Graph',['../ModuleAlgorithm.html#CreateAModuleTaskOverACustomGraph',1,'']]],
  ['task_20parallel_20pipeline_17',['Task parallel Pipeline',['../ScalableTaskParallelPipeline.html',1,'Scalable Task-parallel Pipeline'],['../TaskParallelPipeline.html',1,'Task-parallel Pipeline']]],
  ['task_20parallel_20pipeline_20module_20task_18',['Create a Task-parallel Pipeline Module Task',['../TaskParallelPipeline.html#CreateATaskParallelPipelineModuleTask',1,'']]],
  ['task_20parallel_20programming_20system_19',['A General-purpose Task-parallel Programming System',['../index.html',1,'']]],
  ['task_20parallelism_20',['Implement Recursive Task Parallelism',['../TaskGroup.html#ImplementRecursiveTaskParallelismUsingTaskGroup',1,'']]],
  ['task_20programming_20systems_21',['Q9: How does it compare to existing task programming systems?',['../FAQ.html#GeneralQuestion9',1,'']]],
  ['task_5fgroup_22',['task_group',['../classtf_1_1Executor.html#a8858a119b9ad697748293c4bb1408853',1,'tf::Executor']]],
  ['taskflow_23',['Taskflow',['../BenchmarkTaskflow.html',1,'Benchmark Taskflow'],['../RequestCancellation.html#CancelARunningTaskflow',1,'Cancel a Running Taskflow'],['../ComposableTasking.html#ComposeATaskflow',1,'Compose a Taskflow'],['../ComposableTasking.html#CreateAModuleTaskFromATaskflow',1,'Create a Module Task from a Taskflow'],['../ExceptionHandling.html#CatchAnExceptionFromARunningTaskflow',1,'Example: Catch an Exception from a Running Taskflow'],['../ExecuteTaskflow.html#ExecuteATaskflow',1,'Execute a Taskflow'],['../GPUTasking.html#IntegrateACUDAGraphIntoTaskflow',1,'Integrate a CUDA Graph into Taskflow'],['../StaticTasking.html#MoveATaskflow',1,'Move a Taskflow'],['../FAQ.html#GeneralQuestion13',1,'Q13: Who are developing and maintaining Taskflow?'],['../FAQ.html#GeneralQuestion1',1,'Q1: What&apos;s the goal of Taskflow?'],['../classtf_1_1Taskflow.html',1,'tf::Taskflow'],['../classtf_1_1Taskflow.html#a7242a74dcb16731b4e40816647b93305',1,'tf::Taskflow::Taskflow(const std::string &amp;name)'],['../classtf_1_1Taskflow.html#ade7fc641d136a3f8c96682c08040626a',1,'tf::Taskflow::Taskflow()'],['../classtf_1_1Taskflow.html#afd790de6db6d16ddf4729967c1edebb5',1,'tf::Taskflow::Taskflow(Taskflow &amp;&amp;rhs)'],['../contributors.html#ThankYouForDevelopingTaskflow',1,'Thank You for Developing Taskflow'],['../contributors.html#ThankYouForUsingTaskflow',1,'Thank You for Using Taskflow'],['../ExceptionHandling.html#UnderstandTheLogicOfExceptionHandlingInTaskflow',1,'Understand the Logic of Exception Handling in Taskflow']]],
  ['taskflow_24',['Q8: What is the overhead of taskflow?',['../FAQ.html#GeneralQuestion8',1,'']]],
  ['taskflow_20algorithms_25',['Taskflow Algorithms',['../Algorithms.html',1,'']]],
  ['taskflow_20community_20code_20of_20conduct_26',['Taskflow Community Code of Conduct',['../codeofconduct.html#TaskflowCodeOfConduct',1,'']]],
  ['taskflow_20core_27',['Taskflow Core',['../release-4-1-0.html#release-4-1-0_taskflow_core',1,'Taskflow Core'],['../release-4-0-0.html#release-4-0-0_taskflow_core',1,'Taskflow Core'],['../release-3-11-0.html#release-3-11-0_taskflow_core',1,'Taskflow Core'],['../release-3-10-0.html#release-3-10-0_taskflow_core',1,'Taskflow Core'],['../release-3-9-0.html#release-3-9-0_taskflow_core',1,'Taskflow Core'],['../release-3-8-0.html#release-3-8-0_taskflow_core',1,'Taskflow Core'],['../release-3-7-0.html#release-3-7-0_taskflow_core',1,'Taskflow Core'],['../release-3-6-0.html#release-3-6-0_taskflow_core',1,'Taskflow Core'],['../release-3-5-0.html#release-3-5-0_taskflow_core',1,'Taskflow Core'],['../release-3-4-0.html#release-3-4-0_taskflow_core',1,'Taskflow Core'],['../release-3-3-0.html#release-3-3-0_taskflow_core',1,'Taskflow Core'],['../release-3-2-0.html#release-3-2-0_taskflow_core',1,'Taskflow Core'],['../release-3-1-0.html#release-3-1-0_taskflow_core',1,'Taskflow Core'],['../release-3-0-0.html#release-3-0-0_taskflow_core',1,'Taskflow Core']]],
  ['taskflow_20from_20an_20internal_20worker_20cooperatively_28',['Execute a Taskflow from an Internal Worker Cooperatively',['../ExecuteTaskflow.html#ExecuteATaskflowFromAnInternalWorker',1,'']]],
  ['taskflow_20graph_20what_20s_20wrong_29',['Q5: My program hangs and never returns after dispatching a taskflow graph. What&apos;s wrong?',['../FAQ.html#ProgrammingQuestions5',1,'']]],
  ['taskflow_20graphs_30',['Visualize Taskflow Graphs',['../index.html#QuickStartVisualizeATaskflow',1,'']]],
  ['taskflow_20handle_31',['Q4: How many tasks can Taskflow handle?',['../FAQ.html#GeneralQuestion4',1,'']]],
  ['taskflow_20have_20backward_20compatibility_20with_20c_2003_2098_2011_2014_2017_32',['Q6: Does Taskflow have backward compatibility with C++03/98/11/14/17?',['../FAQ.html#GeneralQuestion6',1,'']]],
  ['taskflow_20i_20can_20talk_20to_33',['Q12: Who is the Principal Investigator of Taskflow I can talk to?',['../FAQ.html#GeneralQuestion12',1,'']]],
  ['taskflow_20in_20my_20projects_34',['Q2: How do I use Taskflow in my projects?',['../FAQ.html#GeneralQuestion2',1,'']]],
  ['taskflow_20just_20an_20another_20api_20or_20model_35',['Q14: Is Taskflow just an another API or model?',['../FAQ.html#GeneralQuestion14',1,'']]],
  ['taskflow_20processing_20pipeline_36',['Taskflow Processing Pipeline',['../TaskflowProcessingPipeline.html#CreateATaskflowProcessingPipeline',1,'Create a Taskflow Processing Pipeline'],['../TaskflowProcessingPipeline.html',1,'Taskflow Processing Pipeline']]],
  ['taskflow_20processing_20pipeline_20problem_37',['Formulate the Taskflow Processing Pipeline Problem',['../TaskflowProcessingPipeline.html#FormulateTheTaskflowProcessingPipelineProblem',1,'']]],
  ['taskflow_20profiler_38',['Enable Taskflow Profiler',['../Profiler.html#ProfilerEnableTFProf',1,'']]],
  ['taskflow_20profiler_20on_20a_20http_20server_39',['Enable Taskflow Profiler on a HTTP Server',['../Profiler.html#ProfilerEnableTFProfServer',1,'']]],
  ['taskflow_20profiler_20tfprof_40',['Taskflow Profiler TFProf',['../release-3-6-0.html#release-3-6-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-5-0.html#release-3-5-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-3-0.html#release-3-3-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-2-0.html#release-3-2-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-1-0.html#release-3-1-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-0-0.html#release-3-0-0_profiler',1,'Taskflow Profiler (TFProf)']]],
  ['taskflow_20program_41',['Start Your First Taskflow Program',['../index.html#ASimpleFirstProgram',1,'']]],
  ['taskflow_20program_42',['Step 2: Write a Taskflow program',['../guidelines.html#Step2WriteATaskflowProgram',1,'']]],
  ['taskflow_20program_20gpu_20in_20a_20task_20graph_43',['Q10: Why does Taskflow program GPU in a task graph?',['../FAQ.html#ProgrammingQuestions10',1,'']]],
  ['taskflow_20programs_44',['Profile Taskflow Programs',['../Profiler.html',1,'Cookbook']]],
  ['taskflow_20schedule_20tasks_45',['Q7: How does Taskflow schedule tasks?',['../FAQ.html#GeneralQuestion7',1,'']]],
  ['taskflow_20support_20pipeline_20parallelism_46',['Q16: Does Taskflow support pipeline parallelism?',['../FAQ.html#GeneralQuestion16',1,'']]],
  ['taskflow_20thread_20safe_47',['Q3: Is taskflow thread-safe?',['../FAQ.html#ProgrammingQuestions3',1,'']]],
  ['taskflow_20threads_20and_20workers_48',['Q1: What is the difference between Taskflow threads and workers?',['../FAQ.html#ProgrammingQuestions1',1,'']]],
  ['taskflow_20through_20an_20executor_49',['Run a Taskflow through an Executor',['../index.html#QuickStartRunATaskflowThroughAnExecution',1,'']]],
  ['taskflow_20to_20your_20project_50',['Integrate Taskflow to Your Project',['../install.html#BAIIntegrateTaskflowToYourProject',1,'']]],
  ['taskflow_20with_20cuda_51',['Compile Taskflow with CUDA',['../CompileTaskflowWithCUDA.html',1,'install']]],
  ['taskflow_20with_20transferred_20ownership_52',['Execute a Taskflow with Transferred Ownership',['../ExecuteTaskflow.html#ExecuteATaskflowWithTransferredOwnership',1,'']]],
  ['taskflows_53',['Define Taskflows',['../TaskflowProcessingPipeline.html#TaskflowPipelineDefineTaskflows',1,'']]],
  ['taskgroup_54',['TaskGroup',['../classtf_1_1TaskGroup.html',1,'tf::TaskGroup'],['../classtf_1_1TaskGroup.html#ab4f3fec3f8ec46b65379e7f2a7eb809f',1,'tf::TaskGroup::TaskGroup(const TaskGroup &amp;)=delete'],['../classtf_1_1TaskGroup.html#aa2c2252cb4c40db3abe4eba954562389',1,'tf::TaskGroup::TaskGroup(TaskGroup &amp;&amp;)=delete']]],
  ['tasking_55',['Tasking',['../AsyncTasking.html',1,'Asynchronous Tasking'],['../ComposableTasking.html',1,'Composable Tasking'],['../ConditionalTasking.html',1,'Conditional Tasking'],['../GPUTasking.html',1,'GPU Tasking'],['../ExamplesNondeterministicControlFlow.html#CoinFlippingProbabilistic',1,'Implementation using Conditional Tasking'],['../ExamplesFibonacciNumber.html#RecursiveFibonacciParallelismUsingRuntimeTasking',1,'Recursive Fibonacci Parallelism using Runtime Tasking'],['../RuntimeTasking.html',1,'Runtime Tasking'],['../StaticTasking.html',1,'Static Tasking'],['../SubflowTasking.html',1,'Subflow Tasking']]],
  ['tasking_56',['tasking',['../FAQ.html#GeneralQuestion3',1,'Q3: What is the difference between static tasking and dynamic tasking?'],['../FAQ.html#ProgrammingQuestions9',1,'Q9: Are there any limits on the branches of conditional tasking?']]],
  ['tasking_20and_20dynamic_20tasking_57',['Q3: What is the difference between static tasking and dynamic tasking?',['../FAQ.html#GeneralQuestion3',1,'']]],
  ['tasking_20with_20dependencies_58',['Asynchronous Tasking with Dependencies',['../DependentAsyncTasking.html',1,'Cookbook']]],
  ['taskparams_59',['TaskParams',['../classtf_1_1TaskParams.html',1,'tf']]],
  ['taskparamsconcept_60',['TaskParamsConcept',['../concepttf_1_1TaskParamsConcept.html',1,'tf']]],
  ['tasks_61',['Tasks',['../TaskParallelPipeline.html#ConnectWithTasks',1,'Connect Pipeline with Other Tasks'],['../GPUTasking.html#GPUMemoryOperations',1,'Create Memory Operation Tasks'],['../index.html#QuickStartLaunchAsyncTasks',1,'Launch Asynchronous Tasks'],['../DependentAsyncTasking.html#QueryTheComppletionStatusOfDependentAsyncTasks',1,'Query the Completion Status of Dependent Async Tasks'],['../DependentAsyncTasking.html#SpecifyARagneOfDependentAsyncTasks',1,'Specify a Range of Dependent Async Tasks'],['../StaticTasking.html#TraverseAdjacentTasks',1,'Traverse Adjacent Tasks'],['../LimitTheMaximumConcurrency.html#UseSemaphoresAcrossDifferentTasks',1,'Use Semaphores Across Different Tasks']]],
  ['tasks_62',['tasks',['../FAQ.html#ProgrammingQuestions11',1,'Q11: Can I limit the concurrency in certain sections of tasks?'],['../FAQ.html#GeneralQuestion7',1,'Q7: How does Taskflow schedule tasks?'],['../FAQ.html#ProgrammingQuestions8',1,'Q8: Is the program master thread involved in running tasks?']]],
  ['tasks_20b1_20b2_20and_20b3_20do_20they_20run_20concurrently_20with_20task_20a_63',['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,'']]],
  ['tasks_20can_20taskflow_20handle_64',['Q4: How many tasks can Taskflow handle?',['../FAQ.html#GeneralQuestion4',1,'']]],
  ['tasks_20from_20a_20runtime_65',['Launch Asynchronous Tasks from a Runtime',['../AsyncTasking.html#LaunchAsynchronousTasksFromARuntime',1,'']]],
  ['tasks_20from_20a_20runtime_20task_66',['Tasks from a Runtime Task',['../RuntimeTasking.html#CreateAsynchronousTasksFromARuntimeTask',1,'Create Asynchronous Tasks from a Runtime Task'],['../RuntimeTasking.html#CreateRecursiveAsynchronousTasksFromARuntimeTask',1,'Create Recursive Asynchronous Tasks from a Runtime Task']]],
  ['tasks_20from_20an_20executor_67',['Launch Asynchronous Tasks from an Executor',['../AsyncTasking.html#LaunchAsynchronousTasksFromAnExecutor',1,'']]],
  ['tasks_20recursively_20from_20a_20runtime_68',['Launch Asynchronous Tasks Recursively from a Runtime',['../AsyncTasking.html#LaunchAsynchronousTasksRecursivelyFromARuntime',1,'']]],
  ['tasks_20to_20a_20gpu_69',['Offload Tasks to a GPU',['../index.html#QuickStartOffloadTasksToGPU',1,'']]],
  ['tasks_20with_20cooperative_20execution_70',['Submit Asynchronous Tasks with Cooperative Execution',['../TaskGroup.html#SubmitAsynchronousTasksWithCooperativeExecution',1,'']]],
  ['tasktype_71',['TaskType',['../namespacetf.html#a1355048578785a80414707ff308b395a',1,'tf']]],
  ['taskview_72',['TaskView',['../classtf_1_1TaskView.html',1,'tf']]],
  ['team_73',['Team',['../team.html',1,'Governance']]],
  ['ternary_20coins_74',['Ternary Coins',['../ExamplesNondeterministicControlFlow.html#CoinFlippingTernaryCoins',1,'']]],
  ['tests_75',['Tests',['../install.html#BAIBuildCUDACode',1,'Build CUDA Examples and Unit Tests'],['../install.html#BAIBuildExamplesAndUnitTests',1,'Build Examples and Unit Tests']]],
  ['text_20processing_20pipeline_76',['Text Processing Pipeline',['../TextProcessingPipeline.html#CreateAParallelTextPipeline',1,'Create a Text Processing Pipeline'],['../TextProcessingPipeline.html',1,'Text Processing Pipeline']]],
  ['text_20processing_20pipeline_20problem_77',['Formulate the Text Processing Pipeline Problem',['../TextProcessingPipeline.html#FormulateTheTextProcessingPipelineProblem',1,'']]],
  ['tf_78',['tf',['../namespacetf.html',1,'']]],
  ['tfprof_79',['TFProf',['../release-3-6-0.html#release-3-6-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-5-0.html#release-3-5-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-3-0.html#release-3-3-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-2-0.html#release-3-2-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-1-0.html#release-3-1-0_profiler',1,'Taskflow Profiler (TFProf)'],['../release-3-0-0.html#release-3-0-0_profiler',1,'Taskflow Profiler (TFProf)']]],
  ['tfprofobserver_80',['TFProfObserver',['../classtf_1_1TFProfObserver.html',1,'tf']]],
  ['thank_20you_20for_20developing_20taskflow_81',['Thank You for Developing Taskflow',['../contributors.html#ThankYouForDevelopingTaskflow',1,'']]],
  ['thank_20you_20for_20using_20taskflow_82',['Thank You for Using Taskflow',['../contributors.html#ThankYouForUsingTaskflow',1,'']]],
  ['the_20branches_20of_20conditional_20tasking_83',['Q9: Are there any limits on the branches of conditional tasking?',['../FAQ.html#ProgrammingQuestions9',1,'']]],
  ['the_20completion_20status_20of_20dependent_20async_20tasks_84',['Query the Completion Status of Dependent Async Tasks',['../DependentAsyncTasking.html#QueryTheComppletionStatusOfDependentAsyncTasks',1,'']]],
  ['the_20concurrency_20in_20certain_20sections_20of_20tasks_85',['Q11: Can I limit the concurrency in certain sections of tasks?',['../FAQ.html#ProgrammingQuestions11',1,'']]],
  ['the_20data_20buffer_86',['Define the Data Buffer',['../TextProcessingPipeline.html#TextPipelineDefineTheDataBuffer',1,'']]],
  ['the_20difference_20between_20static_20tasking_20and_20dynamic_20tasking_87',['Q3: What is the difference between static tasking and dynamic tasking?',['../FAQ.html#GeneralQuestion3',1,'']]],
  ['the_20difference_20between_20taskflow_20threads_20and_20workers_88',['Q1: What is the difference between Taskflow threads and workers?',['../FAQ.html#ProgrammingQuestions1',1,'']]],
  ['the_20documentation_89',['How Can I Edit the Documentation?',['../guidelines.html#HowCanIEditTheDocumentation',1,'']]],
  ['the_20dumped_20graph_90',['Q5: What is the weird hex value, like 0x7fc39d402ab0, in the dumped graph?',['../FAQ.html#GeneralQuestion5',1,'']]],
  ['the_20era_20of_20multicore_91',['The Era of Multicore',['../ProjectMotivation.html#TheEraOfMulticore',1,'']]],
  ['the_20exception_20pointer_20of_20a_20task_92',['Retrieve the Exception Pointer of a Task',['../ExceptionHandling.html#RetrieveTheExceptionPointerOfATask',1,'']]],
  ['the_20execution_20order_93',['Understand the Execution Order',['../ExecuteTaskflow.html#UnderstandTheExecutionOrder',1,'']]],
  ['the_20following_20example_20where_20b_20spawns_20a_20joined_20subflow_20of_20three_20tasks_20b1_20b2_20and_20b3_20do_20they_20run_20concurrently_20with_20task_20a_94',['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,'']]],
  ['the_20goal_20of_20taskflow_95',['Q1: What&apos;s the goal of Taskflow?',['../FAQ.html#GeneralQuestion1',1,'']]],
  ['the_20governance_20rules_96',['Changing the Governance Rules',['../rules.html#ChangingTheRules',1,'']]],
  ['the_20gpu_20kernel_20programming_97',['Q10: Do you try to simplify the GPU kernel programming?',['../FAQ.html#GeneralQuestion10',1,'']]],
  ['the_20graph_98',['Find a Topological Order of the Graph',['../GraphProcessingPipeline.html#GraphPipelineFindATopologicalOrderOfTheGraph',1,'']]],
  ['the_20graph_20processing_20pipeline_20problem_99',['Formulate the Graph Processing Pipeline Problem',['../GraphProcessingPipeline.html#FormulateTheGraphProcessingPipelineProblem',1,'']]],
  ['the_20header_100',['the Header',['../GPUTasking.html#GPUTaskingIncludeTheHeader',1,'Include the Header'],['../ParallelIterations.html#ParallelIterationsIncludeTheHeader',1,'Include the Header'],['../ParallelTransforms.html#ParallelTransformsInclude',1,'Include the Header'],['../ParallelReduction.html#ParallelReductionInclude',1,'Include the Header'],['../ParallelSort.html#ParallelSortInclude',1,'Include the Header'],['../ParallelScan.html#ParallelScanInclude',1,'Include the Header'],['../ParallelFind.html#ParallelFindIncludeTheHeader',1,'Include the Header'],['../ModuleAlgorithm.html#ModuleAlgorithmInclude',1,'Include the Header'],['../TaskParallelPipeline.html#TaskParallelPipelineIncludeHeaderFile',1,'Include the Header'],['../ScalableTaskParallelPipeline.html#IncludeTheScalablePipelineHeader',1,'Include the Header'],['../DataParallelPipeline.html#ParallelDataPipelineIncludeHeaderFile',1,'Include the Header']]],
  ['the_20k_20means_20cuda_20graph_101',['Define the k-means CUDA Graph',['../KMeansWithCUDAGPU.html#DefineTheKMeansCUDAGraph',1,'']]],
  ['the_20k_20means_20kernels_102',['Define the k-means Kernels',['../KMeansWithCUDAGPU.html#DefineTheKMeansKernels',1,'']]],
  ['the_20largest_20elements_103',['Find the Smallest and the Largest Elements',['../ParallelFind.html#ParallelFindMinMaxElement',1,'']]],
  ['the_20lifetime_20of_20a_20dependent_20async_20task_104',['Understand the Lifetime of a Dependent-async Task',['../DependentAsyncTasking.html#UnderstandTheLifeTimeOfADependentAsyncTask',1,'']]],
  ['the_20lifetime_20of_20a_20task_105',['Understand the Lifetime of a Task',['../StaticTasking.html#UnderstandTheLifetimeOfATask',1,'']]],
  ['the_20lifetime_20of_20a_20task_20and_20a_20graph_106',['Q2: What is the Lifetime of a Task and a Graph?',['../FAQ.html#ProgrammingQuestions2',1,'']]],
  ['the_20limitation_20of_20semaphores_107',['Understand the Limitation of Semaphores',['../LimitTheMaximumConcurrency.html#UnderstandTheLimitationOfSemaphores',1,'']]],
  ['the_20limitations_20of_20cancellation_108',['Understand the Limitations of Cancellation',['../RequestCancellation.html#UnderstandTheLimitationsOfCancellation',1,'']]],
  ['the_20logic_20of_20exception_20handling_20in_20taskflow_109',['Understand the Logic of Exception Handling in Taskflow',['../ExceptionHandling.html#UnderstandTheLogicOfExceptionHandlingInTaskflow',1,'']]],
  ['the_20maximum_20concurrency_110',['Limit the Maximum Concurrency',['../LimitTheMaximumConcurrency.html',1,'Cookbook']]],
  ['the_20number_20of_20rounds_111',['Specify the Number of Rounds',['../BenchmarkTaskflow.html#SpecifyTheNumberOfRounds',1,'']]],
  ['the_20number_20of_20threads_112',['Specify the Number of Threads',['../BenchmarkTaskflow.html#SpecifyTheNumberOfThreads',1,'']]],
  ['the_20overhead_20of_20taskflow_113',['Q8: What is the overhead of taskflow?',['../FAQ.html#GeneralQuestion8',1,'']]],
  ['the_20ownership_114',['Understand the Ownership',['../ExecuteTaskflow.html#UnderstandTheOwnership',1,'']]],
  ['the_20pipeline_20scheduling_20framework_115',['Understand the Pipeline Scheduling Framework',['../TaskParallelPipeline.html#UnderstandPipelineScheduling',1,'']]],
  ['the_20pipes_116',['the Pipes',['../TextProcessingPipeline.html#TextPipelineDefineThePipes',1,'Define the Pipes'],['../GraphProcessingPipeline.html#GraphPipelineDefineThePipes',1,'Define the Pipes'],['../TaskflowProcessingPipeline.html#TaskflowPipelineDefineThePipes',1,'Define the Pipes']]],
  ['the_20principal_20investigator_20of_20taskflow_20i_20can_20talk_20to_117',['Q12: Who is the Principal Investigator of Taskflow I can talk to?',['../FAQ.html#GeneralQuestion12',1,'']]],
  ['the_20program_20master_20thread_20involved_20in_20running_20tasks_118',['Q8: Is the program master thread involved in running tasks?',['../FAQ.html#ProgrammingQuestions8',1,'']]],
  ['the_20project_20mantra_119',['The Project Mantra',['../ProjectMotivation.html#TheProjectMantra',1,'']]],
  ['the_20project_20overview_120',['The Project Overview',['../rules.html#TheProjectOverview',1,'']]],
  ['the_20purpose_20of_20a_20condition_20task_121',['Q7: What is the purpose of a condition task?',['../FAQ.html#ProgrammingQuestions7',1,'']]],
  ['the_20run_20model_122',['Specify the Run Model',['../BenchmarkTaskflow.html#SpecifyTheRunModel',1,'']]],
  ['the_20smallest_20and_20the_20largest_20elements_123',['Find the Smallest and the Largest Elements',['../ParallelFind.html#ParallelFindMinMaxElement',1,'']]],
  ['the_20stage_20function_124',['Define the Stage Function',['../GraphProcessingPipeline.html#GraphPipelineDefineTheStageFunction',1,'']]],
  ['the_20task_20graph_125',['the Task Graph',['../TextProcessingPipeline.html#TextPipelineDefineTheTaskGraph',1,'Define the Task Graph'],['../GraphProcessingPipeline.html#GraphPipelineDefineTheTaskGraph',1,'Define the Task Graph'],['../TaskflowProcessingPipeline.html#TaskflowPipelineDefineTheTaskGraph',1,'Define the Task Graph'],['../TextProcessingPipeline.html#TextPipelineSubmitTheTaskGraph',1,'Submit the Task Graph'],['../GraphProcessingPipeline.html#GraphPipelineSubmitTheTaskGraph',1,'Submit the Task Graph'],['../TaskflowProcessingPipeline.html#TaskflowPipelineSubmitTheTaskGraph',1,'Submit the Task Graph']]],
  ['the_20taskflow_20processing_20pipeline_20problem_126',['Formulate the Taskflow Processing Pipeline Problem',['../TaskflowProcessingPipeline.html#FormulateTheTaskflowProcessingPipelineProblem',1,'']]],
  ['the_20text_20processing_20pipeline_20problem_127',['Formulate the Text Processing Pipeline Problem',['../TextProcessingPipeline.html#FormulateTheTextProcessingPipelineProblem',1,'']]],
  ['the_20weird_20hex_20value_20like_200x7fc39d402ab0_20in_20the_20dumped_20graph_128',['Q5: What is the weird hex value, like 0x7fc39d402ab0, in the dumped graph?',['../FAQ.html#GeneralQuestion5',1,'']]],
  ['the_20worker_20id_129',['Query the Worker ID',['../ExecuteTaskflow.html#QueryTheWorkerID',1,'']]],
  ['there_20any_20limits_20on_20the_20branches_20of_20conditional_20tasking_130',['Q9: Are there any limits on the branches of conditional tasking?',['../FAQ.html#ProgrammingQuestions9',1,'']]],
  ['they_20run_20concurrently_20with_20task_20a_131',['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,'']]],
  ['this_5fworker_132',['this_worker',['../classtf_1_1Executor.html#af849067f38e49ed3b97e15f5514a5a7a',1,'tf::Executor']]],
  ['this_5fworker_5fid_133',['this_worker_id',['../classtf_1_1Executor.html#a6487d589cb1f6b078b69fd3bb1082345',1,'tf::Executor']]],
  ['thread_134',['thread',['../classtf_1_1Worker.html#a6158f91db3b980e3072cc0329cbe3c14',1,'tf::Worker']]],
  ['thread_20activities_135',['Observe Thread Activities',['../ExecuteTaskflow.html#ObserveThreadActivities',1,'']]],
  ['thread_20involved_20in_20running_20tasks_136',['Q8: Is the program master thread involved in running tasks?',['../FAQ.html#ProgrammingQuestions8',1,'']]],
  ['thread_20safe_137',['thread safe',['../FAQ.html#ProgrammingQuestions3',1,'Q3: Is taskflow thread-safe?'],['../FAQ.html#ProgrammingQuestions4',1,'Q4: Is executor thread-safe?']]],
  ['thread_20safety_20of_20executor_138',['Thread Safety of Executor',['../ExecuteTaskflow.html#ThreadSafetyOfExecution',1,'']]],
  ['threads_139',['Threads',['../DependentAsyncTasking.html#CreateADynamicTaskGraphByMultipleThreads',1,'Create a Dynamic Task Graph by Multiple Threads'],['../BenchmarkTaskflow.html#SpecifyTheNumberOfThreads',1,'Specify the Number of Threads']]],
  ['threads_20and_20workers_140',['Q1: What is the difference between Taskflow threads and workers?',['../FAQ.html#ProgrammingQuestions1',1,'']]],
  ['three_20tasks_20b1_20b2_20and_20b3_20do_20they_20run_20concurrently_20with_20task_20a_141',['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,'']]],
  ['through_20an_20executor_142',['Run a Taskflow through an Executor',['../index.html#QuickStartRunATaskflowThroughAnExecution',1,'']]],
  ['timing_20analysis_143',['Static Timing Analysis',['../opentimer.html',1,'usecases']]],
  ['timing_20analysis_20tool_144',['OpenTimer: A High-performance Timing Analysis Tool',['../opentimer.html#UseCasesOpenTimer',1,'']]],
  ['to_145',['Q12: Who is the Principal Investigator of Taskflow I can talk to?',['../FAQ.html#GeneralQuestion12',1,'']]],
  ['to_20a_20gpu_146',['Offload Tasks to a GPU',['../index.html#QuickStartOffloadTasksToGPU',1,'']]],
  ['to_20a_20task_147',['Attach User Data to a Task',['../StaticTasking.html#AttachUserDataToATask',1,'']]],
  ['to_20a_20task_20and_20access_20it_148',['Q12: How can I attach custom data to a task and access it?',['../FAQ.html#ProgrammingQuestions12',1,'']]],
  ['to_20existing_20task_20programming_20systems_149',['Q9: How does it compare to existing task programming systems?',['../FAQ.html#GeneralQuestion9',1,'']]],
  ['to_20simplify_20the_20gpu_20kernel_20programming_150',['Q10: Do you try to simplify the GPU kernel programming?',['../FAQ.html#GeneralQuestion10',1,'']]],
  ['to_20your_20project_151',['Integrate Taskflow to Your Project',['../install.html#BAIIntegrateTaskflowToYourProject',1,'']]],
  ['to_5fstring_152',['to_string',['../namespacetf.html#a18c45bc96e6725943e0a4396fa59b524',1,'tf::to_string(TaskType type)'],['../namespacetf.html#ab7ec159c370bc052effcd0cdbc48047e',1,'tf::to_string(ObserverType type)'],['../namespacetf.html#a627b5c90ccd5ce2e11e08c9c06a3fede',1,'tf::to_string(cudaGraphNodeType type)']]],
  ['token_153',['token',['../classtf_1_1Pipeflow.html#a295e5d884665c076f4ef5d78139f7c51',1,'tf::Pipeflow']]],
  ['tool_154',['OpenTimer: A High-performance Timing Analysis Tool',['../opentimer.html#UseCasesOpenTimer',1,'']]],
  ['topological_20order_20of_20the_20graph_155',['Find a Topological Order of the Graph',['../GraphProcessingPipeline.html#GraphPipelineFindATopologicalOrderOfTheGraph',1,'']]],
  ['transferred_20ownership_156',['Execute a Taskflow with Transferred Ownership',['../ExecuteTaskflow.html#ExecuteATaskflowWithTransferredOwnership',1,'']]],
  ['transform_157',['transform',['../classtf_1_1FlowBuilder.html#a95c762e48e46b2048373d5c1528fd567',1,'tf::FlowBuilder::transform(B first1, E last1, O d_first, C c, P part=P())'],['../classtf_1_1FlowBuilder.html#aff4c2a76d71dc7bebb55ad3797ef55f8',1,'tf::FlowBuilder::transform(B1 first1, E1 last1, B2 first2, O d_first, C c, P part=P())'],['../classtf_1_1cudaGraphBase.html#ab2603e952d8e5bc53cc1fc76df2b843f',1,'tf::cudaGraphBase::transform(I first, I last, O output, C op)'],['../classtf_1_1cudaGraphBase.html#ac4f81fa07cf1d55597154f125b66314a',1,'tf::cudaGraphBase::transform(I1 first1, I1 last1, I2 first2, O output, C op)'],['../classtf_1_1cudaGraphExecBase.html#ad8d934fd6f0caf65cb53afd0dc7880aa',1,'tf::cudaGraphExecBase::transform(cudaTask task, I first, I last, O output, C c)'],['../classtf_1_1cudaGraphExecBase.html#a516dead6bca70b45b6322db171609604',1,'tf::cudaGraphExecBase::transform(cudaTask task, I1 first1, I1 last1, I2 first2, O output, C c)']]],
  ['transform_20exclusive_20scan_20task_158',['Create a Parallel Transform-Exclusive Scan Task',['../ParallelScan.html#CreateAParallelTransformExclusiveScanTask',1,'']]],
  ['transform_20inclusive_20scan_20task_159',['Create a Parallel Transform-Inclusive Scan Task',['../ParallelScan.html#CreateAParallelTransformInclusiveScanTask',1,'']]],
  ['transform_20reduction_20task_160',['Create a Parallel-Transform-Reduction Task',['../ParallelReduction.html#A2ParallelTransformationReduction',1,'']]],
  ['transform_20task_161',['Transform Task',['../ParallelTransforms.html#ParallelBinaryTransformsOverARange',1,'Create a Binary Parallel-Transform Task'],['../ParallelTransforms.html#ParallelTransformsOverARange',1,'Create a Unary Parallel-Transform Task']]],
  ['transform_5fexclusive_5fscan_162',['transform_exclusive_scan',['../classtf_1_1FlowBuilder.html#a8549478ef819699b30f8daf88f04d577',1,'tf::FlowBuilder']]],
  ['transform_5finclusive_5fscan_163',['transform_inclusive_scan',['../classtf_1_1FlowBuilder.html#a82f3c3f49a2d52cd52f6eac07a659e9c',1,'tf::FlowBuilder::transform_inclusive_scan(B first, E last, D d_first, BOP bop, UOP uop)'],['../classtf_1_1FlowBuilder.html#a49f7e17d02c708035b9134d8c6c89f90',1,'tf::FlowBuilder::transform_inclusive_scan(B first, E last, D d_first, BOP bop, UOP uop, T init)']]],
  ['transform_5freduce_164',['transform_reduce',['../classtf_1_1FlowBuilder.html#a5a2c9f37dc81f44508f217d3b67d1b0c',1,'tf::FlowBuilder::transform_reduce(B first, E last, T &amp;init, BOP bop, UOP uop, P part=P())'],['../classtf_1_1FlowBuilder.html#ac6ad9cee0f5836c3d38bf0be861fc49b',1,'tf::FlowBuilder::transform_reduce(B1 first1, E1 last1, B2 first2, T &amp;init, BOP_R bop_r, BOP_T bop_t, P part=P())']]],
  ['transforms_165',['Parallel Transforms',['../ParallelTransforms.html',1,'Algorithms']]],
  ['traversal_166',['Traversal',['../graphtraversal.html',1,'Graph Traversal'],['../graphtraversal.html#GraphTraversalStaticTraversal',1,'Static Traversal']]],
  ['traverse_20adjacent_20tasks_167',['Traverse Adjacent Tasks',['../StaticTasking.html#TraverseAdjacentTasks',1,'']]],
  ['try_20to_20simplify_20the_20gpu_20kernel_20programming_168',['Q10: Do you try to simplify the GPU kernel programming?',['../FAQ.html#GeneralQuestion10',1,'']]],
  ['try_5fbulk_5fpush_169',['try_bulk_push',['../classtf_1_1BoundedWSQ.html#a10375ce815e0c5c047a4331de787053b',1,'tf::BoundedWSQ']]],
  ['try_5fpush_170',['try_push',['../classtf_1_1BoundedWSQ.html#a7d7be330e9c1c0e5a2051b7e190bf4c2',1,'tf::BoundedWSQ']]],
  ['turn_20off_20exception_20handling_171',['Turn off Exception Handling',['../ExceptionHandling.html#TurnOffExceptionHandling',1,'']]],
  ['two_20pipelines_172',['Example 2: Concatenate Two Pipelines',['../TaskParallelPipeline.html#ConcatenateTwoPipelines',1,'']]],
  ['type_173',['type',['../classtf_1_1Task.html#af2df95e6c8c5870c033d692e88af0bc2',1,'tf::Task::type()'],['../classtf_1_1TaskView.html#aa20d7b5796064c3ab194e6d7ebe2adb1',1,'tf::TaskView::type()'],['../classtf_1_1GuidedPartitioner.html#ae414688ae5ece94e8b2c108dee4266e2',1,'tf::GuidedPartitioner::type()'],['../classtf_1_1DynamicPartitioner.html#ab16dcd2758ad0059aa5ac7822f31f8a7',1,'tf::DynamicPartitioner::type()'],['../classtf_1_1StaticPartitioner.html#ad6791c126752f2d85f3107ce8b09b784',1,'tf::StaticPartitioner::type()'],['../classtf_1_1RandomPartitioner.html#a5c64a1d794cece6ed226fb1c14632cbb',1,'tf::RandomPartitioner::type()'],['../classtf_1_1Pipe.html#a0a8ad99dbb66ad0bca766da47ef11b21',1,'tf::Pipe::type() const'],['../classtf_1_1Pipe.html#ad939617c84a9e97ef1dd56ad56b84e33',1,'tf::Pipe::type(PipeType type)'],['../classtf_1_1DataPipe.html#a82ef8e8f06444b251ccfe323facbf67a',1,'tf::DataPipe::type() const'],['../classtf_1_1DataPipe.html#af7a3c2d313edd443b049e937f8ec8cd8',1,'tf::DataPipe::type(PipeType type)'],['../classtf_1_1cudaTask.html#a78b6a856c844a08d4d9cfa992dc6cfef',1,'tf::cudaTask::type()']]],
  ['types_174',['Use Other Iterator Types',['../ScalableTaskParallelPipeline.html#ScalablePipelineUseOtherIteratorTypes',1,'']]]
];
