-
Notifications
You must be signed in to change notification settings - Fork 64
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
Benchmark Runner for C Benchmarks #777
Conversation
I'm noticing that we have BoundedBuffer.lf and ProdCons.lf both here even though they are the same benchmark. I suppose this is (in part) the Savina naming convention causing confusion again. In any case, we should decide which one to keep around before merging this in! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great, @mattchorlian and @LDeng0205! I've only requested minor changes. Let's merge this into master ASAP.
…ed List Benchmark to match the Cpp version
Seems like running |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! Looks like we are close to completing the C benchmarks.
Should we also include the Banking Benchmark #624 here and fix it up?
Seems like running MatMul.lf with more than 1 thread produces a random validation error. I'm guessing it's a memory issue.
Could you describe what the issue seems to be? Is it a segfault that occurs sometimes? Or is the result invalid (since you mention a validation error)? The MatMul benchmark has a built-in race condition and hence the result is expected to be invalid for parallel execution. This is a bug in the original Savina benchmark...
benchmark/runner/conf/benchmark/savina_concurrency_concsll.yaml
Outdated
Show resolved
Hide resolved
the |
Could you elaborate? |
The MatMul benchmark has random validation errors when running with more than 1 thread. Since there is no segfault and the validation error happens at random indices in the matrix, it is most likely a race condition. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks ready to me! This is a big feat and will be very useful for the evaluation of the new schedulers in reactor-c
🚀🚀🚀 Thanks!
Come to thing of it, there is one distinct advantage to adding the other stuff to this PR: we'll have a cleaner history and release notes (if we automatically generate them). Doesn't seem like it would be much work? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great! I am happy with both options, merging as is or including banking as well.
…match other benchmarks
I just added benchmark runner to Banking as well so we could include it with this PR. However, I still have a java.lang.OutOfMemoryError when I compile it with NumAccounts = 1000. |
Is this branch merged with master? It looks like it is still generating in-line code, which suggests it is using a version of master that predates scalability-banks. |
…o c-benchmark-runner
…a-franca into c-benchmark-runner
Opening this draft PR to track progress of converting all C benchmarks to use the benchmark runner: