[Testing] Split up scan tests#2676
Conversation
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>
There was a problem hiding this comment.
Pull request overview
This PR refactors the numeric scan tests to be more manageable by splitting the prior combined coverage into multiple focused test files (inclusive/exclusive, plus/binary-op/multiplies, and USM), while also fixing a serial-range bug and reducing the debug “large” test size.
Changes:
- Split the former combined scan tests into separate inclusive/exclusive test executables (plus, matrix/binary-op, multiplies, and USM variants).
- Extracted shared USM scan test helpers into
test/support/utils_scan.hand fixed the serial expected-range end iterator (keys_first + n). - Reduced the debug large-case item count to 1M and removed inclusive/exclusive ifdef switching in favor of per-file variants.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| test/support/utils_scan.h | Convert former USM scan test into reusable helper header; fix expected-range end iterator. |
| test/parallel_api/numeric/numeric.ops/scan.pass.cpp | Delete old combined inclusive/exclusive scan test. |
| test/parallel_api/numeric/numeric.ops/inclusive_scan.pass.cpp | New inclusive “plus” scan coverage (host + hetero large case). |
| test/parallel_api/numeric/numeric.ops/inclusive_scan_matrix.pass.cpp | New inclusive binary-op “matrix” scan coverage (incl. in-place). |
| test/parallel_api/numeric/numeric.ops/inclusive_scan_multiplies.pass.cpp | New inclusive multiplies scan coverage (hetero). |
| test/parallel_api/numeric/numeric.ops/inclusive_scan_usm.pass.cpp | New inclusive USM scan coverage using shared helpers. |
| test/parallel_api/numeric/numeric.ops/exclusive_scan.pass.cpp | Add exclusive “plus” scan coverage alongside existing USM tests. |
| test/parallel_api/numeric/numeric.ops/exclusive_scan_matrix.pass.cpp | New exclusive binary-op “matrix” scan coverage (incl. in-place). |
| test/parallel_api/numeric/numeric.ops/exclusive_scan_multiplies.pass.cpp | New exclusive multiplies scan coverage (hetero). |
| test/parallel_api/numeric/numeric.ops/exclusive_scan_usm.pass.cpp | New exclusive USM scan coverage using shared helpers. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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>
|
@danhoeflinger can you confirm that all large submitters will continue using with the new data size in debug mode? |
@SergeyKopienko |
This PR attempts to make the scan tests more manageable by breaking the current 2 tests into 8 tests.
The number of complicated kernels in individual tests is too large without this split causing issues with windows dpcpp debug tests. This also makes test results much more clear about what is failing when something does fail.
It should keep the same coverage with 3 caveats:
keys_last + nwas used as the end of the sequence for a serial call (should bekeys_first + n).Here is a map of how things moved around:
scan.pass.cpp (deleted) -> split into:
scan_2.pass.cpp (renamed) -> split into: