microsoft / microsoft/ark

[Question] Reproducing the NSDI'23 vCTA scheduler and profiling workflow

Open
#275 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
133
Forks
21
PR merge metrics
No merged PRs in 30d

Description

Hello ARK maintainers,

Thank you for open-sourcing ARK and for the NSDI'23 paper. I am studying the vCTA-based loop-kernel design, especially the offline scheduling workflow described in Section 3.3 and Figure 6.

While reviewing the repository, I could find implementations for the OpGraph, vCTA/operator kernels, static plan/code generation, and loop-kernel execution. However, I could not identify the full profile-guided scheduling workflow described in the paper: profiling vCTA implementations and their co-running performance, estimating joint efficiency, and using those results to search for the final vCTA-to-SM schedule / fusion decision.

Could you please clarify the following?

  1. Which source files, branch, commit, or external artifact correspond to the scheduler and profiler used for the NSDI'23 evaluation?
  2. Is the profile-guided vCTA co-running / joint-efficiency optimization described in the paper available in the current open-source repository?
  3. If this part was not released, are there plans to open-source it, or is there a reproducible reference example or configuration that demonstrates the original workflow?
  4. Is the current planner/code-generation path intended to replace the paper's profiler-driven scheduler, and if so, what optimization strategy does it use instead?

I may have overlooked the relevant implementation, so any pointers to documentation, commits, or example scripts would be greatly appreciated.

Thank you for your time and for maintaining the project.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the repository's OpGraph, vCTA/operator kernels, static plan and code-generation path, and loop-kernel execution, then compare them with the offline workflow in NSDI'23 Section 3.3 and Figure 6. Done means identifying the scheduler and profiler artifacts or documenting whether the profile-guided workflow is present, replaced, or unavailable.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.