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

Improve coverage sycl interface #1589

Conversation

oleksandr-pavlyk
Copy link
Collaborator

This PR extends test_sycl_queue_submit to use 1D range, 2D range, 3D range and use dependent events.

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to an issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • Have you checked performance impact of proposed changes?
  • If this PR is a work in progress, are you opening the PR as a draft?

Test submit for 1D range, 2D range, and 3D range, and also
specify dependent events.
Copy link

github-actions bot commented Mar 10, 2024

Deleted rendered PR docs from intelpython.github.com/dpctl, latest should be updated shortly. 🤞

Copy link

Array API standard conformance tests for dpctl=0.17.0dev0=py310h15de555_80 ran successfully.
Passed: 906
Failed: 0
Skipped: 94

@oleksandr-pavlyk
Copy link
Collaborator Author

Coverage info: https://coveralls.io/builds/66187084

image

The llvm-cov-report outputs the coverage summary, while llvm-cov-show
displays per-line coverage statistics to identify missed lines.
Let LLVM_TOOLS_HOME and PATH to make llvm-cov, and llvm-profdata
discoverable by cmake.
@oleksandr-pavlyk
Copy link
Collaborator Author

Additional changes pushed:

  • Submit for float64 should only be exercised if device has needed aspect (otherwise coverage and tests can not be run on Iris Xe)
  • submit local_accessor is now done for instances with ndim=1, 2, 3 getting coverage of dpctl_sycl_interface.cpp to over 90%
  • Added test for DPCTLQueue_Create when context ref is nullptr, but device is not to cover few more lines

Changes to tests/CMakeLists.txt:

  • Created target run-c-api-tests to run tests with environment variable set
  • Created target llvm-cov-report to output per-file coverage summary and llvm-cov-show to output per-line coverage info (handly to detect which lines are not covered)
  • Removed llvm-cov (it is now effectively llvm-cov-report)
  • Each llvm-cov-report, llvm-cov-show and llvm-genhtml depend on run-c-api-tests

Changes to dbg_build.sh:

  • Added lines to set PATH and LLVM_TOOLS_HOME env. variable so that cmake can find llvm-cov and other programs
  • Replaced make llvm-genhtml with make llvm-cov-report` in the script.

Copy link

Array API standard conformance tests for dpctl=0.17.0dev0=py310h15de555_85 ran successfully.
Passed: 906
Failed: 0
Skipped: 94

Copy link

Array API standard conformance tests for dpctl=0.17.0dev0=py310h15de555_86 ran successfully.
Passed: 906
Failed: 0
Skipped: 94

Copy link

Array API standard conformance tests for dpctl=0.17.0dev0=py310h15de555_87 ran successfully.
Passed: 906
Failed: 0
Skipped: 94

@oleksandr-pavlyk oleksandr-pavlyk merged commit 0da6390 into feature/local_accessor_kernel_arg Mar 11, 2024
47 of 49 checks passed
@oleksandr-pavlyk oleksandr-pavlyk deleted the improve-coverage-sycl-interface branch March 11, 2024 17:16
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.

2 participants