You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
create sycl kernel with filecheck llvm instructions in the code
run tests on those cpp files (we want to catch if sycl behavior changes)
create same dpex kernels (just kernels without instructions)
generate llvm ir code for each dpex kernel
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.
ZzEeKkAa
changed the title
Create design for testing instructions generated by dpex and sycl
Design testing approach to compare instructions generated by dpex and sycl
Oct 20, 2023
Compare this line to the llvm output of cpp code. We can use Filecheck here, since we need to compile cpp code using cli anyway.
The llvm IR generated from a cpp code and that from a python code might not be always ad-verbatim for a complex program with lots of variables, branching and loops, especially if you are planning to do a line-by-line comparison. You can check it here:
We need to make sure that
numba_dpex
generate same llvm instructions assycl
.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:
4 and 5 can be performed as cli commands and put in the cpp code.
Implementation status:
The text was updated successfully, but these errors were encountered: