It seems likely that the compiled task graph in Ray Compiled Graph is defined at the pipeline level—meaning, it is constructed based on the specific actors, methods, and data flow you define before execution. If two users provide different actors or datasets, the compiled graph for each user will be different, as the static graph is built from the actual pipeline structure and resources specified for each run. The graph is not shared or reused across different user pipelines unless their definitions are identical. See Compiled Graph docs and quickstart.
When discussing dynamic graph execution, the information about dependencies, resources, and data flow is determined at runtime for each individual run of batch inference. This means that for every execution, Ray dynamically constructs and schedules the task graph based on the current input, actors, and data, rather than reusing a precompiled structure across runs. So, the runtime graph is specific to each batch inference execution, not shared globally. See Ray DAG discussion.
Would you like a more detailed breakdown or a code example?
Sources:
Hint: Mention @RunLLM in the post for followups.