oneapi-src / oneapi-src/unified-runtime

Fix urEnqueueKernelLaunchTest.InvalidKernelArgs for CUDA backend

Open
#2,720 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

conformance cuda
Dominant language
C++
Stars
57
Forks
120
Avg merge
1d 14h
Merged PRs (30d)
1

Description

https://github.com/intel/llvm/pull/17068 changed the semantics for urEnqueueKernelLaunch to make validation optional; Implementations may return either INVALID_ARGS or SUCCESS if the arguments are wrong.

However, the Cuda backend in the InvalidKernelArgs test returns UR_RESULT_ERROR_INVALID_VALUE. This is because cuLaunchKernel returns CUDA_ERROR_INVALID_VALUE for the (incorrect) values in the test.

The implementation of urEnqueueKernelLaunch should be updated to either return INVALID_ARGS or SUCCESS. Note that validation is optional, so if the CUDA driver is unable to perform the validation, it is allowed to report a success even if the args are invalid.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the CUDA backend implementation of urEnqueueKernelLaunch and the urEnqueueKernelLaunchTest.InvalidKernelArgs test. Run that test to reproduce the CUDA_ERROR_INVALID_VALUE result, then trace the returned status through the implementation. Done means the test receives either INVALID_ARGS or SUCCESS for the invalid arguments.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.