<?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 clEnqueueNDRangeKernel hangs on HD 630（i3-8100H） in GPU Compute Software</title>
    <link>https://community.intel.com/t5/GPU-Compute-Software/clEnqueueNDRangeKernel-hangs-on-HD-630-i3-8100H/m-p/1555471#M1224</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a problem when I'm doing tests with opencl, when I keep restarting the computer and then running the following code, the thread hangs Incidentally (very low probability, occurs once in a hundred times) on the event of clEnqueueNDRangeKernel，and does not return any error number. All initialisations return success.&lt;/P&gt;&lt;P&gt;The CPU driver version is 30.0.101.1069；&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My code:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;init opencl...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;queue = clCreateCommandQueue(context,&lt;BR /&gt;device,&lt;BR /&gt;CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, &amp;amp;err);&lt;BR /&gt;if (err != CL_SUCCESS) {&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to creat command queue!" &amp;lt;&amp;lt; err;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;cl_event write_evt;&lt;/DIV&gt;&lt;DIV&gt;status = clEnqueueWriteBuffer(queue, cl_input, 1,&lt;BR /&gt;0, data_size * sizeof(cl_float), input_data, 0, 0, &amp;amp;write_evt);&lt;BR /&gt;if (status != CL_SUCCESS) {&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to transport input_data to device!" &amp;lt;&amp;lt; status;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;BR /&gt;err = clWaitForEvents(1, &amp;amp;write_evt);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;err = clSetKernelArg(kernel, 0, sizeof(cl_mem), (void*)&amp;amp;cl_input);&lt;BR /&gt;err = clSetKernelArg(kernel, 1, sizeof(cl_mem), (void*)&amp;amp;cl_output);&lt;BR /&gt;err = clSetKernelArg(kernel, 2, sizeof(cl_int), (void*)&amp;amp;image_row);&lt;BR /&gt;err = clSetKernelArg(kernel, 3, sizeof(cl_int), (void*)&amp;amp;image_col);&lt;BR /&gt;err = clSetKernelArg(kernel, 4, sizeof(cl_int), (void*)&amp;amp;d);&lt;BR /&gt;err = clSetKernelArg(kernel, 5, sizeof(cl_int), (void*)&amp;amp;d);&lt;BR /&gt;err = clSetKernelArg(kernel, 6, sizeof(cl_float), (void*)&amp;amp;alpha1);&lt;BR /&gt;err = clSetKernelArg(kernel, 7, sizeof(cl_float), (void*)&amp;amp;alpha2);&lt;/DIV&gt;&lt;DIV&gt;if (err != CL_SUCCESS)&lt;BR /&gt;{&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to set kernel parameters!" &amp;lt;&amp;lt; err;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;err = clEnqueueNDRangeKernel(queue,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;kernel,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;2,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;NULL,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;globalThreads,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;localThreads, 0, NULL, &amp;amp;run_evt);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if (err != CL_SUCCESS)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to run range kernel!" &amp;lt;&amp;lt; err;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return false;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;err = clWaitForEvents(1, &amp;amp;run_evt);-------------------------------------------------hangs here&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;if (err != CL_SUCCESS)&lt;BR /&gt;{&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to wait event run_evt!" &amp;lt;&amp;lt; err;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;cl_event read_evt;&lt;BR /&gt;status = clEnqueueReadBuffer(queue, cl_output, 1,&lt;BR /&gt;0, data_size * sizeof(cl_float), output_data, 0, 0, &amp;amp;read_evt);&lt;BR /&gt;if (status != CL_SUCCESS) {&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to transport input_data to device!" &amp;lt;&amp;lt; status;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;err = clWaitForEvents(1, &amp;amp;read_evt);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;release........&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My kernel Code：&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;__kernel void Test(__global float *input_data, __global float&amp;nbsp; *output_data, int in_rows, int in_cols, int kernel_rows, int kernel_cols,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;float alpha1, float alpha2)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;int x = get_global_id(0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;int y = get_global_id(1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;}&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
    <pubDate>Tue, 19 Dec 2023 10:37:46 GMT</pubDate>
    <dc:creator>FateWong</dc:creator>
    <dc:date>2023-12-19T10:37:46Z</dc:date>
    <item>
      <title>clEnqueueNDRangeKernel hangs on HD 630（i3-8100H）</title>
      <link>https://community.intel.com/t5/GPU-Compute-Software/clEnqueueNDRangeKernel-hangs-on-HD-630-i3-8100H/m-p/1555471#M1224</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a problem when I'm doing tests with opencl, when I keep restarting the computer and then running the following code, the thread hangs Incidentally (very low probability, occurs once in a hundred times) on the event of clEnqueueNDRangeKernel，and does not return any error number. All initialisations return success.&lt;/P&gt;&lt;P&gt;The CPU driver version is 30.0.101.1069；&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My code:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;init opencl...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;queue = clCreateCommandQueue(context,&lt;BR /&gt;device,&lt;BR /&gt;CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE, &amp;amp;err);&lt;BR /&gt;if (err != CL_SUCCESS) {&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to creat command queue!" &amp;lt;&amp;lt; err;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;cl_event write_evt;&lt;/DIV&gt;&lt;DIV&gt;status = clEnqueueWriteBuffer(queue, cl_input, 1,&lt;BR /&gt;0, data_size * sizeof(cl_float), input_data, 0, 0, &amp;amp;write_evt);&lt;BR /&gt;if (status != CL_SUCCESS) {&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to transport input_data to device!" &amp;lt;&amp;lt; status;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;BR /&gt;err = clWaitForEvents(1, &amp;amp;write_evt);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;err = clSetKernelArg(kernel, 0, sizeof(cl_mem), (void*)&amp;amp;cl_input);&lt;BR /&gt;err = clSetKernelArg(kernel, 1, sizeof(cl_mem), (void*)&amp;amp;cl_output);&lt;BR /&gt;err = clSetKernelArg(kernel, 2, sizeof(cl_int), (void*)&amp;amp;image_row);&lt;BR /&gt;err = clSetKernelArg(kernel, 3, sizeof(cl_int), (void*)&amp;amp;image_col);&lt;BR /&gt;err = clSetKernelArg(kernel, 4, sizeof(cl_int), (void*)&amp;amp;d);&lt;BR /&gt;err = clSetKernelArg(kernel, 5, sizeof(cl_int), (void*)&amp;amp;d);&lt;BR /&gt;err = clSetKernelArg(kernel, 6, sizeof(cl_float), (void*)&amp;amp;alpha1);&lt;BR /&gt;err = clSetKernelArg(kernel, 7, sizeof(cl_float), (void*)&amp;amp;alpha2);&lt;/DIV&gt;&lt;DIV&gt;if (err != CL_SUCCESS)&lt;BR /&gt;{&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to set kernel parameters!" &amp;lt;&amp;lt; err;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;err = clEnqueueNDRangeKernel(queue,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;kernel,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;2,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;NULL,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;globalThreads,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;localThreads, 0, NULL, &amp;amp;run_evt);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if (err != CL_SUCCESS)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to run range kernel!" &amp;lt;&amp;lt; err;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return false;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;err = clWaitForEvents(1, &amp;amp;run_evt);-------------------------------------------------hangs here&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;if (err != CL_SUCCESS)&lt;BR /&gt;{&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to wait event run_evt!" &amp;lt;&amp;lt; err;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;cl_event read_evt;&lt;BR /&gt;status = clEnqueueReadBuffer(queue, cl_output, 1,&lt;BR /&gt;0, data_size * sizeof(cl_float), output_data, 0, 0, &amp;amp;read_evt);&lt;BR /&gt;if (status != CL_SUCCESS) {&lt;BR /&gt;LOGI_(ErrorLog) &amp;lt;&amp;lt; "Error: Failed to transport input_data to device!" &amp;lt;&amp;lt; status;&lt;BR /&gt;return false;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;err = clWaitForEvents(1, &amp;amp;read_evt);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;release........&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;My kernel Code：&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;__kernel void Test(__global float *input_data, __global float&amp;nbsp; *output_data, int in_rows, int in_cols, int kernel_rows, int kernel_cols,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;float alpha1, float alpha2)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;{&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;int x = get_global_id(0);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;int y = get_global_id(1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;return;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;}&lt;/P&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Tue, 19 Dec 2023 10:37:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/GPU-Compute-Software/clEnqueueNDRangeKernel-hangs-on-HD-630-i3-8100H/m-p/1555471#M1224</guid>
      <dc:creator>FateWong</dc:creator>
      <dc:date>2023-12-19T10:37:46Z</dc:date>
    </item>
  </channel>
</rss>

