Skip to content

[CI] Improved How The CI Handles Num Cores Used #2759

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

Conversation

AlexandreSinger
Copy link
Contributor

Found that the CI was always building and running using only 2 cores on the regular tests. However, the CI has 4 cores that it can use. The number of cores can change based on some factors.

Added the ability of the tests to check how many cores they have available, and use all the cores to build and run VTR tests.

@github-actions github-actions bot added infra Project Infrastructure lang-shell Shell scripts (bash etc.) labels Oct 4, 2024
Found that the CI was always building and running using only 2 cores on
the regular tests. However, the CI has 4 cores that it can use. The
number of cores can change based on some factors.

Added the ability of the tests to check how many cores they have
available, and use all the cores to build and run VTR tests.
@AlexandreSinger AlexandreSinger force-pushed the feature-ci-test-num-proc-upgrade branch from f6260f3 to e5c2392 Compare October 4, 2024 19:11
@AlexandreSinger
Copy link
Contributor Author

@vaughnbetz This is ready for review. Comparing the runtime of these Tests and Test for a previous run, this runtime is around 20 minutes faster overall. Based on the CI, Test usually takes around 1 hour and 15 minutes; after this change, Test now takes around 55 minutes. Each job in Test appears to be taking around 10-20% less time. I think the overall improvement would continue to improve once we remove the Odin tests.

Although 20 minutes does not seem like much, the CI is being throttled heavily. There appears to be N GitHub runners available, but each run of the CI takes around 2N runners to complete. This creates a bottleneck especially if many people are trying to run the CI at the same time. Optimizing how long each test runs can help alleviate the bottleneck.

@AlexandreSinger AlexandreSinger merged commit f85b422 into verilog-to-routing:master Oct 7, 2024
35 of 53 checks passed
@AlexandreSinger AlexandreSinger deleted the feature-ci-test-num-proc-upgrade branch November 27, 2024 19:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infra Project Infrastructure lang-shell Shell scripts (bash etc.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant