Skip to content

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

Open
@ayylol

Description

@ayylol

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::nd_range<3>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<3>>>, 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<std::disjunction<syclcompat::experimental::detail::is_kernel_properties<sycl::range<3>>, syclcompat::experimental::detail::is_launch_properties<sycl::range<3>>, syclcompat::experimental::detail::is_local_mem_size<sycl::range<3>>>, std::disjunction<syclcompat::experimental::detail::is_kernel_properties<sycl::range<3>>, syclcompat::experimental::detail::is_launch_properties<sycl::range<3>>, syclcompat::experimental::detail::is_local_mem_size<sycl::range<3>>>, std::disjunction<syclcompat::experimental::detail::is_kernel_properties<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<3>>>>>, syclcompat::experimental::detail::is_launch_properties<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<3>>>>>, syclcompat::experimental::detail::is_local_mem_size<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<3>>>>>>>': Received an unexpected argument to ctor. Did you forget to wrap in compat::kernel_properties, launch_properties, local_mem_size?
# |   129 |         std::conjunction_v<std::disjunction<detail::is_kernel_properties<Ts>,
# |       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |   130 |                                             detail::is_launch_properties<Ts>,
# |       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |   131 |                                             detail::is_local_mem_size<Ts>>...>,
# |       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:124:5: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy<sycl::nd_range<3>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<3>>>, false>::check_variadic_args<sycl::range<3>, sycl::range<3>, syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<3>>>>>' 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::nd_range<3>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<3>>>, false>::launch_policy<sycl::range<3>, sycl::range<3>, syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<3>>>>>' 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::nd_range<2>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<2>>>, 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<std::disjunction<syclcompat::experimental::detail::is_kernel_properties<sycl::range<2>>, syclcompat::experimental::detail::is_launch_properties<sycl::range<2>>, syclcompat::experimental::detail::is_local_mem_size<sycl::range<2>>>, std::disjunction<syclcompat::experimental::detail::is_kernel_properties<sycl::range<2>>, syclcompat::experimental::detail::is_launch_properties<sycl::range<2>>, syclcompat::experimental::detail::is_local_mem_size<sycl::range<2>>>, std::disjunction<syclcompat::experimental::detail::is_kernel_properties<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<2>>>>>, syclcompat::experimental::detail::is_launch_properties<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<2>>>>>, syclcompat::experimental::detail::is_local_mem_size<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<2>>>>>>>': Received an unexpected argument to ctor. Did you forget to wrap in compat::kernel_properties, launch_properties, local_mem_size?
# |   129 |         std::conjunction_v<std::disjunction<detail::is_kernel_properties<Ts>,
# |       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |   130 |                                             detail::is_launch_properties<Ts>,
# |       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |   131 |                                             detail::is_local_mem_size<Ts>>...>,
# |       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:124:5: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy<sycl::nd_range<2>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<2>>>, false>::check_variadic_args<sycl::range<2>, sycl::range<2>, syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<2>>>>>' 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::nd_range<2>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<2>>>, false>::launch_policy<sycl::range<2>, sycl::range<2>, syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<2>>>>>' 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::nd_range<>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<1>>>, 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<std::disjunction<syclcompat::experimental::detail::is_kernel_properties<sycl::range<1>>, syclcompat::experimental::detail::is_launch_properties<sycl::range<1>>, syclcompat::experimental::detail::is_local_mem_size<sycl::range<1>>>, std::disjunction<syclcompat::experimental::detail::is_kernel_properties<sycl::range<1>>, syclcompat::experimental::detail::is_launch_properties<sycl::range<1>>, syclcompat::experimental::detail::is_local_mem_size<sycl::range<1>>>, std::disjunction<syclcompat::experimental::detail::is_kernel_properties<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<1>>>>>, syclcompat::experimental::detail::is_launch_properties<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<1>>>>>, syclcompat::experimental::detail::is_local_mem_size<syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<1>>>>>>>': Received an unexpected argument to ctor. Did you forget to wrap in compat::kernel_properties, launch_properties, local_mem_size?
# |   129 |         std::conjunction_v<std::disjunction<detail::is_kernel_properties<Ts>,
# |       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |   130 |                                             detail::is_launch_properties<Ts>,
# |       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |   131 |                                             detail::is_local_mem_size<Ts>>...>,
# |       |                                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | /home/llvm/build/bin/../include/syclcompat/launch_policy.hpp:124:5: note: in instantiation of function template specialization 'syclcompat::experimental::launch_policy<sycl::nd_range<>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<1>>>, false>::check_variadic_args<sycl::range<>, sycl::range<>, syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<1>>>>>' 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::nd_range<>, sycl::ext::oneapi::experimental::properties<detail::properties_type_list<>>, sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<1>>>, false>::launch_policy<sycl::range<>, sycl::range<>, syclcompat::experimental::launch_properties<sycl::ext::oneapi::experimental::properties<sycl::ext::oneapi::experimental::detail::properties_type_list<sycl::ext::oneapi::experimental::cuda::cluster_size<1>>>>>' 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"
  1. 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: deb3c1c
  • Dependencies version: Build the compiler with nvidia support

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingconfirmedsyclcompatIssues related to SYCLcompat

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions