Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate cached version of MLIR and CIRCT for master #763

Merged
merged 3 commits into from
Jan 22, 2025
Merged

Conversation

sjalander
Copy link
Collaborator

The cache is not shared between branches, resulting in CIRCT and MLIR being built each time a new PR is created.

This creates a cached version of MLIR and CIRCT for master, which is shared with derived branches.

The cache is not shared between branches resulting in CIRCT and
MLIR being built each time a new PR is created.

This created a cached version of MLIR and CIRCT for master, which
is shared with derived branches.
Copy link

The execution time of dynamatic/kernel_2mm has changed
  Golden cycle time: 24621
  Simulated cycles: 24701

@sjalander sjalander marked this pull request as ready for review January 21, 2025 14:40
@sjalander sjalander requested review from phate and haved January 21, 2025 14:40
Copy link

The execution time of dynamatic/kernel_2mm has changed
  Golden cycle time: 24621
  Simulated cycles: 24701

@phate
Copy link
Owner

phate commented Jan 22, 2025

@sjalander What is the idea here? You create a single cached instance of CIRCT and MLIR on every push to master that is then used by future PRs instead of them building it?

What happens if the version, i.e., commit, of CIRCT/MLIR changes within a PR?

@sjalander
Copy link
Collaborator Author

sjalander commented Jan 22, 2025

@phate The build should only happen if it hasn't already been cached in master, i.e., not on every push. So it should only happen once the commit hash of MLIR/CIRCT has been updated as this is used for the key to check the cache, or if the cache gets garbage collected by github.

The PR checks the cache with the key based on the commit hash. So, if CIRCT or MLIR gets updated, then the key will not match and miss in the cache. It will then be built for the PR and then a second time when merged with master. After this, all new PRs should use the cached version built in master.

@sjalander sjalander merged commit f507a19 into master Jan 22, 2025
12 checks passed
@sjalander sjalander deleted the default-cache branch January 22, 2025 20:22
sjalander added a commit that referenced this pull request Jan 22, 2025
The cache is not shared between branches, resulting in CIRCT and MLIR
being built each time a new PR is created.

This creates a cached version of MLIR and CIRCT for master, which is
shared with derived branches.
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