<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: OpenCL Kernel Name appends &amp;quot;.1&amp;quot; in GPU Compute Software</title>
    <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416721#M635</link>
    <description>&lt;P&gt;&lt;SPAN&gt;ok I updated to CL_DRIVER_VERSION: 31.0.101.2111 and ".1" addition is gone, but all my kernels now report CL_INVALID_KERNEL_ARGS&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I'm not entirely sure why, none of the code has changed between driver changes.&lt;/P&gt;
&lt;P&gt;Having an intermittent ".1" appended to kernel names makes it difficult to support many driver versions.&lt;/P&gt;
&lt;P&gt;Scott&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 22 Sep 2022 22:41:13 GMT</pubDate>
    <dc:creator>Scott_S_2</dc:creator>
    <dc:date>2022-09-22T22:41:13Z</dc:date>
    <item>
      <title>OpenCL Kernel Name appends ".1"</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1415921#M629</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I've been compiling some OpenCL kernels but I've been getting CL_INVALID_KERNEL_NAME errors when generating a program and calling clCreateKernel&lt;/P&gt;
&lt;P&gt;heres the example kernel:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;__kernel void window_level(__read_only image2d_t srcImg,__write_only image2d_t dstImg,float window_bottom,float width_rcp)
{
    int2 coord = (int2) ((int)get_global_id(0), (int)get_global_id(1));

    int2 size = get_image_dim(srcImg);

    if(coord.x &amp;gt;= size.x || coord.y &amp;gt;= size.y){
    return;
    } 
 
    sampler_t sampler = CLK_FILTER_NEAREST | CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP; 
 
    int4 src_value = read_imagei(srcImg, sampler, coord); 
 
    int4 dst_value;
    dst_value.x = (int)((src_value.x - window_bottom) * width_rcp);
 
    if(dst_value.x &amp;gt; 255){ dst_value.x = 255; }
    if(dst_value.x &amp;lt; 0){ dst_value.x = 0; }

    write_imagei(dstImg, coord, dst_value); 
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and the corresponding generation calls:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;clang -target spirv64 -emit-llvm -O0 -c -o window_level.bc window_level.clcpp
llvm-spirv -spirv-max-version=1.2 -o window_level.spv window_level.bc &lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This generates window_level.spv which seems to have the kernel name "window_level" when I inspect the SPRIV with &lt;A href="https://www.khronos.org/spir/visualizer/" target="_blank"&gt;https://www.khronos.org/spir/visualizer/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;[0]  OpCapability Addresses
[1]  OpCapability Linkage
[2]  OpCapability Kernel
[3]  OpCapability Int64
[4]  OpCapability ImageBasic
[5]  OpCapability LiteralSampler
[6]  %1 = OpExtInstImport "OpenCL.std"
[7]  OpMemoryModel Physical64 OpenCL
[8]  OpEntryPoint Kernel %101 "window_level" %5
[9]  OpExecutionMode %101 ContractionOff
Debug Information
[10]  OpSource OpenCL_C 200000
[11]  OpName %5 "__spirv_BuiltInGlobalInvocationId"
[12]  OpName %11 "window_level"
[13]  OpName %74 "TempSampledImage"
Annotations
[14]  OpDecorate %5 LinkageAttributes "__spirv_BuiltInGlobalInvocationId" Import
[15]  OpDecorate %5 Constant
[16]  OpDecorate %5 BuiltIn GlobalInvocationId
[17]  OpDecorate %11 LinkageAttributes "window_level" Export
...&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;However when I do&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;cl_int ret = clBuildProgram(program, 1, &amp;amp;device_id[0], NULL, NULL, NULL);
cl_kernel kernel = clCreateKernel(program, "window_level", &amp;amp;ret);&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I get a CL_INVALID_KERNEL_NAME error.&amp;nbsp; Turns out that a ".1" has been appended to the kernel name and I have to call clCreateKernel with "window_level.1" to find the correct kernel name.&lt;/P&gt;
&lt;P&gt;Before "window_level" worked fine.&amp;nbsp; Is there something I'm missing here?&amp;nbsp; Where does the ".1" come from?&lt;/P&gt;
&lt;P&gt;Thanks&lt;BR /&gt;Scott&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;System Setup Information:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;-----------------------------------------&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;System Used: Inspiron 3670&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;CPU SKU: Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz 3.60 GHz&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;GPU SKU: Intel(R) UHD Graphics 630&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;System BIOS Version: Dell Inc. 1.3.4, 24/05/2018&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Graphics Driver Version: 30.0.101.1069&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Operating System: Windows 10 Pro&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;OS Version: 10.0.19042 Build 19042&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;API: OpenCL&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN class="sub_section_element_selectors"&gt;Occurs on non-Intel GPUs?: no tested&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Sep 2022 10:59:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1415921#M629</guid>
      <dc:creator>Scott_S_2</dc:creator>
      <dc:date>2022-09-20T10:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: OpenCL Kernel Name appends ".1"</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416526#M632</link>
      <description>&lt;P&gt;Dear User,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for reaching out to us.&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;Could you please provide us with a sample reproducer (your complete programs/codes) and the steps you have followed so that we can try it at our end?&lt;/P&gt;
&lt;P class="sub_section_element_selectors"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks &amp;amp; Regards,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Anita&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Sep 2022 09:23:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416526#M632</guid>
      <dc:creator>Anita_Intel</dc:creator>
      <dc:date>2022-09-22T09:23:00Z</dc:date>
    </item>
    <item>
      <title>Re: OpenCL Kernel Name appends ".1"</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416677#M633</link>
      <description>&lt;P&gt;sure&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;#include "CL/cl.h"
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;fstream&amp;gt;
#include &amp;lt;vector&amp;gt;

#define MAX_PLATFORM_SIZE 256
#define MAX_DEVICE_SIZE 256

namespace {
std::vector&amp;lt;unsigned char&amp;gt; load_file(const std::string&amp;amp; file)
{
    std::fstream input(file, std::ios::in | std::ios::binary | std::ios::ate);
    auto size = input.tellg();
    input.seekg(0, std::ios::beg);
    std::vector&amp;lt;unsigned char&amp;gt; binary(size);
    input.read((char*)binary.data(),size);
    input.close();

    return binary;
}
}

int main()
{  
    std::vector&amp;lt;unsigned char&amp;gt; data = load_file("window_level.spv");

    cl_device_id device_id[256];
    cl_platform_id platform_id[256];
    cl_uint ret_num_devices;
    cl_uint ret_num_platforms;
    char buf[4096];

    cl_int ret = clGetPlatformIDs(0, 0, &amp;amp;ret_num_platforms);
    ret = clGetPlatformIDs(ret_num_platforms, platform_id, &amp;amp;ret_num_platforms);
    if (ret != CL_SUCCESS) {
        std::cout &amp;lt;&amp;lt; "something went wrong in clGetPlatformIDs" &amp;lt;&amp;lt; std::endl;
        return 0;
    }

    for (unsigned int i=0; i &amp;lt; ret_num_platforms; i++) 
    {
        ret = clGetPlatformInfo(platform_id[i], CL_PLATFORM_NAME, sizeof(buf), buf, NULL);
        if (ret != CL_SUCCESS) {
            std::cout &amp;lt;&amp;lt; "something went wrong in clGetPlatformInfo" &amp;lt;&amp;lt; std::endl;
            return 1;
        }

        ret = clGetDeviceIDs(platform_id[i], CL_DEVICE_TYPE_ALL, MAX_DEVICE_SIZE, device_id, &amp;amp;ret_num_devices);
        if (ret != CL_SUCCESS) {
            std::cout &amp;lt;&amp;lt; "something went wrong in clGetDeviceIDs" &amp;lt;&amp;lt; std::endl;
            return 1;
        }

        for (unsigned int j=0; j &amp;lt; ret_num_devices; j++) {
            ret = clGetDeviceInfo(device_id[j], CL_DEVICE_NAME, sizeof(buf), buf, NULL);
            if (ret != CL_SUCCESS) {
                std::cout &amp;lt;&amp;lt; "something went wrong in clGetDeviceInfo" &amp;lt;&amp;lt; std::endl;
                return 1;
            }

            ret = clGetDeviceInfo(device_id[j], CL_DEVICE_VENDOR, sizeof(buf), buf, NULL);
            if (ret != CL_SUCCESS) {
                std::cout &amp;lt;&amp;lt; "something went wrong in clGetDeviceInfo" &amp;lt;&amp;lt; std::endl;
                return 1;
            }
        }
        std::cout &amp;lt;&amp;lt; std::endl;
    }
 
    cl_context context = clCreateContext( NULL, 1, &amp;amp;device_id[0], NULL, NULL, &amp;amp;ret);
 
    cl_int err = 0;
    cl_program program = clCreateProgramWithIL((cl_context)context, data.data(), data.size(), &amp;amp;err); 
    if(err != CL_SUCCESS){
        std::cout &amp;lt;&amp;lt; "failed to create opencl program with IL " &amp;lt;&amp;lt; std::endl;
        return 1;
    }

    err = clBuildProgram(program, 1, &amp;amp;device_id[0], NULL, NULL, NULL);

    cl_int build_status;
    err = clGetProgramBuildInfo(program, device_id[0], CL_PROGRAM_BUILD_STATUS, sizeof(cl_build_status), &amp;amp;build_status, NULL);

    if(build_status != CL_SUCCESS){
        size_t ret_val_size;
        err = clGetProgramBuildInfo(program, device_id[0], CL_PROGRAM_BUILD_LOG, 0, NULL, &amp;amp;ret_val_size);
                 
        std::vector&amp;lt;char&amp;gt; build_log(ret_val_size+1,0);
        err = clGetProgramBuildInfo(program, device_id[0], CL_PROGRAM_BUILD_LOG, ret_val_size, build_log.data(), NULL);

        build_log[ret_val_size] = '\0';
        std::cout &amp;lt;&amp;lt; "failed to build opencl program: \n" &amp;lt;&amp;lt; build_log.data() &amp;lt;&amp;lt; std::endl;
    }


    size_t ret_val_size = 0;
    err = clGetProgramInfo(program, CL_PROGRAM_KERNEL_NAMES, 0, NULL, &amp;amp;ret_val_size);
                 
    std::vector&amp;lt;char&amp;gt; kernel_names(ret_val_size+1,0);
    err = clGetProgramInfo(program, CL_PROGRAM_KERNEL_NAMES, ret_val_size, kernel_names.data(), NULL);

    kernel_names[ret_val_size] = '\0';
    std::cout &amp;lt;&amp;lt; "kernel names: \n" &amp;lt;&amp;lt; kernel_names.data() &amp;lt;&amp;lt; std::endl;

    // prints out window_level.1, expecting window_level from viewing spirv file

    return 0;
}&lt;/LI-CODE&gt;
&lt;P&gt;I have attached the spirv file too.&lt;/P&gt;
&lt;P&gt;Thanks&lt;BR /&gt;Scott&lt;/P&gt;</description>
      <pubDate>Thu, 22 Sep 2022 18:17:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416677#M633</guid>
      <dc:creator>Scott_S_2</dc:creator>
      <dc:date>2022-09-22T18:17:39Z</dc:date>
    </item>
    <item>
      <title>Re: OpenCL Kernel Name appends ".1"</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416684#M634</link>
      <description>&lt;P&gt;FWIW I can't reproduce this problem on my Linux NUC with a similar GPU and recent drivers.&lt;/P&gt;
&lt;PRE&gt;bashbaug@bashbaug-nuc:~/git/SimpleOpenCLSamples/install/RelWithDebInfo$ ./enumopencl
Enumerated 1 platforms.

Platform:
	Name:           Intel(R) OpenCL HD Graphics
	Vendor:         Intel(R) Corporation
	Driver Version: OpenCL 3.0 
Device[0]:
	Type:           GPU 
	Name:           Intel(R) HD Graphics 620 [0x5916]
	Vendor:         Intel(R) Corporation
	Device Version: OpenCL 3.0 NEO 
	Driver Version: 22.34.24023

Done.
bashbaug@bashbaug-nuc:~/git/temp/forum-bug4$ ./test 

kernel names: 
window_level
&lt;/PRE&gt;
&lt;P&gt;We may need to find a Windows system with your driver version (&lt;SPAN&gt;Graphics Driver Version: 30.0.101.1069).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Would it be possible for you to try newer drivers on your end?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Sep 2022 18:48:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416684#M634</guid>
      <dc:creator>Ben_A_Intel</dc:creator>
      <dc:date>2022-09-22T18:48:15Z</dc:date>
    </item>
    <item>
      <title>Re: OpenCL Kernel Name appends ".1"</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416721#M635</link>
      <description>&lt;P&gt;&lt;SPAN&gt;ok I updated to CL_DRIVER_VERSION: 31.0.101.2111 and ".1" addition is gone, but all my kernels now report CL_INVALID_KERNEL_ARGS&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;I'm not entirely sure why, none of the code has changed between driver changes.&lt;/P&gt;
&lt;P&gt;Having an intermittent ".1" appended to kernel names makes it difficult to support many driver versions.&lt;/P&gt;
&lt;P&gt;Scott&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 22 Sep 2022 22:41:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1416721#M635</guid>
      <dc:creator>Scott_S_2</dc:creator>
      <dc:date>2022-09-22T22:41:13Z</dc:date>
    </item>
    <item>
      <title>Re: OpenCL Kernel Name appends ".1"</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1419720#M644</link>
      <description>&lt;P&gt;So I've been getting &lt;SPAN class="sub_section_element_selectors"&gt;CL_INVALID_KERNEL_ARGS&lt;/SPAN&gt; for all my kernels on newer drivers, so I've been reverting driver versions all day.&amp;nbsp; The latest driver version that works is: &lt;BR /&gt;&lt;BR /&gt;&lt;STRONG&gt;CL_DRIVER_VERSION: 30.0.101.1340&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Has something specific changed for driver versions greater than this that would cause this &lt;SPAN class="sub_section_element_selectors"&gt;CL_INVALID_KERNEL_ARGS&lt;/SPAN&gt; issue?&lt;/P&gt;</description>
      <pubDate>Wed, 05 Oct 2022 16:40:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1419720#M644</guid>
      <dc:creator>Scott_S_2</dc:creator>
      <dc:date>2022-10-05T16:40:49Z</dc:date>
    </item>
    <item>
      <title>Re: OpenCL Kernel Name appends ".1"</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1506006#M955</link>
      <description>&lt;P&gt;Any progress/resolution for this? I have the same problem, and I'm using very similar code, toolchain, and graphics device.&lt;/P&gt;&lt;P&gt;Here is some info that might help:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Windows 11 Pro 10.0.22621, HD Graphics 630 on i7-10700K, Intel driver 30.0.101.1273 and 31.0.101.2125&lt;/LI&gt;&lt;LI&gt;If I compile kernels to SPIR-V using the ocloc.exe offline compiler from the latest oneAPI installation, everything works fine. But this is not a desirable workaround (explained below)&lt;/LI&gt;&lt;LI&gt;If I use clang.exe and llvm-spirv.exe (from a recent LLVM 17.0.0 snapshot), I observe the following:&lt;OL class="lia-list-style-type-lower-alpha"&gt;&lt;LI&gt;Feeding the resulting SPIR-V to clCreateProgramWithIL succeeds&lt;/LI&gt;&lt;LI&gt;With driver 30.0.101.1273, clBuildProgram succeeds, but creating a kernel fails with CL_INVALID_KERNEL_NAME (so, same as described by Scot_S_2)&lt;/LI&gt;&lt;LI&gt;After updating to 31.0.101.2125, clBuildProgram crashes with an access violation&lt;/LI&gt;&lt;LI&gt;I get the same result with both std=cl3.0 (C language) and std=clc++2021 (C++ language) set for clang.exe&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;LI&gt;I've attached sample SPIR-V and spirv-dis disassembly output for both ocloc and clang.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;This could be a deal-breaker for me with regard to supporting Intel devices. I'm trying to achieve offline compilation of C++ kernels to SPIR-V. I've developed a cross-platform framework with backends for Metal, Cuda (driver API), OpenCL, and CPU (SIMD), to handle compute for a consumer desktop application. The generic programming features of C++ are critical for productivity when working with the variety of data types, layouts, dimensionalities, memory spaces, access modes, and platform idiosyncrasies encountered in modern compute-heavy applications.&amp;nbsp;&lt;/P&gt;&lt;P&gt;ocloc.exe is not an effective workaround, because it only accepts C kernels. The clang.exe + llvm-spirv.exe toolchain seems to be the only way to compile C++ kernels to SPIR-V.&amp;nbsp; SYCL/HIP/Cuda single-source C++ compilation isn't a near-term solution for various reasons.&amp;nbsp; With some effort, I could probably replace the OpenCL backend with a Level Zero backend, but it won't make a difference if the Level Zero driver uses the same SPIR-V-to-device compiler that the OpenCL driver is using.&lt;/P&gt;&lt;P&gt;So:&lt;/P&gt;&lt;P&gt;A) If Scott_S_2's reproducer is still broken on Windows with current drivers, I hope this new report of the same problem will cause someone at Intel to take a closer look.&lt;/P&gt;&lt;P&gt;B) If the reproducer now works on Windows, let me know if anything specific was needed to make it work. If I still can't get things to work on my side, I'll try to extract a standalone test case.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jul 2023 17:27:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1506006#M955</guid>
      <dc:creator>pxcc</dc:creator>
      <dc:date>2023-07-18T17:27:52Z</dc:date>
    </item>
    <item>
      <title>Re: OpenCL Kernel Name appends ".1"</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1506020#M956</link>
      <description>&lt;P&gt;[Reposting.&amp;nbsp; My initial reply disappeared shortly after I posted it.]&lt;/P&gt;&lt;P&gt;Any progress/resolution for this? I have the same problem, and I'm using very similar code, toolchain, and graphics device.&lt;/P&gt;&lt;P&gt;Here is some info that might help:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Windows 11 Pro 10.0.22621, HD Graphics 630 on i7-10700K, Intel driver 30.0.101.1273 and 31.0.101.2125&lt;/LI&gt;&lt;LI&gt;If I compile kernels to SPIR-V using the ocloc.exe compiler from the latest oneAPI installation, everything works fine. But this is not a desirable workaround (need C++ kernels, but ocloc.exe only accepts C)&lt;/LI&gt;&lt;LI&gt;If I use clang.exe and llvm-spirv.exe (from a recent LLVM 17.0.0 snapshot), I observe the following:&lt;OL class="lia-list-style-type-lower-alpha"&gt;&lt;LI&gt;Feeding the resulting SPIR-V to clCreateProgramWithIL succeeds&lt;/LI&gt;&lt;LI&gt;With driver 30.0.101.1273, clBuildProgram succeeds, but creating a kernel fails &lt;SPAN&gt;with CL_INVALID_KERNEL_NAME (so, same as described in the original post for &lt;/SPAN&gt;&lt;SPAN&gt;this thread)&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;With driver 31.0.101.2125, clBuildProgram crashes with an access violation&lt;/LI&gt;&lt;LI&gt;I get the same result with both std=cl3.0 (C language) and std=clc++2021 (C++&lt;SPAN&gt;language) set for clang.exe&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;LI&gt;I've attached sample SPIR-V and spirv-dis disassembly output for both ocloc and clang.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jul 2023 18:05:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/OpenCL-Kernel-Name-appends-quot-1-quot/m-p/1506020#M956</guid>
      <dc:creator>pxcc</dc:creator>
      <dc:date>2023-07-18T18:05:30Z</dc:date>
    </item>
  </channel>
</rss>

