Skip to content

vine: dagvine implementation#4253

Draft
JinZhou5042 wants to merge 196 commits into
cooperative-computing-lab:masterfrom
JinZhou5042:task-graph
Draft

vine: dagvine implementation#4253
JinZhou5042 wants to merge 196 commits into
cooperative-computing-lab:masterfrom
JinZhou5042:task-graph

Conversation

@JinZhou5042

@JinZhou5042 JinZhou5042 commented Oct 14, 2025

Copy link
Copy Markdown
Member

Proposed Changes

For #4114, a graph executor on the C side, without dependencies on Dask or other Python requirements.

This PR depends on the other several open PRs to be merged.

An example run by this executor:

image

Merge Checklist

The following items must be completed before PRs can be merged.
Check these off to verify you have completed all steps.

  • make test Run local tests prior to pushing.
  • make format Format source code to comply with lint policies. Note that some lint errors can only be resolved manually (e.g., Python)
  • make lint Run lint on source code prior to pushing.
  • Manual Update: Update the manual to reflect user-visible changes.
  • Type Labels: Select a github label for the type: bugfix, enhancement, etc.
  • Product Labels: Select a github label for the product: TaskVine, Makeflow, etc.
  • PR RTM: Mark your PR as ready to merge.

JinZhou5042 and others added 30 commits May 1, 2025 18:20
@dthain dthain self-requested a review June 8, 2026 14:59

@dthain dthain left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jin, this is on the right track overall. Per our discussion today, you have a nice separation between the graph manager and the vine task manager. Some cleanup items:

  • This component overall will be known as vine_graph (C) or VineGraph (Py) so that it is clearly part of the TaskVine overall project, but clearly distinct from the vine_manager in the code base.
  • The components of vine_graph may not include anything from the manager except the public interface taskvine.h. So, you will have to make a few adjustments so that you are not looking directly into the vine_task and vine_file structures etc, but only using the public APIs. (or adding some API entry points as needed).
  • Naming within the C component should call the structures and corresponding functions vine_graph, vine_graph_node and so forth.
  • Please put all of the C code in taskvine/src/graph without subdirectories.
  • Please put all of the Python code in taskvine/src/bindings/python3/ndcctools/taskvine with names like VineGraph, VineGraphDaskAdaptor and so forth.
  • Add a user facing document that explains how to use VineGraph.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants