oneapi-src / oneapi-src/unified-runtime

Improve compiler interface testing

Open
#1,197 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Our testing of the compilation related Program* APIs is fairly basic at the moment, there's a lot we could do with it to improve coverage and rigour. To that end we should track any ideas that come up for this kind of testing here.

This was inspired by #877 which fixes a bug in the ProgramLink tests by making them worse: it turns out we can't link together two binaries that come out of our device binary generation system, so pending a potentially quite tricky rework of that we've had to settle for just linking one program. Therefore:

  • Implement a ProgramLink test which links together multiple programs

After a quick look at the ProgramBuild and ProgramCompile tests it also occurred to me that we should probably

  • Verify program state in ProgramBuild and ProgramCompile tests with appropriate ProgramGetInfo and ProgramGetBuildInfo queries

When urProgramCreateWithBinary is modified by #2147 to allow multiple binaries and multiple devices we should test that properly:

  • Write a multi-device ProgramCreateWithBinary test

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 existing ProgramLink, ProgramBuild, and ProgramCompile tests, then review the ProgramGetInfo and ProgramGetBuildInfo queries they can use to verify state. Keep the limitations from #877 in mind, and revisit urProgramCreateWithBinary after #2147; done means the listed multi-program, state-verification, and multi-device cases are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.