-
Notifications
You must be signed in to change notification settings - Fork 1k
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
[GPU] Improve reference kernel coverage. #2366
base: main
Are you sure you want to change the base?
Conversation
make test |
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.
My 2 cents on targeting specific implementations in our ci coverage: it would increase ci testing scope with no clear value since ref impls should be tested by HW configuration that do not dispatch optimized ones.
For that reason, I would keep --global-impl flag out of the input files, and have it used for development purpose only.
@@ -33,3 +33,19 @@ | |||
--attr-post-ops=,linear:2:1 | |||
--runtime_dims_masks=1:0,3:3 | |||
--batch=shapes_2d_ci | |||
|
|||
# Decompression |
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.
these do not seem to cover decompression as fp-mathmode is not set here. Am I missing something?
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.
thanks for pointing this out. Added.
src/gpu/intel/primitive_conf.hpp
Outdated
@@ -689,7 +689,7 @@ void def_eltwise_alg_kinds(compute::kernel_ctx_t &kernel_ctx); | |||
|
|||
bool post_ops_with_binary_ok(const primitive_attr_t *attr, | |||
const data_type_t dst_dt, const int max_ndims_supported = 2, | |||
const int prelu_mask_supported = 3); | |||
const int prelu_mask_supported = 0xFFFF); |
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.
should the default value just be dropped if it doesnt restrict any value?
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.
5d9fc27
to
afe7feb
Compare
This PR was opened in response to an issue where oneDNN was run on HW that was not supported yet and the reference implementation returned unimplemented, ultimately causing a primitive creation failure. The idea here was to introduce some limited testing to have better coverage of ref kernels. |
make test |
@@ -188,6 +188,11 @@ mb128ic3ih230oc64oh112kh7sh2ph0 | |||
--dir=BWD_WB | |||
--batch=shapes_mem_strided | |||
|
|||
# ref smoke test | |||
--global-impl=ref |
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.
@dzarukin Please take a look at this usage. Is it okay to have --global-impl
in batch files? If not, please advise on how to handle this better.
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.
I would suggest to copy-exact the content of the smoke file with a proper comment (if that's the target coverage set) and use --impl
in the batch file instead.
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.
I created separate files for ref smoke tests.
afe7feb
to
2735485
Compare
make test |
2735485
to
b1d384c
Compare
make test |
Thanks for the clarification. I wonder if it might be less ressource consuming to add a configuration that would fallback to ref impl in our test matrix vs running reference impl test on all configurations. |
921efc6
to
fd4feb6
Compare
It doesn't look like there is some environment variable to do this on the driver side. The smoke tests here are quite small; based off my testing should be about 5-10 mins per primitive to run. |
"smoke tests" sounds like something that could be covered with randomized test cases as well: #2434 + @rjoursler We may have 100-200 small/medium test cases (that we can call "smoke" or "random") per primitive which can be used to test reference implementations. Once the test generator uniformly supports various features we should have pretty good coverage with very limited amount of testing. |
fd4feb6
to
c5fedda
Compare
Addresses https://jira.devtools.intel.com/browse/MFDNN-12444.
Broaden ocl:ref coverage and add some smoke tests for key compute bound primitives.