Skip to content

Conversation

vinser52
Copy link
Contributor

@vinser52 vinser52 commented Sep 9, 2025

For kernels represented by user-provided functors/lambdas the DeviceKernelInfo is stored in the ProgramManager::m_DeviceKernelInfoMap.
This PR introduces support for the DeviceKernelInfo for interop kernels.

@vinser52
Copy link
Contributor Author

vinser52 commented Sep 9, 2025

This PR is required by #19843.

@uditagarwal97
Copy link
Contributor

fyi, Jenkins CI failure is related:

[2025-09-10T23:23:54.591Z] /rdrive/ref/gcc/7.5.0/rhel70/efi2/bin/g++ -DCL_TARGET_OPENCL_VERSION=300 -DCL_USE_DEPRECATED_OPENCL_1_2_APIS=1 -DEXPERIMENTAL_KEY_INSTRUCTIONS -DSYCL2020_DISABLE_DEPRECATION_WARNINGS -DSYCL_EXT_JIT_ENABLE -DSYCL_RT_ZSTD_AVAILABLE -DXPTI_ENABLE_INSTRUMENTATION -DXPTI_STATIC_LIBRARY -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__DPCPP_ENABLE_UNFINISHED_KHR_EXTENSIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -D__SYCL_INTERNAL_API -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.obj/tools/sycl/source -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/sycl/source -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.obj/include -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/llvm/include -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/xpti/include -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/sycl/include -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/sycl-jit/common/include -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/sycl-jit/jit-compiler/include -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/unified-runtime/include -I/netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.obj/_deps/ocl-headers-src -isystem /netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.obj/_deps/emhash-src -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -Wextra -Werror -O3 -DNDEBUG -UNDEBUG -ffunction-sections -fdata-sections -fvisibility=hidden -fvisibility-inlines-hidden -Wno-psabi -std=c++1z -MD -MT tools/sycl/source/CMakeFiles/sycl_object.dir/detail/kernel_impl.cpp.o -MF tools/sycl/source/CMakeFiles/sycl_object.dir/detail/kernel_impl.cpp.o.d -o tools/sycl/source/CMakeFiles/sycl_object.dir/detail/kernel_impl.cpp.o -c /netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/sycl/source/detail/kernel_impl.cpp

[2025-09-10T23:23:54.591Z] /netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/sycl/source/detail/kernel_impl.cpp: In constructor ‘sycl::_V1::detail::kernel_impl::kernel_impl(sycl::_V1::detail::Managed<ur_kernel_handle_t_*>&&, sycl::_V1::detail::context_impl&, sycl::_V1::detail::kernel_bundle_impl*, const KernelArgMask*)’:
[2025-09-10T23:23:54.591Z] /netbatch/donb25783_00/runDir/jenkins-dir/workspace/SYCL_CI/intel/Build_PR_RHEL/llvm.src/sycl/source/detail/kernel_impl.cpp:31:55: internal compiler error: in replace_placeholders_r, at cp/tree.c:2804
[2025-09-10T23:23:54.591Z]        MDeviceKernelInfo(MInteropDeviceKernelInfoHolder) {
[2025-09-10T23:23:54.591Z]                                                        ^
[2025-09-10T23:23:54.591Z] 0x6a5d75 replace_placeholders_r
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/cp/tree.c:2804
[2025-09-10T23:23:54.591Z] 0xd01fa5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*))
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/tree.c:11839
[2025-09-10T23:23:54.591Z] 0x6a5c53 replace_placeholders_r
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/cp/tree.c:2839
[2025-09-10T23:23:54.591Z] 0xd01fa5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*))
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/tree.c:11839
[2025-09-10T23:23:54.591Z] 0xd02414 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*))
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/tree.c:12066
[2025-09-10T23:23:54.591Z] 0x6a5c53 replace_placeholders_r
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/cp/tree.c:2839
[2025-09-10T23:23:54.591Z] 0xd01fa5 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*))
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/tree.c:11839
[2025-09-10T23:23:54.591Z] 0xd02414 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*, tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*), void*, hash_set<tree_node*, default_hash_traits<tree_node*> >*))
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/tree.c:12066
[2025-09-10T23:23:54.591Z] 0x6a9093 replace_placeholders(tree_node*, tree_node*, bool*)
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/cp/tree.c:2877
[2025-09-10T23:23:54.591Z] 0x6d110d cp_gimplify_init_expr
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/cp/cp-gimplify.c:500
[2025-09-10T23:23:54.591Z] 0x6d110d cp_gimplify_expr(tree_node**, gimple**, gimple**)
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/cp/cp-gimplify.c:659
[2025-09-1T23:23:54.591Z] 0x8e0285 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int)
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/gimplify.c:11232
[2025-09-10T23:23:54.591Z] 0x8e3b98 gimplify_stmt(tree_node**, gimple**)
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/gimplify.c:6526
[2025-09-10T23:23:54.591Z] 0x8e2066 gimplify_cleanup_point_expr
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/gimplify.c:6269
[2025-09-10T23:23:54.591Z] 0x8e2066 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int)
[2025-09-10T23:3:54.591Z] 	../../gcc-7.5.0/gcc/gimplify.c:11699
[2025-09-10T23:23:54.591Z] 0x8e3b98 gimplify_stmt(tree_node**, gimple**)
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/gimplify.c:6526
[2025-09-10T23:23:54.591Z] 0x8e1dbb gimplify_statement_list
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/gimplify.c:1721
[2025-09-10T23:23:54.591Z] 0x8e1dbb gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int)
[2025-09-10T23:23:54.591Z] 	../../gcc-7.5.0/gcc/gimplify.c:11751
[2025-09-10T23:23:54.592Z] 0x8e3b98 gimplify_stmt(tree_node**, gimple**)
[2025-09-10T23:23:54.592Z] 	../../gcc-7.5.0/gcc/gimplify.c:6526
[2025-09-10T23:23:54.592Z] 0x8e1e9b gimplify_and_add(tree_node*, gimple**)
[2025-09-10T23:23:54.592Z] 	../../gcc-7.5.0/gcc/gimplify.c:436
[2025-09-10T23:23:54.592Z] Please submit a full bug report,
[2025-09-10T23:23:54.592Z] with preprocessed source if appropriate.
[2025-09-10T23:23:54.592Z] Please include the complete backtrace with any bug report.

Maybe you need a workaround like #20035

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants