worried-airplane-87065
06/20/2025, 6:37 PM@dynamic
workflows to fanout with max-parallelism=200
but we're seeing a great deal of latency in workflow progress. Looking at https://www.union.ai/docs/flyte/deployment/flyte-configuration/performance/ and https://www.union.ai/docs/flyte/user-guide/core-concepts/workflows/subworkflows-and-sub-launch-plans/, it looks like we can achieve similar concurrency by invoking a sublaunch plan 100-1500 times and increasing the free worker count for Flytepropeller. We have explored map_tasks but it's a little too restrictive for our use case. Has anyone been similar situations and would be willing to share how they approached the fanout issue.
Using sub launchplans for fanout
import flytekit as fl
@fl.task
def my_gpu_task() -> None:
pass
@fl.task
def my_cpu_task -> None:
pass
@fl.workflow
def my_workflow() -> None:
my_gpu_task() >> my_cpu_task()
my_workflow_lp = fl.LaunchPlan.get_or_create(my_workflow)
@fl.dynamic
def dynamic_lp(num_fanout: int) -> list[int]:
return [my_workflow_lp() for i in range(num_fanout)]
average-finland-92144
06/24/2025, 11:51 AMaverage-finland-92144
06/24/2025, 11:51 AMaverage-finland-92144
06/24/2025, 11:52 AMworried-airplane-87065
06/24/2025, 3:01 PMworried-airplane-87065
06/24/2025, 3:02 PM