-
Notifications
You must be signed in to change notification settings - Fork 113
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
[test] Add SYCL canary test to identify bad environment / configuration #1824
base: main
Are you sure you want to change the base?
Conversation
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.
The test looks good to me.
Do we want to name this something other than The internal CI specifically builds and runs this test separately, but there could be some advantage to have it included in the full build suite for runs outside the CI, so we can use it as a status there too. |
I agree. Having it compiled/run a second time isn't an issue and the naming should be consistent with other tests we expect to pass. |
I'm going to hold on this PR until we have a system solid within the CI to handle it, in case other changes are found to be needed. |
test() | ||
{ | ||
sycl::queue q(default_selector); | ||
{ |
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.
Small nitpick, but what is the reason for introducing a new scope for the call to submit()
here?
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.
there isn't one. I'll remove it.
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.
done
@danhoeflinger, have you also considered replacing/complementing CMake checks of a compiler? It may be a more nature way to follow, compared to adding a new test along with other test. You can then add logic not to start testing if these checks do not pass, and this will not affect oneDPL pass rate. You can try relying on https://cmake.org/cmake/help/v3.14/command/try_run.html, for example. |
Yes, This was the first avenue I explored but decided against it for the following reasons:
With this setup, we can very easily get the test in the same situation as our other tests from an environment + flag perspective. |
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
070e38e
to
b32ba8a
Compare
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
{ | ||
#if TEST_DPCPP_BACKEND_PRESENT | ||
# if _MSC_VER | ||
char* pValue; |
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 test uses a mix of camelCase, snake_case and double-underscore-prefixed snake_case. Maybe we should align on a single style for variable names.
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.
Sure, this test is a bit sloppy in that regard. I've fixed it up.
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
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.
LGTM
update on this... It seems that inclusion of a broken tbb install may be the bigger issue in our nightly windows CI testing. This may still be a good idea to pursue so I will keep it for now. Once the issue with TBB inclusion on windows in the CI testing is resolved I would like to revisit this. |
This PR adds a SYCL canary test, which is meant to be divorced for oneDPL specifics, and launch a minimal sycl kernel.
This is meant to be used in CI runs, to identify for dpcpp backends when the SYCL environment / setup is invalid, and stop before continuing to main oneDPL tests.
This should provide more stability to aggregated test pass statistics for SYCL, especially on windows, more robust to environmental issues, and provide a tool to more concretely separate issues in oneDPL vs issues in setup.