Skip to content

Conversation

svishnus
Copy link
Collaborator

  • Test Runner integration with CI

@svishnus svishnus requested a review from shwestrick September 10, 2025 17:36
@svishnus svishnus self-assigned this Sep 10, 2025
@shwestrick
Copy link
Collaborator

Would it be possible to run tests by checking out parallel-ml-bench only within the github action? To avoid duplicating that code here. We can let parallel-ml-bench be the definitive source of the benchmark codes.

@Forthoney
Copy link
Collaborator

make test run all the tests with mlton in a push-button manner. The same should apply for make test SMLC=../build/bin/mpl, but some tests like "dedup" apparently use deprecated functionality. If @svishnus can look at such tests and replace the deprecated functionality with their modern counterparts I think we would be ready to publish this PR.

@shwestrick
Copy link
Collaborator

@svishnus @Forthoney my one request would just be to keep the benchmark sources outside of MPLLang/mpl version control. It would be a bit of a nightmare to have two separate versions of the benchmarks to maintain. We can let MPLLang/parallel-ml-bench be the source of the benchmarks.

@Forthoney
Copy link
Collaborator

@svishnus @Forthoney my one request would just be to keep the benchmark sources outside of MPLLang/mpl version control. It would be a bit of a nightmare to have two separate versions of the benchmarks to maintain. We can let MPLLang/parallel-ml-bench be the source of the benchmarks.

I was actually thinking of freezing the scripts we have in this repo and think of them as rudimentary tests (compiling properly, not segfaulting) rather than benchmarks. It just happened to be that the benchmarks repo had the most diverse set of realistic programs.

If we have new benchmarks or optimizations to the algos in the benchmarks, these would not reflect it since they are for correctness.

@shwestrick
Copy link
Collaborator

shwestrick commented Sep 17, 2025

Gotcha -- this makes sense but I worry that the code duplication will become a problem. Inevitably, updates will happen in one place and we will want to port them across... we'll end up with duplicated work and/or inconsistent versions.

Rather than vendor the frozen benchmarks, we could accomplish the same by hardcoding a particular commit of parallel-ml-bench and git cloning. This would (I think?) be a fairly small change from what you currently have and would allow for updating the commit hash in the future if we update benchmarks.

And, this would move in the direction of making parallel-ml-bench be more useful. We can extend it with additional functionality. Already it is good for performance tests; we could incrementally make it better for correctness tests, too. (Some of the benchmarks already have a --check flag; we could incrementally add this to more benchmarks.)

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants