intel / intel/llvm

[SYCL][E2E] `syclcompat/launch/launch_properties.cpp` fails compilation, this test also never runs on CI

Open
#16,794 6 comments 0 reactions 0 assignees View on GitHub
bug confirmed syclcompat
Dominant language
LLVM
Stars
1.5k
Forks
854
Avg merge
3d 17h
Merged PRs (30d)
137

Description

### Describe the bug

This test does not run on CI due to the `REQUIRES: aspect-ext_oneapi_cuda_cluster_group` line, when trying to compile this for the nvidia triple on build-only mode it fails with the following error message:

To run: `llvm-lit ./syclcompat/launch/launch_properties.cpp --param test-mode=build-only -a --param sycl_build_targets="nvidia"`

```
-- Testing: 1 tests, 1 workers --
FAIL: SYCL :: syclcompat/launch/launch_properties.cpp (1 of 1)
******************** TEST 'SYCL :: syclcompat/launch/launch_properties.cpp' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 27
/home/llvm/build/bin/clang++ -Werror -Wno-error=#warnings -Wno-error=deprecated-declarations -fsycl -fsycl-targets=nvptx64-nvidia-cuda /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp -Xsycl-target-backend=nvptx64-nvidia-cuda --cuda-gpu-arch=sm_90 -o /home/llvm/build/tools/sycl/test-e2e/syclcompat/launch/Output/launch_properties.cpp.tmp.out
# executed command: /home/llvm/build/bin/clang++ -Werror '-Wno-error=#warnings' -Wno-error=deprecated-declarations -fsycl -fsycl-targets=nvptx64-nvidia-cuda /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp -Xsycl-target-backend=nvptx64-nvidia-cuda --cuda-gpu-arch=sm_90 -o /home/llvm/build/tools/sycl/test-e2e/syclcompat/launch/Output/launch_properties.cpp.tmp.out
# .---command stderr------------
# | In file included from /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:34:
# | In file included from /home/llvm/build/bin/../include/syclcompat/launch.hpp:32:
# | /home/llvm/build/bin/../include/syclcompat/device.hpp:470:2: warning: "Querying the number of bytes of free memory is not supported" [-W#warnings]
# | 470 | #warning "Querying the number of bytes of free memory is not supported"
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:81:29: error: calling a private constructor of class 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>'
# | 81 | compat_exp::launch_policy policy{global_range, local_range,
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:96:7: note: in instantiation of function template specialization 'test_cluster_launch_parallel_for<3>' requested here
# | 96 | test_cluster_launch_parallel_for(sycl::range{128, 128, 128},
# | | ^
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:114:3: note: declared private here
# | 114 | launch_policy(Ts... ts)
# | | ^
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:129:9: error: static assertion failed due to requirement 'std::conjunction_v>, syclcompat::experimental::detail::is_launch_properties>, syclcompat::experimental::detail::is_local_mem_size>>, std::disjunction>, syclcompat::experimental::detail::is_launch_properties>, syclcompat::experimental::detail::is_local_mem_size>>, std::disjunction>>>>, syclcompat::experimental::detail::is_launch_properties>>>>, syclcompat::experimental::detail::is_local_mem_size>>>>>>': Received an unexpected argument to ctor. Did you forget to wrap in compat::kernel_properties, launch_properties, local_mem_size?
# | 129 | std::conjunction_v,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 130 | detail::is_launch_properties,
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 131 | detail::is_local_mem_size>...>,
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:124:5: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>::check_variadic_args, sycl::range<3>, syclcompat::experimental::launch_properties>>>>' requested here
# | 124 | check_variadic_args(ts...);
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:81:29: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>::launch_policy, sycl::range<3>, syclcompat::experimental::launch_properties>>>>' requested here
# | 81 | compat_exp::launch_policy policy{global_range, local_range,
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:96:7: note: in instantiation of function template specialization 'test_cluster_launch_parallel_for<3>' requested here
# | 96 | test_cluster_launch_parallel_for(sycl::range{128, 128, 128},
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:81:29: error: calling a private constructor of class 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>'
# | 81 | compat_exp::launch_policy policy{global_range, local_range,
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:99:7: note: in instantiation of function template specialization 'test_cluster_launch_parallel_for<2>' requested here
# | 99 | test_cluster_launch_parallel_for(
# | | ^
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:114:3: note: declared private here
# | 114 | launch_policy(Ts... ts)
# | | ^
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:129:9: error: static assertion failed due to requirement 'std::conjunction_v>, syclcompat::experimental::detail::is_launch_properties>, syclcompat::experimental::detail::is_local_mem_size>>, std::disjunction>, syclcompat::experimental::detail::is_launch_properties>, syclcompat::experimental::detail::is_local_mem_size>>, std::disjunction>>>>, syclcompat::experimental::detail::is_launch_properties>>>>, syclcompat::experimental::detail::is_local_mem_size>>>>>>': Received an unexpected argument to ctor. Did you forget to wrap in compat::kernel_properties, launch_properties, local_mem_size?
# | 129 | std::conjunction_v,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 130 | detail::is_launch_properties,
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 131 | detail::is_local_mem_size>...>,
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:124:5: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>::check_variadic_args, sycl::range<2>, syclcompat::experimental::launch_properties>>>>' requested here
# | 124 | check_variadic_args(ts...);
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:81:29: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>::launch_policy, sycl::range<2>, syclcompat::experimental::launch_properties>>>>' requested here
# | 81 | compat_exp::launch_policy policy{global_range, local_range,
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:99:7: note: in instantiation of function template specialization 'test_cluster_launch_parallel_for<2>' requested here
# | 99 | test_cluster_launch_parallel_for(
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:81:29: error: calling a private constructor of class 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>'
# | 81 | compat_exp::launch_policy policy{global_range, local_range,
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:101:7: note: in instantiation of function template specialization 'test_cluster_launch_parallel_for<1>' requested here
# | 101 | test_cluster_launch_parallel_for(sycl::range{128}, sycl::range{32},
# | | ^
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:114:3: note: declared private here
# | 114 | launch_policy(Ts... ts)
# | | ^
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:129:9: error: static assertion failed due to requirement 'std::conjunction_v>, syclcompat::experimental::detail::is_launch_properties>, syclcompat::experimental::detail::is_local_mem_size>>, std::disjunction>, syclcompat::experimental::detail::is_launch_properties>, syclcompat::experimental::detail::is_local_mem_size>>, std::disjunction>>>>, syclcompat::experimental::detail::is_launch_properties>>>>, syclcompat::experimental::detail::is_local_mem_size>>>>>>': Received an unexpected argument to ctor. Did you forget to wrap in compat::kernel_properties, launch_properties, local_mem_size?
# | 129 | std::conjunction_v,
# | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 130 | detail::is_launch_properties,
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 131 | detail::is_local_mem_size>...>,
# | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:124:5: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>::check_variadic_args, sycl::range<>, syclcompat::experimental::launch_properties>>>>' requested here
# | 124 | check_variadic_args(ts...);
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:81:29: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy, sycl::ext::oneapi::experimental::properties>, sycl::ext::oneapi::experimental::properties>>, false>::launch_policy, sycl::range<>, syclcompat::experimental::launch_properties>>>>' requested here
# | 81 | compat_exp::launch_policy policy{global_range, local_range,
# | | ^
# | /home/llvm/sycl/test-e2e/syclcompat/launch/launch_properties.cpp:101:7: note: in instantiation of function template specialization 'test_cluster_launch_parallel_for<1>' requested here
# | 101 | test_cluster_launch_parallel_for(sycl::range{128}, sycl::range{32},
# | | ^
# | 1 warning and 6 errors generated.
# `-----------------------------
# error: command failed with exit status: 1

--

********************
********************
Failed Tests (1):
SYCL :: syclcompat/launch/launch_properties.cpp

```

### To reproduce

1. Include a code snippet that is as short as possible
2. Specify the command which should be used to compile the program
3. Specify the command which should be used to launch the program
- `llvm-lit ./syclcompat/launch/launch_properties.cpp --param test-mode=build-only -a --param sycl_build_targets="nvidia"`
4. Indicate what is wrong and what was expected
- test fails to build, see above

### Environment

- OS: Linux, alldeps container
- Target device and vendor: n/a, fails at compilation
- DPC++ version: deb3c1c0afd86f3a9608eb691584658f4e559212
- Dependencies version: Build the compiler with nvidia support

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.