Skip to content
This repository was archived by the owner on Jul 13, 2026. It is now read-only.
This repository was archived by the owner on Jul 13, 2026. It is now read-only.

Design testing approach to compare instructions generated by dpex and sycl #1186

Description

@ZzEeKkAa

We need to make sure that numba_dpex generate same llvm instructions as sycl.

Proposal:

LLVM uses FileCheck because they are comparing strings generated for the different platform. We may not need this flexibility, since we want to compare generated llvm code. It is always the same since we don't have options that affect llvm generated code. We may use this feature if cuda specific llvm ir will differe.

FileCheck is just a command line tool that needs to be called. We may want to write python wrapper for it.

Possible check flow:

  1. create sycl kernel with filecheck llvm instructions in the code
  2. run tests on those cpp files (we want to catch if sycl behavior changes)
  3. create same dpex kernels (just kernels without instructions)
  4. generate llvm ir code for each dpex kernel
  5. run FileCheck on dpex llvm code comparing it to the corresponding filecheck of sycl kernel

4 and 5 can be performed as cli commands and put in the cpp code.

Implementation status:

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions