var searchData=
[
  ['s_20the_20goal_20of_20taskflow_0',['Q1: What&apos;s the goal of Taskflow?',['../FAQ.html#GeneralQuestion1',1,'']]],
  ['s_20wrong_1',['Q5: My program hangs and never returns after dispatching a taskflow graph. What&apos;s wrong?',['../FAQ.html#ProgrammingQuestions5',1,'']]],
  ['safe_2',['safe',['../FAQ.html#ProgrammingQuestions3',1,'Q3: Is taskflow thread-safe?'],['../FAQ.html#ProgrammingQuestions4',1,'Q4: Is executor thread-safe?']]],
  ['safety_20of_20executor_3',['Thread Safety of Executor',['../ExecuteTaskflow.html#ThreadSafetyOfExecution',1,'']]],
  ['salesman_20problem_4',['Salesman Problem',['../ExamplesTSP.html',1,'Travelling Salesman Problem'],['../ExamplesTSP.html#TSPIntroduction',1,'What is the Travelling Salesman Problem?']]],
  ['sample_20output_5',['Sample Output',['../TextProcessingPipeline.html#TextPipelineOutput',1,'Sample Output'],['../GraphProcessingPipeline.html#GraphPipelineOutput',1,'Sample Output']]],
  ['sanitizers_6',['Build Sanitizers',['../install.html#BAIBuildSanitizers',1,'']]],
  ['scalable_20pipeline_7',['Reset a Placeholder Scalable Pipeline',['../ScalableTaskParallelPipeline.html#ResetAPlaceholderScalablePipeline',1,'']]],
  ['scalable_20pipeline_20module_20task_8',['Create a Scalable Pipeline Module Task',['../ScalableTaskParallelPipeline.html#CreateAScalablePipelineModuleTask',1,'']]],
  ['scalable_20task_20parallel_20pipeline_9',['Scalable Task-parallel Pipeline',['../ScalableTaskParallelPipeline.html',1,'Algorithms']]],
  ['scalablepipeline_10',['ScalablePipeline',['../classtf_1_1ScalablePipeline.html',1,'tf::ScalablePipeline&lt; P &gt;'],['../classtf_1_1ScalablePipeline.html#a26f5e7e768b77f9e95100c5d6467db71',1,'tf::ScalablePipeline::ScalablePipeline()=default'],['../classtf_1_1ScalablePipeline.html#a0f99aa297a26b97d549b62722d91e8ca',1,'tf::ScalablePipeline::ScalablePipeline(size_t num_lines)'],['../classtf_1_1ScalablePipeline.html#a884818f628bbd4ab876d566b1d2d62dc',1,'tf::ScalablePipeline::ScalablePipeline(size_t num_lines, P first, P last)'],['../classtf_1_1ScalablePipeline.html#a1a8898df4d2224d5f8bd2f3ad14c0ab9',1,'tf::ScalablePipeline::ScalablePipeline(const ScalablePipeline &amp;)=delete'],['../classtf_1_1ScalablePipeline.html#a1ab74fa599b0f1489df398cf039b73e5',1,'tf::ScalablePipeline::ScalablePipeline(ScalablePipeline &amp;&amp;rhs)']]],
  ['scan_11',['Parallel Scan',['../ParallelScan.html',1,'Algorithms']]],
  ['scan_20operation_12',['What is a Scan Operation?',['../ParallelScan.html#ParallelScanWhatIsAScan',1,'']]],
  ['scan_20task_13',['Scan Task',['../ParallelScan.html#ParallelScanExclusive',1,'Create a Parallel Exclusive Scan Task'],['../ParallelScan.html#ParallelScanInclusive',1,'Create a Parallel Inclusive Scan Task'],['../ParallelScan.html#ParallelScanTransformExclusive',1,'Create a Parallel Transform-Exclusive Scan Task'],['../ParallelScan.html#ParallelScanTransformInclusive',1,'Create a Parallel Transform-Inclusive Scan Task']]],
  ['scenario_201_3a_20synchronous_20propagation_14',['Scenario 1: Synchronous Propagation',['../ExceptionHandling.html#Scenario1SynchronousExceptionPropagation',1,'']]],
  ['scenario_202_3a_20asynchronous_20propagation_15',['Scenario 2: Asynchronous Propagation',['../ExceptionHandling.html#Scenario2AsynchronousExceptionPropagation',1,'']]],
  ['scenario_203_3a_20contextual_20propagation_16',['Scenario 3: Contextual Propagation',['../ExceptionHandling.html#Scenario3ContextualExceptionPropagation',1,'']]],
  ['schedule_17',['schedule',['../classtf_1_1Runtime.html#aa7e72cc0f298475195b252c8f1793343',1,'tf::Runtime']]],
  ['schedule_20tasks_18',['Q7: How does Taskflow schedule tasks?',['../FAQ.html#GeneralQuestion7',1,'']]],
  ['scheduler_5fepilogue_19',['scheduler_epilogue',['../classtf_1_1WorkerInterface.html#a3e6d68fd4041f433d1b7ca9e5786b57c',1,'tf::WorkerInterface']]],
  ['scheduler_5fprologue_20',['scheduler_prologue',['../classtf_1_1WorkerInterface.html#a41c3b931a36bde8eff4aa8d375e8888a',1,'tf::WorkerInterface']]],
  ['scheduling_21',['Scheduling',['../ExamplesPERT.html',1,'Critical Path Scheduling'],['../ConditionalTasking.html#TaskSchedulingPolicy',1,'Understand our Task-level Scheduling']]],
  ['scheduling_20algorithm_22',['Understand the Scheduling Algorithm',['../ParallelIterations.html#ParallelIterationsIndexRangeScheduling',1,'']]],
  ['scheduling_20framework_23',['Understand the Pipeline Scheduling Framework',['../TaskParallelPipeline.html#UnderstandPipelineScheduling',1,'']]],
  ['search_24',['Search',['../ExamplesBFS.html',1,'Parallel Breadth-First Search'],['../ParallelMerge.html#ParallelMergeAlgorithmBinarySearch',1,'Step 3: How co_rank works? Binary Search!']]],
  ['sections_20of_20tasks_25',['Q11: Can I limit the concurrency in certain sections of tasks?',['../FAQ.html#ProgrammingQuestions11',1,'']]],
  ['seed_26',['seed',['../classtf_1_1Xorshift.html#a0293e3b3ab3f10d6160830024f065ec4',1,'tf::Xorshift::seed()'],['../namespacetf.html#a3f8e89aebc29d42259157723c874954d',1,'tf::seed()']]],
  ['semaphore_27',['Semaphore',['../LimitTheMaximumConcurrency.html#DefineASemaphore',1,'Define a Semaphore'],['../LimitTheMaximumConcurrency.html#ResetASemaphore',1,'Reset a Semaphore'],['../classtf_1_1Semaphore.html',1,'tf::Semaphore'],['../classtf_1_1Semaphore.html#a6c5eda744df63aabf30398142a8c73c2',1,'tf::Semaphore::Semaphore()=default'],['../classtf_1_1Semaphore.html#abbd094f2f48025fbf0707ae977307a3e',1,'tf::Semaphore::Semaphore(size_t max_value)']]],
  ['semaphores_28',['Understand the Limitation of Semaphores',['../LimitTheMaximumConcurrency.html#UnderstandTheLimitationOfSemaphores',1,'']]],
  ['semaphores_20across_20different_20tasks_29',['Use Semaphores Across Different Tasks',['../LimitTheMaximumConcurrency.html#UseSemaphoresAcrossDifferentTasks',1,'']]],
  ['separately_30',['Compile Source Code Separately',['../CompileTaskflowWithCUDA.html#CompileTaskflowWithCUDASeparately',1,'']]],
  ['serial_31',['SERIAL',['../namespacetf.html#abb7a11e41fd457f69e7ff45d4c769564a7b804a28d6154ab8007287532037f1d0',1,'tf']]],
  ['set_5fup_32',['set_up',['../classtf_1_1ObserverInterface.html#a41e6e62f12bf9d9dc4fa74632f6825d9',1,'tf::ObserverInterface']]],
  ['silent_5fasync_33',['silent_async',['../classtf_1_1Executor.html#a0461cb2c459c9f9473c72af06af9c701',1,'tf::Executor::silent_async(P &amp;&amp;params, F &amp;&amp;func)'],['../classtf_1_1Executor.html#a878ec1bc337c7efe22619b21ba3ecdf3',1,'tf::Executor::silent_async(F &amp;&amp;func)'],['../classtf_1_1Runtime.html#a0ce29efa2106c8c5a1432e4a55ab2e05',1,'tf::Runtime::silent_async(F &amp;&amp;f)'],['../classtf_1_1Runtime.html#a532d8cd09ebee59023e3ad65f3220f4e',1,'tf::Runtime::silent_async(P &amp;&amp;params, F &amp;&amp;f)'],['../classtf_1_1TaskGroup.html#acf90acfcaf9468adc56bf647208a9e78',1,'tf::TaskGroup::silent_async(F &amp;&amp;f)'],['../classtf_1_1TaskGroup.html#ac3284167c1e67bed2590d075eead9741',1,'tf::TaskGroup::silent_async(P &amp;&amp;params, F &amp;&amp;f)']]],
  ['silent_5fdependent_5fasync_34',['silent_dependent_async',['../classtf_1_1Executor.html#a09e04696a50841c118472b2c2a7ff6f5',1,'tf::Executor::silent_dependent_async(F &amp;&amp;func, Tasks &amp;&amp;... tasks)'],['../classtf_1_1Executor.html#ae8993cdfe408290801b1fb6e01490222',1,'tf::Executor::silent_dependent_async(P &amp;&amp;params, F &amp;&amp;func, Tasks &amp;&amp;... tasks)'],['../classtf_1_1Executor.html#a86a5f8cd4427df6285b03945120c9ab5',1,'tf::Executor::silent_dependent_async(F &amp;&amp;func, I first, I last)'],['../classtf_1_1Executor.html#a27816ff6805002b6292bacda52c56dca',1,'tf::Executor::silent_dependent_async(P &amp;&amp;params, F &amp;&amp;func, I first, I last)'],['../classtf_1_1Runtime.html#a65c30be3a899dcd1ba16ad50ebb8de0d',1,'tf::Runtime::silent_dependent_async(F &amp;&amp;func, Tasks &amp;&amp;... tasks)'],['../classtf_1_1Runtime.html#a992ae0549a4e53aa760c4c6404d2d606',1,'tf::Runtime::silent_dependent_async(P &amp;&amp;params, F &amp;&amp;func, Tasks &amp;&amp;... tasks)'],['../classtf_1_1Runtime.html#a6ee211e58dfc8317d649dde61e17476a',1,'tf::Runtime::silent_dependent_async(F &amp;&amp;func, I first, I last)'],['../classtf_1_1Runtime.html#a70021b113d0b24199e2edc68ebcd37e6',1,'tf::Runtime::silent_dependent_async(P &amp;&amp;params, F &amp;&amp;func, I first, I last)'],['../classtf_1_1TaskGroup.html#a628e8d63dfb8e9361729a5cc99b07df0',1,'tf::TaskGroup::silent_dependent_async(F &amp;&amp;func, Tasks &amp;&amp;... tasks)'],['../classtf_1_1TaskGroup.html#a5d302168b9f6ccdeff8f89462fafa2de',1,'tf::TaskGroup::silent_dependent_async(P &amp;&amp;params, F &amp;&amp;func, Tasks &amp;&amp;... tasks)'],['../classtf_1_1TaskGroup.html#a7a57b0519f4d236ba8adc4de07e71c89',1,'tf::TaskGroup::silent_dependent_async(F &amp;&amp;func, I first, I last)'],['../classtf_1_1TaskGroup.html#a79439d37dd6fd0a267d1388943d65db4',1,'tf::TaskGroup::silent_dependent_async(P &amp;&amp;params, F &amp;&amp;func, I first, I last)']]],
  ['simplify_20the_20gpu_20kernel_20programming_35',['Q10: Do you try to simplify the GPU kernel programming?',['../FAQ.html#GeneralQuestion10',1,'']]],
  ['single_5ftask_36',['single_task',['../classtf_1_1cudaGraphBase.html#abb33299f42206f30f1d0f35c7c6fe6de',1,'tf::cudaGraphBase::single_task()'],['../classtf_1_1cudaGraphExecBase.html#ae3b9553ae626613941aa7c50515cd42b',1,'tf::cudaGraphExecBase::single_task()']]],
  ['size_37',['size',['../classtf_1_1IndexRanges.html#a8ef0d0b45950f3e466abb1d5ed5631cc',1,'tf::IndexRanges::size(size_t d) const'],['../classtf_1_1IndexRanges.html#a9f13eb5c0d574dd84affa444a1ce8dc4',1,'tf::IndexRanges::size() const'],['../classtf_1_1Graph.html#a790710289553897fa88672d9104d8ed1',1,'tf::Graph::size()'],['../classtf_1_1UnboundedWSQ.html#a4b2e37db67ba4b0017d85f10bf43153d',1,'tf::UnboundedWSQ::size()'],['../classtf_1_1BoundedWSQ.html#a95ca63c53c35d04f3959923dbc3e1576',1,'tf::BoundedWSQ::size()'],['../classtf_1_1BoundedPriorityWSQ.html#a3cef7861456688c399107408a87725dc',1,'tf::BoundedPriorityWSQ::size()'],['../classtf_1_1NonblockingNotifier.html#ade0d740cf887f826f840bd059135f4a6',1,'tf::NonblockingNotifier::size()'],['../classtf_1_1TaskGroup.html#a2ff79bbacb724a4e99f3a65030bbd402',1,'tf::TaskGroup::size()']]],
  ['size_20dimensions_38',['Zero-size Dimensions',['../ParallelIterations.html#ParallelIterationsIndexRangeMDZeroSize',1,'']]],
  ['smallvector_39',['SmallVector',['../classtf_1_1SmallVector.html',1,'tf::SmallVector&lt; T, N &gt;'],['../classtf_1_1SmallVector.html#a7948bf82d89a97740fc6ae7eb484a14d',1,'tf::SmallVector::SmallVector()'],['../classtf_1_1SmallVector.html#a092160eaf54d09827daaa8875c089226',1,'tf::SmallVector::SmallVector(size_t Size, const T &amp;Value=T())'],['../classtf_1_1SmallVector.html#a0e0c9ea3b175d1e48e640434f9839380',1,'tf::SmallVector::SmallVector(ItTy S, ItTy E)'],['../classtf_1_1SmallVector.html#ad45a8ae1e4b0d313e56d84787e3d9c91',1,'tf::SmallVector::SmallVector(std::initializer_list&lt; T &gt; IL)'],['../classtf_1_1SmallVector.html#a7a3ca548c2b19ce570265b6dad2dfff7',1,'tf::SmallVector::SmallVector(const SmallVector &amp;RHS)'],['../classtf_1_1SmallVector.html#acf74c15d1ba09f9d71e706859613c005',1,'tf::SmallVector::SmallVector(SmallVector &amp;&amp;RHS)'],['../classtf_1_1SmallVector.html#a2507828c99bdc8d13cc57ec762689e2b',1,'tf::SmallVector::SmallVector(SmallVectorImpl&lt; T &gt; &amp;&amp;RHS)']]],
  ['smallvector_3c_20node_20_2a_20_3e_40',['SmallVector&lt; Node * &gt;',['../classtf_1_1SmallVector.html',1,'tf']]],
  ['smallvector_3c_20node_20_2a_2c_204_20_3e_41',['SmallVector&lt; Node *, 4 &gt;',['../classtf_1_1SmallVector.html',1,'tf']]],
  ['smallvector_3c_20tf_3a_3asemaphore_20_2a_20_3e_42',['SmallVector&lt; tf::Semaphore * &gt;',['../classtf_1_1SmallVector.html',1,'tf']]],
  ['software_20decisions_43',['Software Decisions',['../rules.html#SoftwareDecisions',1,'']]],
  ['sort_44',['Parallel Sort',['../ParallelSort.html',1,'Algorithms']]],
  ['sort_45',['sort',['../classtf_1_1FlowBuilder.html#a35e180eb63de6c9f28e43185e837a4fa',1,'tf::FlowBuilder::sort(B first, E last, C cmp)'],['../classtf_1_1FlowBuilder.html#a7d844e9856c7c65b26ccdb83ffdab1d6',1,'tf::FlowBuilder::sort(B first, E last)']]],
  ['sort_20a_20range_20of_20items_46',['Sort a Range of Items',['../ParallelSort.html#ParallelSortCreate',1,'']]],
  ['sort_20example_47',['Merge Sort Example',['../ExamplesDivideAndConquer.html#DivideAndConquerMergeSort',1,'']]],
  ['sort_20with_20a_20custom_20comparator_48',['Sort with a Custom Comparator',['../ParallelSort.html#ParallelSortCustomComparator',1,'']]],
  ['sort_20with_20taskgroup_49',['Parallel Merge Sort with TaskGroup',['../ExamplesDivideAndConquer.html#DivideAndConquerParallelMergeSort',1,'']]],
  ['sort2_50',['sort2',['../namespacetf.html#a8d3fa9252b0da87bff1df912d0a591fe',1,'tf']]],
  ['sort3_51',['sort3',['../namespacetf.html#a86489af717270b8c9b657b347215ef0f',1,'tf']]],
  ['source_20code_20directly_52',['Compile Source Code Directly',['../CompileTaskflowWithCUDA.html#CompileTaskflowWithCUDADirectly',1,'']]],
  ['source_20code_20separately_53',['Compile Source Code Separately',['../CompileTaskflowWithCUDA.html#CompileTaskflowWithCUDASeparately',1,'']]],
  ['source_20task_54',['Pitfall 1: No Source Task',['../ConditionalTasking.html#PitfallNoSourceTask',1,'']]],
  ['sparse_20matrix_20vector_20multiplication_55',['Sparse Matrix Vector Multiplication',['../ExamplesSpMV.html',1,'Sparse Matrix-Vector Multiplication'],['../ExamplesSpMV.html#SpMVIntroduction',1,'What is Sparse Matrix-Vector Multiplication?']]],
  ['spawn_20tasks_20from_20a_20runtime_56',['Spawn Tasks from a Runtime',['../RuntimeTasking.html#SpawnTasksFromARuntime',1,'']]],
  ['spawns_20a_20joined_20subflow_20of_20three_20tasks_20b1_20b2_20and_20b3_20do_20they_20run_20concurrently_20with_20task_20a_57',['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,'']]],
  ['specific_20gpu_58',['Run a CUDA Graph on Specific GPU',['../GPUTasking.html#RunACUDAGraphOnASpecificGPU',1,'']]],
  ['specify_20a_20range_20of_20dependencies_59',['Specify a Range of Dependencies',['../DependentAsyncTasking.html#SpecifyARangeOfDependencies',1,'']]],
  ['specify_20the_20number_20of_20rounds_60',['Specify the Number of Rounds',['../BenchmarkTaskflow.html#SpecifyTheNumberOfRounds',1,'']]],
  ['specify_20the_20number_20of_20threads_61',['Specify the Number of Threads',['../BenchmarkTaskflow.html#SpecifyTheNumberOfThreads',1,'']]],
  ['specify_20the_20run_20model_62',['Specify the Run Model',['../BenchmarkTaskflow.html#SpecifyTheRunModel',1,'']]],
  ['speculative_20execution_63',['Speculative Execution',['../ExamplesSpeculativeExecution.html',1,'Examples']]],
  ['stack_5fbits_64',['STACK_BITS',['../classtf_1_1NonblockingNotifier.html#ac66f032d0b82c70478784dd5630a23f6',1,'tf::NonblockingNotifier']]],
  ['stack_5fmask_65',['STACK_MASK',['../classtf_1_1NonblockingNotifier.html#ab3447efc57c2898b2d0745456536dbf7',1,'tf::NonblockingNotifier']]],
  ['staleness_66',['Using Condition Tasks for Staleness',['../ExamplesMakeGraph.html#MakeGraphConditionTask',1,'']]],
  ['standard_20cell_20placement_67',['Standard Cell Placement',['../dreamplace.html',1,'usecases']]],
  ['standard_20parallel_20algorithms_68',['Standard Parallel Algorithms',['../release-3-2-0.html#release-3-2-0_cuda_std_algorithms',1,'CUDA Standard Parallel Algorithms'],['../index.html#QuickStartLeverageStandardParallelAlgorithms',1,'Leverage Standard Parallel Algorithms']]],
  ['start_20your_20first_20taskflow_20program_69',['Start Your First Taskflow Program',['../index.html#ASimpleFirstProgram',1,'']]],
  ['started_70',['How Can I Get Started?',['../guidelines.html#HowCanIGetStarted',1,'']]],
  ['static_71',['STATIC',['../namespacetf.html#a1355048578785a80414707ff308b395aafe6f99ef1ec99efbdc19a9786cf1facc',1,'tf::STATIC'],['../namespacetf.html#a32d51425fa23cd0dc3518c16cf3bb6c0afe6f99ef1ec99efbdc19a9786cf1facc',1,'tf::STATIC']]],
  ['static_20construction_20fails_72',['Why Static Construction Fails',['../ExamplesDynamicDependencyGraph.html#DynamicDependencyGraphStaticFails',1,'']]],
  ['static_20partitioner_73',['Define a Static Partitioner',['../PartitioningAlgorithm.html#DefineAStaticPartitioner',1,'']]],
  ['static_20task_20graphs_20are_20not_20enough_74',['When Static Task Graphs Are Not Enough',['../DependentAsyncTasking.html#WhenStaticTaskGraphsAreNotEnough',1,'']]],
  ['static_20tasking_75',['Static Tasking',['../StaticTasking.html',1,'Cookbook']]],
  ['static_20tasking_20and_20dynamic_20tasking_76',['Q3: What is the difference between static tasking and dynamic tasking?',['../FAQ.html#GeneralQuestion3',1,'']]],
  ['static_20timing_20analysis_77',['Static Timing Analysis',['../opentimer.html',1,'usecases']]],
  ['static_20traversal_78',['Parallel Static Traversal',['../graphtraversal.html#GraphTraversalStaticTraversal',1,'']]],
  ['static_5ffloor_5flog2_79',['static_floor_log2',['../namespacetf.html#a908e0f3faf873e897b3e1bafbd4bb876',1,'tf']]],
  ['staticpartitioner_80',['StaticPartitioner',['../classtf_1_1StaticPartitioner.html',1,'tf::StaticPartitioner&lt; C &gt;'],['../classtf_1_1StaticPartitioner.html#a3b8b8040830d1d9f9635090e9af8edf8',1,'tf::StaticPartitioner::StaticPartitioner()=default'],['../classtf_1_1StaticPartitioner.html#aa6dacbd41f721303afe089f65f9f6549',1,'tf::StaticPartitioner::StaticPartitioner(size_t sz)'],['../classtf_1_1StaticPartitioner.html#ac4fb48bea1252246857e11993bee68c6',1,'tf::StaticPartitioner::StaticPartitioner(size_t sz, C &amp;&amp;closure)']]],
  ['statictasklike_81',['StaticTaskLike',['../concepttf_1_1StaticTaskLike.html',1,'tf']]],
  ['statistics_82',['Executor Statistics',['../Profiler.html#ProfilerExecutorStats',1,'']]],
  ['status_20with_20cooperative_20execution_83',['Query Completion Status with Cooperative Execution',['../DependentAsyncTasking.html#QueryTheCompletionStatusOfDependentAsyncTasks',1,'']]],
  ['steal_84',['steal',['../classtf_1_1UnboundedWSQ.html#a0b91802df36d932ee43b10aedc3abebc',1,'tf::UnboundedWSQ::steal()'],['../classtf_1_1BoundedWSQ.html#a57e08d6415b5b586ee32875c91057f35',1,'tf::BoundedWSQ::steal()'],['../classtf_1_1BoundedPriorityWSQ.html#a7c4ff903f70f22f74081b819970ab9bf',1,'tf::BoundedPriorityWSQ::steal()']]],
  ['stealing_20in_20executor_85',['Understand Work Stealing in Executor',['../ExecuteTaskflow.html#UnderstandWorkStealingInExecutor',1,'']]],
  ['stencil_20computation_86',['3D Stencil Computation',['../ExamplesStencil3D.html',1,'Examples']]],
  ['step_201_3a_20flat_20output_20partitioning_87',['Step 1: Flat Output Partitioning',['../ParallelMerge.html#ParallelMergeAlgorithmOverview',1,'']]],
  ['step_201_3a_20look_20around_88',['Step 1: Look around',['../guidelines.html#Step1LookAround',1,'']]],
  ['step_202_3a_20co_20rank_20to_20identify_20input_20subranges_89',['Step 2: Co-rank to Identify Input Subranges',['../ParallelMerge.html#ParallelMergeAlgorithmCorank',1,'']]],
  ['step_202_3a_20write_20a_20taskflow_20program_90',['Step 2: Write a Taskflow program',['../guidelines.html#Step2WriteATaskflowProgram',1,'']]],
  ['step_203_3a_20dive_20in_91',['Step 3: Dive in',['../guidelines.html#Step3WriteATaskflowProgram',1,'']]],
  ['step_203_3a_20how_20co_5frank_20works_20binary_20search_92',['Step 3: How co_rank works? Binary Search!',['../ParallelMerge.html#ParallelMergeAlgorithmBinarySearch',1,'']]],
  ['step_5fsize_93',['step_size',['../classtf_1_1IndexRanges.html#afcb30e2b9567ad685e702201d2265880',1,'tf::IndexRanges::step_size() const'],['../classtf_1_1IndexRanges.html#a71ff92cf18a2ffaa5859a4a8fe270277',1,'tf::IndexRanges::step_size(T new_step_size)']]],
  ['stop_94',['stop',['../classtf_1_1Pipeflow.html#a830b7f204cb87fff17e8d424918d9453',1,'tf::Pipeflow']]],
  ['storage_95',['Storage',['../TaskflowProcessingPipeline.html#TaskflowPipelineStorage',1,'Taskflow Storage'],['../DataParallelPipeline.html#UnderstandInternalDataStorage',1,'Understand Internal Data Storage']]],
  ['storage_20format_96',['The CSR Storage Format',['../ExamplesSpMV.html#SpMVCSR',1,'']]],
  ['stringlike_97',['StringLike',['../concepttf_1_1StringLike.html',1,'tf']]],
  ['strong_20back_20edge_98',['Pitfall 3: Deadlock from Strong Back-edge',['../ConditionalTasking.html#PitfallDeadlock',1,'']]],
  ['structure_99',['Structure',['../ExamplesSpeculativeExecution.html#SpecSingleItem',1,'Per-Item Graph Structure'],['../ExamplesCholesky.html#CholeskyTaskGraph',1,'Task Graph Structure']]],
  ['subflow_100',['SUBFLOW',['../namespacetf.html#a1355048578785a80414707ff308b395aa46be697979903d784a70aeec45eb14ad',1,'tf']]],
  ['subflow_101',['Subflow',['../ExceptionHandling.html#ExceptionHandlingSubflow',1,'Catch an Exception from a Subflow'],['../SubflowTasking.html#CreateANestedSubflow',1,'Create a Nested Subflow'],['../SubflowTasking.html#CreateASubflow',1,'Create a Subflow'],['../SubflowTasking.html#RetainASubflow',1,'Retain a Subflow'],['../classtf_1_1Subflow.html',1,'tf::Subflow']]],
  ['subflow_20explicitly_102',['Join a Subflow Explicitly',['../SubflowTasking.html#JoinASubflow',1,'']]],
  ['subflow_20graph_103',['Create a Subflow Graph',['../index.html#QuickStartCreateASubflowGraph',1,'']]],
  ['subflow_20of_20three_20tasks_20b1_20b2_20and_20b3_20do_20they_20run_20concurrently_20with_20task_20a_104',['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,'']]],
  ['subflow_20tasking_105',['Subflow Tasking',['../SubflowTasking.html',1,'Cookbook']]],
  ['subflows_106',['Recursive and Nested Subflows',['../Profiler.html#ProfilerTipsRecursive',1,'']]],
  ['subflowtasklike_107',['SubflowTaskLike',['../concepttf_1_1SubflowTaskLike.html',1,'tf']]],
  ['submit_20a_20patch_108',['How Can I Submit a Patch?',['../guidelines.html#HowCanISubmitAPatch',1,'']]],
  ['submit_20asynchronous_20tasks_20with_20cooperative_20execution_109',['Submit Asynchronous Tasks with Cooperative Execution',['../TaskGroup.html#SubmitAsynchronousTasksWithCooperativeExecution',1,'']]],
  ['subranges_110',['Step 2: Co-rank to Identify Input Subranges',['../ParallelMerge.html#ParallelMergeAlgorithmCorank',1,'']]],
  ['succeed_111',['succeed',['../classtf_1_1Task.html#a331b1b726555072e7c7d10941257f664',1,'tf::Task::succeed()'],['../classtf_1_1cudaTask.html#a4a9ca1a34bac47e4c9b04eb4fb2f7775',1,'tf::cudaTask::succeed()']]],
  ['summary_112',['Summary',['../release-roadmap.html#MilestoneSummary',1,'Milestone Summary'],['../release-4-2-0.html#release-4-2-0_summary',1,'Release Summary'],['../release-4-1-0.html#release-4-1-0_summary',1,'Release Summary'],['../release-4-0-0.html#release-4-0-0_summary',1,'Release Summary'],['../release-3-11-0.html#release-3-11-0_summary',1,'Release Summary'],['../release-3-10-0.html#release-3-10-0_summary',1,'Release Summary'],['../release-3-9-0.html#release-3-9-0_summary',1,'Release Summary'],['../release-3-8-0.html#release-3-8-0_summary',1,'Release Summary'],['../release-3-7-0.html#release-3-7-0_summary',1,'Release Summary'],['../release-3-6-0.html#release-3-6-0_summary',1,'Release Summary'],['../release-3-5-0.html#release-3-5-0_summary',1,'Release Summary'],['../release-3-4-0.html#release-3-4-0_summary',1,'Release Summary'],['../release-3-3-0.html#release-3-3-0_summary',1,'Release Summary']]],
  ['summary_20to_20console_113',['Display Profile Summary to Console',['../Profiler.html#ProfilerDisplayProfileSummary',1,'']]],
  ['support_20pipeline_20parallelism_114',['Q16: Does Taskflow support pipeline parallelism?',['../FAQ.html#GeneralQuestion16',1,'']]],
  ['supported_20compilers_115',['Supported Compilers',['../index.html#SupportedCompilers',1,'Supported Compilers'],['../install.html#BAISupportedCompilers',1,'Supported Compilers']]],
  ['sweeps_116',['Multiple Sweeps',['../ExamplesStencil3D.html#Stencil3DMultipleSweeps',1,'']]],
  ['switch_20control_20flow_117',['Implement Switch Control Flow',['../ConditionalTasking.html#ImplementSwitchControlFlow',1,'']]],
  ['syclflow_118',['syclFlow',['../release-3-4-0.html#release-3-4-0_syclflow',1,'syclFlow'],['../release-3-3-0.html#release-3-3-0_syclflow',1,'syclFlow'],['../release-3-2-0.html#release-3-2-0_syclflow',1,'syclFlow']]],
  ['synchronize_119',['synchronize',['../classtf_1_1cudaStreamBase.html#a1e5140505629afd4b3422399f8080cb0',1,'tf::cudaStreamBase']]],
  ['synchronous_20propagation_120',['Scenario 1: Synchronous Propagation',['../ExceptionHandling.html#Scenario1SynchronousExceptionPropagation',1,'']]],
  ['system_121',['A General-purpose Task-parallel Programming System',['../index.html',1,'']]],
  ['system_20requirements_122',['System Requirements',['../release-4-2-0.html#release-4-2-0_system_requirements',1,'System Requirements'],['../release-4-1-0.html#release-4-1-0_system_requirements',1,'System Requirements'],['../release-4-0-0.html#release-4-0-0_system_requirements',1,'System Requirements'],['../release-3-11-0.html#release-3-11-0_system_requirements',1,'System Requirements'],['../release-3-10-0.html#release-3-10-0_system_requirements',1,'System Requirements'],['../release-3-9-0.html#release-3-9-0_system_requirements',1,'System Requirements'],['../release-3-8-0.html#release-3-8-0_system_requirements',1,'System Requirements'],['../release-3-7-0.html#release-3-7-0_system_requirements',1,'System Requirements'],['../release-3-6-0.html#release-3-6-0_system_requirements',1,'System Requirements'],['../release-3-5-0.html#release-3-5-0_system_requirements',1,'System Requirements'],['../release-3-4-0.html#release-3-4-0_system_requirements',1,'System Requirements'],['../release-3-3-0.html#release-3-3-0_system_requirements',1,'System Requirements'],['../release-3-2-0.html#release-3-2-0_system_requirements',1,'System Requirements'],['../release-3-1-0.html#release-3-1-0_system_requirements',1,'System Requirements'],['../release-3-0-0.html#release-3-0-0_system_requirements',1,'System Requirements']]],
  ['systems_123',['Q9: How does it compare to existing task programming systems?',['../FAQ.html#GeneralQuestion9',1,'']]]
];
