[CI] Add libclc tests to pre- and post-commit validation#5062
[CI] Add libclc tests to pre- and post-commit validation#5062bader merged 2 commits intointel:syclfrom
Conversation
sycl/test/CMakeLists.txt
Outdated
There was a problem hiding this comment.
I'm not sure if it works. libclc is not enabled by default (only with CUDA/HIP back-ends), so I assume there might be problems if this library is not built. Right?
I suggest adding a separate command to this GitHub Actions script: https://github.com/intel/llvm/blob/sycl/.github/workflows/sycl_linux_build_and_test.yml#L136.
@alexbatashev can help with that.
There was a problem hiding this comment.
You are right: https://github.com/jchlanda/llvm/blob/jakub/check_sycl_check_libclc/buildbot/configure.py#L62
Do you think it's worth adding it to the list of llvm_enabled_projects by default?
There was a problem hiding this comment.
No, it's a dead code by default, but it must be enabled in pre-/post-commit CI validation.
It might be worth adding when CUDA or HIP backends included to the build, but I'd like to avoid the drawback mentioned in the description:
The only slight drawback is that if check-libclc fails it will not proceed to running check-sycl.
To avoid this, we can run check-libclc separately from check-sycl as we do for the compiler (i.e. check-clang).
If we need simplify the workflow for DPC++ compiler developers we can make check-sycl-toolchain CMake target with dependencies on check-* testing the compiler, runtime and other DPC++ components, which can be executed concurrently and do not block each other. Python script instead of cmake target works as well.
There was a problem hiding this comment.
@jchlanda Alexey is right, you don't need to add dependencies to the check-sycl. Please, adjust configure.py call here and just add a new step for the build job as @bader described earlier. All the logs will be public, both pre-commit and post-commit testing will be enabled, and you'll be able to modify the run command as you see fit.
There was a problem hiding this comment.
I've folded it into: b8f99bc
It'll build libclc in ci_default mode and run it through linux build and test. I've decided against adding another target.
8375d1e to
b7d0206
Compare
|
@jchlanda do these logs look right to you? UPD. I guess since no targets were requested, no tests were run ( |
|
|
Yeah, that's exactly it, it was enabled but, like you say, no |
|
@jchlanda, @alexbatashev, sorry, I forgot that this comment is not addressed yet:
So, |
|
yeap, but I don't know if there is a default libclc target that CI machines should be building? |
I assume you wanted to test |
Out of the box |
|
Do we need ROCm device library to run libclc tests? I see that test just emit LLVM. |
I've addressed it in: #5091 |
Follow up to #5062 This PR ensures that `libclc` is built and tested against: * `amdgcn--;amdgcn--amdhsa` * `nvptx64--;nvptx64--nvidiacl`

Run
check-libclcas part of continues integration system. Time-wise it shouldn't be noticeable, on anmi100node it takes ~3.5sec.Also adjust
XFAILs.