Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ayylol opened this issue Jan 27, 2025 · 6 comments
Labels
bug Something isn't working confirmed syclcompat Issues related to SYCLcompat

Comments

@ayylol
Copy link
Contributor

ayylol commented Jan 27, 2025

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

@ayylol ayylol added the bug Something isn't working label Jan 27, 2025
@ayylol ayylol changed the title [SYCL][E2E] syclcompat/launch/launch_properties.cpp fails compilation, this test also never runs on CI [SYCL][E2E] syclcompat/launch/launch_properties.cpp fails compilation, this test also never runs on CI Jan 27, 2025
@ayylol ayylol added the syclcompat Issues related to SYCLcompat label Jan 27, 2025
@JackAKirk
Copy link
Contributor

@aacostadiaz I have confirmed this test now fails to build. Is this an issue for your work, or does this not affect you?

@JackAKirk JackAKirk self-assigned this Jan 28, 2025
@aacostadiaz
Copy link
Contributor

Thanks for the update! Does this issue only affect the test, or is it related to the launch implementation itself? We're currently using that launcher.

@JackAKirk
Copy link
Contributor

Thanks for the update! Does this issue only affect the test, or is it related to the launch implementation itself? We're currently using that launcher.

I'm not sure, that's really why I thought I should ask you. So you are using the launcher with the latest version of dpc++ and you have no problems?

@aacostadiaz
Copy link
Contributor

Yes, we are using the launcher with the latest nightly version and haven't found any problems so far.

@JackAKirk
Copy link
Contributor

Yes, we are using the launcher with the latest nightly version and haven't found any problems so far.

OK thanks!

@JackAKirk JackAKirk removed their assignment Jan 28, 2025
@JackAKirk
Copy link
Contributor

This is low priority:

  • the only known use case works, the test failure therefore has no known impact

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working confirmed syclcompat Issues related to SYCLcompat
Projects
None yet
Development

No branches or pull requests

3 participants