Add helper library for handcompiling benchmarks and tests #17
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a library (c2cilk) to the handcomp_tests such that it is easier to write "handcompiled" cilk code.
Certain features are written to make it a bit more annoying to use than otherwise could be achieved specifically because
we don't currently intend for this to be used outside of internal testing/benchmarking.
For internal benchmarking of opencilk, c2cilk makes it easier to write/port benchmarks to a handcompiled version such that we can test performance of cheetah in isolation of changes to the OpenCilk compiler. When compiled with
-fopencilk
, however, c2cilk will use the cilk_spawn, cilk_sync, etc., keywords, such that we can run roughly the same tests/benchmarks using the OpenCilk compiler.I've tested the current handcomp_tests benchmarks on an x86_64 machine without avx, and there is no change in performance between the old handcompiled code and the handcompiled code using c2cilk.