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

Start testing framework, with prefix sum #123

Merged
merged 5 commits into from
Nov 10, 2021
Merged

Start testing framework, with prefix sum #123

merged 5 commits into from
Nov 10, 2021

Conversation

raphlinus
Copy link
Contributor

This adds a new testing directory, and starts populating it with prefix sum implementations, both decoupled look-back and tree reduction. The intent is to build out more tests, and more options for configuring and reporting, but for now it's pretty bare-bones.

This will subsume #92; I also plan to get updated versions of the atomic litmus tests in there and have a bunch locally that I'm experimenting with.

Shaders are built for 3 languages, but the code only runs on Vulkan for now. I have gotten the tree reduction working on both Metal and DX12 with some tweaks, though timer queries are not supported on either yet. I'll do some portability improvements as a follow-on (and will use these tests to push that work forward).

This adds a prefix sum test. This patch is also trying to get a little
more serious about structuring both the test runner (toward the goal of
collecting proper statistics) and pipeline stages for the tests.

Still WIP but giving good results.
Do a tree reduction in addition to the existing decoupled look-back, to
explore the tradeoff between performance and compatibility.
Also add finish_timestamps call, which is needed for DX12 (there are
other issues but this is an easy fix for that one).
Have a structured way of gathering test results, rather than the
existing ad hoc approach of just printing stuff.

The details are still pretty primitive, but there's room to grow.
@raphlinus raphlinus marked this pull request as ready for review November 9, 2021 22:42
@raphlinus
Copy link
Contributor Author

Going to merge this now even though it feels a bit incomplete, as I'm doing some of the DX12 portability (#125) work on top of it.

@raphlinus raphlinus merged commit 19fedf3 into master Nov 10, 2021
@raphlinus raphlinus deleted the tests branch November 10, 2021 19:10
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.

1 participant