From 6554c32e80228aeb08c3c899a8c0688110a961df Mon Sep 17 00:00:00 2001 From: Jimmy Wei Date: Thu, 20 Jun 2024 09:09:08 -0700 Subject: [PATCH 1/7] Update README.md --- README.md | 44 ++++---------------------------------------- 1 file changed, 4 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 2dddd9a2ab..392c124452 100644 --- a/README.md +++ b/README.md @@ -85,57 +85,21 @@ The oneAPI-sample repository is organized by high-level categories. Samples in this release are validated on the following platforms. ### Ubuntu 22.04 -Intel(R) Xeon(R) Platinum 8352Y CPU @ 2.20GHz \ -Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 (pvc) \ -Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device 1.2 [2023.16.10.0.17_160000] \ -Level Zero driver: Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1550 1.3 [1.3.28202] \ -oneAPI package version: \ -‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.596 \ -‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.560 \ -‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.743 \ -‐ Intel AI Tools 2024.1.0.84 - 12th Gen Intel(R) Core(TM) i9-12900 \ Intel(R) UHD Graphics 770 3.0 ; (gen12, AlderLake-S GT1 [8086:4680]) \ Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2024.17.3.0.08_160000] \ Level Zero driver: Intel(R) Level-Zero, Intel(R) UHD Graphics 770 1.3 [1.3.28202] \ oneAPI package version: \ -‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.596 \ -‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.560 \ -‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.743 \ -‐ Intel AI Tools 2024.1.0.84 - -11th Gen Intel(R) Core(TM) i7-11700 \ -Intel(R) UHD Graphics 750 3.0, (gen12, RocketLake) \ -Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2024.17.3.0.08_160000] \ -Level Zero driver: Intel(R) Level-Zero, Intel(R) UHD Graphics 750 1.3 [1.3.28202] \ -oneAPI package version: \ -‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.596 \ -‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.560 \ -‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.743 \ -‐ Intel AI Tools 2024.1.0.84 +‐ Intel oneAPI Base Toolkit Build Version: 2024.2.0.634 \ +‐ Intel oneAPI HPC Toolkit Build Version: 2024.2.0.635 \ ### Windows 11 12th Gen Intel(R) Core(TM) i9-12900 Intel(R) UHD Graphics 770 3.0 ; (gen12, AlderLake-S GT1 [8086:4680]) \ Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2024.17.3.0.08_160000] \ Level Zero driver: Intel(R) Level-Zero, Intel(R) UHD Graphics 770 1.3 [1.3.28597] \ oneAPI package version: \ -‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.595 \ -‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.561 \ -‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.745 - -11th Gen Intel(R) Core(TM) i7-11700 -Intel(R) UHD Graphics 750 3.0, (gen12, RocketLake) \ -Opencl driver: Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2024.17.3.0.08_160000] \ -Level Zero driver: Intel(R) Level-Zero, Intel(R) UHD Graphics 750 1.3 [1.3.28597] \ -oneAPI package version: \ -‐ Intel oneAPI Base Toolkit Build Version: 2024.1.0.595 \ -‐ Intel oneAPI HPC Toolkit Build Version: 2024.1.0.561 \ -‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.745 - -### macOS -Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz \ -‐ Intel oneAPI Rendering Toolkit Build Version: 2024.1.0.744 +‐ Intel oneAPI Base Toolkit Build Version: 2024.2.0.635 \ +‐ Intel oneAPI HPC Toolkit Build Version: 2024.2.0.633 \ ## Known Issues and Limitations From 0838f49215d72ec43d6962588a4f78ea72978190 Mon Sep 17 00:00:00 2001 From: Jimmy Wei Date: Thu, 20 Jun 2024 14:53:43 -0700 Subject: [PATCH 2/7] Update README.md --- .../guided_matrix_mult_SLMSize/README.md | 73 ++++++++++++++----- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/Tools/ApplicationDebugger/guided_matrix_mult_SLMSize/README.md b/Tools/ApplicationDebugger/guided_matrix_mult_SLMSize/README.md index 45ef009593..a4b4466b83 100644 --- a/Tools/ApplicationDebugger/guided_matrix_mult_SLMSize/README.md +++ b/Tools/ApplicationDebugger/guided_matrix_mult_SLMSize/README.md @@ -237,45 +237,58 @@ In `1_matrix_mul_SLM_size`, the local_accessor class is used to reserve an illeg #### Root-Cause the Issue -You can see that there is something wrong in the submit at line `104`. You need some more information to understand what is happening. For that we need to capture the lower-level API calls using the `onetrace` tool. +You can see that there is something wrong in the submit at line `104`, but we need more information to understand what is happening. For that we need to capture the lower-level API calls using the `onetrace` tool. >**Note**: You must have already built the [Tracing and Profiling Tool](https://github.com/intel/pti-gpu/tree/master/tools/onetrace). Once you have built the utility, you can invoke it before your program (similar to GBD). -One of the things that the Tracing and Profiling utility can help us identify is printing every low-level API call made to OpenCL™ or Level Zero. This is the features that we will use to attempt to match the source to the events. +Among other things, the Tracing and Profiling utility can print every low-level API call made to OpenCL™ or Level Zero. This is the feature that we will use to get more information about the crash. -2. Run the program with `onetrace` and enable the RT debug messages: +2. Run the program with `onetrace` and enable the runtime debug messages: ``` onetrace -c ./1_matrix_mul_SLM_size ``` -3. Continue listing the output until the error occurs and the program stops. +3. Let the output continue until the error occurs and the program stops. ``` - <<<< [504780292] zeEventHostReset [3564 ns] -> ZE_RESULT_SUCCESS(0x0) - >>>> [504789109] zeCommandListAppendLaunchKernel: hCommandList = 0x4cf64b0 hKernel = 0x53b0350 (_ZTSZZ4mainENKUlRN4sycl3_V17handlerEE_clES2_EUlNS0_7nd_itemILi1EEEE_) pLaunchFuncArgs = 0x7ffcc0831cec {16385, 1, 1} hSignalEvent = 0x48332d0 numWaitEvents = 0 phWaitEvents = 0 - <<<< [504818879] zeCommandListAppendLaunchKernel [17599 ns] -> ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY(0x1879048195) + : + >>>> [1066578697845396] zeKernelSetGroupSize: hKernel = 55242736 groupSizeX = 10 groupSizeY = 1 groupSizeZ = 1 + <<<< [1066578697849285] zeKernelSetGroupSize [1449 ns] -> ZE_RESULT_SUCCESS(0x0) + >>>> [1066578697854047] zeCommandListCreateImmediate: hContext = 41540224 hDevice = 37134192 altdesc = 140733241819552 {ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC(0xe) 0 0 0 0 2 0} phCommandList = 140733241819544 (hCommandList = 0) + <<<< [1066578698107437] zeCommandListCreateImmediate [248694 ns] hCommandList = 61984688 -> ZE_RESULT_SUCCESS(0x0) + >>>> [1066578698115446] zeEventHostReset: hEvent = 39536208 + <<<< [1066578698119590] zeEventHostReset [1854 ns] -> ZE_RESULT_SUCCESS(0x0) + >>>> [1066578698126085] zeCommandListAppendLaunchKernel: hCommandList = 61984688 hKernel = 55242736 (_ZTSZZ4mainENKUlRN4sycl3_V17handlerEE_clES2_EUlNS0_7nd_itemILi1EEEE_) pLaunchFuncArgs = 140733241820008 {16385, 1, 1} hSignalEvent = 39536208 numWaitEvents = 0 phWaitEvents = 0 + <<<< [1066578698169233] zeCommandListAppendLaunchKernel [34637 ns] -> ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY(0x1879048195) terminate called after throwing an instance of 'sycl::_V1::runtime_error' what(): Native API failed. Native API returns: -5 (PI_ERROR_OUT_OF_RESOURCES) -5 (PI_ERROR_OUT_OF_RESOURCES) Aborted (core dumped) ``` - **Clue**: Due to the running the program under onetrace we can see that the error happens during launching of the kernel: - ``` - <<<< [504818879] zeCommandListAppendLaunchKernel [17599 ns] -> ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY(0x1879048195) - ``` + **Clue**: By running the program under onetrace we can see that the error happens when launching a kernel called `(_ZTSZZ4mainENKUlRN4sycl3_V17handlerEE_clES2_EUlNS0_7nd_itemILi1EEEE_`), and that this fails with an `ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY` error. + + A note about the output above. You will see that is has two lines that read: + + ``` + >>>> [1066578697845396] zeKernelSetGroupSize: hKernel = 55242736 groupSizeX = 10 groupSizeY = 1 groupSizeZ = 1 + : + >>>> [1066578698126085] zeCommandListAppendLaunchKernel: hCommandList = 61984688 hKernel = 55242736 (_ZTSZZ4mainENKUlRN4sycl3_V17handlerEE_clES2_EUlNS0_7nd_itemILi1EEEE_) pLaunchFuncArgs = 140733241820008 {16385, 1, 1} hSignalEvent = 39536208 numWaitEvents = 0 phWaitEvents = 0 + ``` + + We used the form of `parallel_for` that takes the `nd_range`, which specifies the global iteration range (163850) and the local work-group size (10) like so: `nd_range<1>{{163850}, {10}}`. The first line above shows the workgroup size (`groupSizeX = 10 groupSizeY = 1 groupSizeZ = 1`), and the second shows how many total workgroups will be needed to process the global iteration range (`{16385, 1, 1}`). #### Determine Device Limits -If you have access to a version of the graphics drivers built with debug functionality, you can get even more information about this error by setting two NEO variables and values: `PrintDebugMessages=1` and `NEOReadDebugKeys=1` (). +If you have access to a version of the graphics drivers built with debug functionality, you can get even more information about this error by setting two NEO variables to the following values: ``` -$ export NEOReadDebugKeys=1 -$ export PrintDebugMessages=1 +export NEOReadDebugKeys=1 +export PrintDebugMessages=1 ``` -When you set these environment variables and and re-run the program, you should see results similar to the following: +When you set these environment variables and re-run the program, you should see results similar to the following: ``` -$ ./1_matrix_mul_SLM_size +./1_matrix_mul_SLM_size Initializing :Problem size: c(150,600) = a(150,300) * b(300,600) Ignored kernel-scope Patch Token: 21 @@ -287,10 +300,32 @@ terminate called after throwing an instance of 'sycl::_V1::runtime_error' what(): Native API failed. Native API returns: -5 (PI_ERROR_OUT_OF_RESOURCES) -5 (PI_ERROR_OUT_OF_RESOURCES) Aborted (core dumped) ``` -The new message is `Size of SLM (656384) larger than available (131072)`. This tells you the size of the Shared Local Memory (SLM) memory on the device, 131072 bytes (128Kb), is smaller than the requested size of 656384 bytes. -If the `parallel_for` were operating over a multi-dimensional range (for example, if `acc` were two or three-dimensional), you need to multiply the dimensions together to determine the number of floating point numbers we are trying to store in SLM. In our case, the calculation is easy: 163850 (`globalSizeX`) times 1 (`glocalSizeY`) times 1 (`globalSizeZ`). So the problem is that the size of work-group local memory we tried to allocate, (163850 floats or 4*163850=655,400 bytes), doesn't fit in the SLM on this device. -You should notice that the different devices will have different amounts of memory set aside as SLM. In SYCL, you can query this number by passing `info::device::local_mem_size` to the `get_info` member of the `device` class. +The new message of interest is `Size of SLM (656384) larger than available (131072)`. This tells you that the size of the Shared Local Memory (SLM) memory on the device, 131072 bytes (128Kb), is smaller than the requested size of 656384 bytes. + +If the `parallel_for` were operating over a multi-dimensional range (for example, if `acc` were two or three-dimensional), you need to multiply the dimensions together to determine the number of floating point numbers we are trying to store in SLM. In our case, the calculation is easy: the first argument to the `nd_range` in the `parallel_for` is single-dimensional, so it's just 163850. Thus the problem is that the size of work-group local memory we tried to allocate, (163850 floats or 4*163850=655,400 bytes rounded up to the nearest 64-byte cache line), doesn't fit in the SLM on this device. + +You should know that different devices will have different amounts of memory set aside as SLM. In SYCL, you can query this number by passing `info::device::local_mem_size` to the `get_info` member of the `device` class. + +Finally, running under `onetrace -c` you see: + +``` +>>>> [1066578697845396] zeKernelSetGroupSize: hKernel = 55242736 groupSizeX = 10 groupSizeY = 1 groupSizeZ = 1 +<<<< [1066578697849285] zeKernelSetGroupSize [1449 ns] -> ZE_RESULT_SUCCESS(0x0) +>>>> [1066578697854047] zeCommandListCreateImmediate: hContext = 41540224 hDevice = 37134192 altdesc = 140733241819552 {ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC(0xe) 0 0 0 0 2 0} phCommandList = 140733241819544 (hCommandList = 0) +<<<< [1066578698107437] zeCommandListCreateImmediate [248694 ns] hCommandList = 61984688 -> ZE_RESULT_SUCCESS(0x0) +>>>> [1066578698115446] zeEventHostReset: hEvent = 39536208 +<<<< [1066578698119590] zeEventHostReset [1854 ns] -> ZE_RESULT_SUCCESS(0x0) +>>>> [1066578698126085] zeCommandListAppendLaunchKernel: hCommandList = 61984688 hKernel = 55242736 (_ZTSZZ4mainENKUlRN4sycl3_V17handlerEE_clES2_EUlNS0_7nd_itemILi1EEEE_) pLaunchFuncArgs = 140733241820008 {16385, 1, 1} hSignalEvent = 39536208 numWaitEvents = 0 phWaitEvents = 0 +Size of SLM (656384) larger than available (131072) +<<<< [1066578698169233] zeCommandListAppendLaunchKernel [34637 ns] -> ZE_RESULT_ERROR_OUT_OF_DEVICE_MEMORY(0x1879048195) +terminate called after throwing an instance of 'sycl::_V1::runtime_error' + what(): Native API failed. Native API returns: -5 (PI_ERROR_OUT_OF_RESOURCES) -5 (PI_ERROR_OUT_OF_RESOURCES) +``` + +This is useful because it shows you the kernel being called that caused the error (`_ZTSZZ4mainENKUlRN4sycl3_V17handlerEE_clES2_EUlNS0_7nd_itemILi1EEEE_` which `c++filt` resolves to `typeinfo name for main::{lambda(sycl::_V1::handler&)#1}::operator()(sycl::_V1::handler&) const::{lambda(sycl::_V1::nd_item<1>)#1} `) in addition to the amount of memory requested vs. the available size of SLM. + + #### Resolving the Problem From dff031ba7809cdb097deabfc32c220d67277c7bd Mon Sep 17 00:00:00 2001 From: Jimmy Wei Date: Thu, 20 Jun 2024 21:14:52 -0700 Subject: [PATCH 3/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 392c124452..50e20df64f 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Clone an earlier version of the repository using Git by entering a command simil `git clone -b https://github.com/oneapi-src/oneAPI-samples.git` -where `` is the GitHub tag corresponding to the toolkit version number, like **2024.1.0**. +where `` is the GitHub tag corresponding to the toolkit version number, like **2024.2.0**. Alternatively, you can download a zip file containing a specific tagged version of the repository. From 63100396ab29b8a7de6c807ccc4051919da16b47 Mon Sep 17 00:00:00 2001 From: Jimmy Wei Date: Fri, 21 Jun 2024 07:40:23 -0700 Subject: [PATCH 4/7] Update lu_solve_omp_offload_optimized.F90 --- .../lu_solve_omp_offload_optimized.F90 | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Libraries/oneMKL/batched_linear_solver/lu_solve_omp_offload_optimized.F90 b/Libraries/oneMKL/batched_linear_solver/lu_solve_omp_offload_optimized.F90 index 7069bbd1e0..b12df7e76b 100644 --- a/Libraries/oneMKL/batched_linear_solver/lu_solve_omp_offload_optimized.F90 +++ b/Libraries/oneMKL/batched_linear_solver/lu_solve_omp_offload_optimized.F90 @@ -97,9 +97,7 @@ program solve_batched_linear_systems ! Allocate memory for linear algebra computations allocate (a(stride_a, batch_size), b(n, batch_size*nrhs), & -#if !defined(_OPENMP) ipiv(stride_ipiv, batch_size), & -#endif info_rf(batch_size), info_rs(batch_size), & stat = allocstat, errmsg = allocmsg) if (allocstat > 0) stop trim(allocmsg) @@ -188,9 +186,5 @@ program solve_batched_linear_systems print *, 'Total time:', total_time, 'seconds' ! Clean up -#if defined(_OPENMP) - deallocate (a, b, a_orig, b_orig, x, info_rf, info_rs) -#else deallocate (a, b, a_orig, b_orig, x, ipiv, info_rf, info_rs) -#endif end program solve_batched_linear_systems From bcc0cfe2bf4479303391dc33104f88f57f7d5f73 Mon Sep 17 00:00:00 2001 From: Jimmy Wei Date: Tue, 25 Jun 2024 11:01:16 -0700 Subject: [PATCH 5/7] Update openmp_sample.f90 (#2371) --- .../CombinationalLogic/openmp-primes/src/openmp_sample.f90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DirectProgramming/Fortran/CombinationalLogic/openmp-primes/src/openmp_sample.f90 b/DirectProgramming/Fortran/CombinationalLogic/openmp-primes/src/openmp_sample.f90 index 5d2a9cd3be..7b1af4c7bc 100644 --- a/DirectProgramming/Fortran/CombinationalLogic/openmp-primes/src/openmp_sample.f90 +++ b/DirectProgramming/Fortran/CombinationalLogic/openmp-primes/src/openmp_sample.f90 @@ -61,8 +61,8 @@ program ompPrime !$omp end single !$omp do private(factor, limit, prime) & - schedule(dynamic,10) & - reduction(+:number_of_primes,number_of_41primes,number_of_43primes) +!$omp& schedule(dynamic,10) & +!$omp& reduction(+:number_of_primes,number_of_41primes,number_of_43primes) do index = start, end, 2 ! workshared loop From 18958147e83c8385f7b1d30499404b5c3149978c Mon Sep 17 00:00:00 2001 From: Paul Fischer Date: Tue, 30 Jul 2024 09:44:12 -0700 Subject: [PATCH 6/7] Update README.md to reflect changes in compiler output. (#2402) This update contains a rewritten README.md file for the `guided_matrix_mult_InvalidContexts` sample. It also adds two screenshots (png files) that accompany the rewritten README.me file. The previous version of this README.md did not include screenshots --- .../README.md | 380 +++++++++++++----- .../TraceOutput.png | Bin 0 -> 116835 bytes .../TraceOutput_LevelZero.png | Bin 0 -> 96025 bytes 3 files changed, 273 insertions(+), 107 deletions(-) create mode 100644 Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/TraceOutput.png create mode 100644 Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/TraceOutput_LevelZero.png diff --git a/Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/README.md b/Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/README.md index edb45430c2..a1fdd64233 100644 --- a/Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/README.md +++ b/Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/README.md @@ -1,23 +1,37 @@ # `Guided Matrix Multiplication Invalid Contexts` Sample -The `Guided Matrix Multiplication Invalid Contexts` sample demonstrates how to use the Intel® oneAPI Base Toolkit (Base Kit) and several tools found in it to triage incorrect use of the SYCL language. +The `Guided Matrix Multiplication Invalid Contexts` sample demonstrates how to +use the Intel® oneAPI Base Toolkit (Base Kit) and several tools found in it to +triage incorrect use of the SYCL language. -The sample is simple program that multiplies together two large matrices and verifies the results. +The sample is a simple program that multiplies together two large matrices and +verifies the results. | Property | Description |:--- |:--- | What you will learn | A method to determine the root cause of incorrect use of queues with different contexts. | Time to complete | 50 minutes ->**Note**: For comprehensive instructions on the Intel® Distribution for GDB* and writing SYCL code, see the *[Intel® oneAPI Programming Guide](https://software.intel.com/en-us/oneapi-programming-guide)*. (Use search or the table of contents to find relevant information quickly.) +> **Note**: For comprehensive instructions on the Intel® Distribution for GDB* +> and writing SYCL code, see the *[Intel® oneAPI Programming +> Guide](https://software.intel.com/en-us/oneapi-programming-guide)*. (Use +> search or the table of contents to find relevant information quickly.) ## Purpose -The sample in this tutorial shows how to debug incorrect use of variables that are owned by different queues that have different contexts. +The sample in this tutorial shows how to debug incorrect use of variables that +are owned by different queues that have different contexts. -This type of error can be hard to detect and determine the root cause in a large body of code where queues and memory are passed between functions. The lack of tools that tell you what is wrong combined with the fact that the default Level Zero driver does not notice there is a problem (only the OpenCL™ driver and CPU-side runtimes report the issue) make this issue particularly painful since code that runs on a single device can fail to run on two devices with no indication why. +This type of error can be hard to detect and determine the root cause in a +large body of code where queues and memory are passed between functions. The +lack of tools that tell you what is wrong combined with the fact that the +default Level Zero driver does not notice there is a problem (only the OpenCL™ +driver and CPU-side runtimes report the issue) make this issue particularly +painful since code that runs on a single device can fail to run on two devices +with no indication as to why. -The sample includes different versions of a simple matrix multiplication program. +The sample includes different versions of a simple matrix multiplication +program. | File | Description |:--- |:--- @@ -34,28 +48,42 @@ The sample includes different versions of a simple matrix multiplication program ## Key Implementation Details -The basic SYCL* standards implemented in the code include the use of the following: +The basic SYCL* standards implemented in the code include the use of the +following: - SYCL* queues and devices -- Explicit memory operations using Unified Shared Memory (USM) + +- Explicit memory operations using Unified Shared Memory (USM) + - SYCL* kernels (including parallel_for function and explicit memory copies) + - SYCL* queues ## Set Environment Variables -When working with the command-line interface (CLI), you should configure the oneAPI toolkits using environment variables. Set up your CLI environment by sourcing the `setvars` script every time you open a new terminal window. This practice ensures that your compiler, libraries, and tools are ready for development. +When working with the command-line interface (CLI), you should configure the +oneAPI toolkits using environment variables. Set up your CLI environment by +sourcing the `setvars` script every time you open a new terminal window. This +practice ensures that your compiler, libraries, and tools are ready for +development. -## Build and Run the `Guided Matrix Multiplication Invalid Contexts` Programs +## Build and Run the `Guided Matrix Multiplication Invalid Contexts` Programs -> **Note**: If you have not already done so, set up your CLI -> environment by sourcing the `setvars` script in the root of your oneAPI installation. +> **Note**: If you have not already done so, set up your CLI environment by +> sourcing the `setvars` script in the root of your oneAPI installation. > > Linux*: +> > - For system wide installations: `. /opt/intel/oneapi/setvars.sh` -> - For private installations: ` . ~/intel/oneapi/setvars.sh` -> - For non-POSIX shells, like csh, use the following command: `bash -c 'source /setvars.sh ; exec csh'` > -> For more information on configuring environment variables, see *[Use the setvars Script with Linux* or macOS*](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-the-setvars-script-with-linux-or-macos.html)*. +> - For private installations: `. ~/intel/oneapi/setvars.sh` +> +> - For non-POSIX shells, like csh, use the following command: +> `bash -c 'source /setvars.sh ; exec csh'` +> +> For more information on configuring environment variables, see *[Use the +> setvars Script with Linux* or +> macOS*](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-programming-guide/top/oneapi-development-environment-setup/use-the-setvars-script-with-linux-or-macos.html)*. ### Use Visual Studio Code* (VS Code) (Optional) @@ -63,57 +91,82 @@ You can use Visual Studio Code* (VS Code) extensions to set your environment, create launch configurations, and browse and download samples. The basic steps to build and run a sample using VS Code include: - 1. Configure the oneAPI environment with the extension **Environment Configurator for Intel® oneAPI Toolkits**. - 2. Download a sample using the extension **Code Sample Browser for Intel® oneAPI Toolkits**. + + 1. Configure the oneAPI environment with the extension **Environment + Configurator for Intel® oneAPI Toolkits**. + + 2. Download a sample using the extension **Code Sample Browser for Intel® + oneAPI Toolkits**. + 3. Open a terminal in VS Code (**Terminal > New Terminal**). + 4. Run the sample in the VS Code terminal using the instructions below. -To learn more about the extensions and how to configure the oneAPI environment, see the -*[Using Visual Studio Code with Intel® oneAPI Toolkits User Guide](https://www.intel.com/content/www/us/en/develop/documentation/using-vs-code-with-intel-oneapi/top.html)*. +To learn more about the extensions and how to configure the oneAPI +environment, see the *[Using Visual Studio Code with Intel® oneAPI Toolkits +User +Guide](https://www.intel.com/content/www/us/en/develop/documentation/using-vs-code-with-intel-oneapi/top.html)*. ### On Linux* 1. Change to the sample directory. + 2. Build the programs. + ``` mkdir build cd build cmake .. make ``` + 3. Run the programs. ``` make run_all ``` - >**Note**: The application by default uses the Level Zero runtime and will run without errors. We will do a deeper investigation of the application, in particular with the openCL runtime, to expose problems that could also manifest in Level Zero. + + > **Note**: The application by default uses the Level Zero runtime and will + > run without errors. We will do a deeper investigation of the + > application, in particular with the openCL runtime, to expose problems + > that could also manifest in Level Zero. For the mixed queue version only, enter the following: ``` make run_bugged ``` + For the working version only, enter the following: ``` make run_OK ``` + 4. Clean the program. (Optional) + ``` make clean ``` - #### Troubleshooting If an error occurs, you can get more details by running `make` with the `VERBOSE=1` argument: + ``` make VERBOSE=1 ``` -If you receive an error message, troubleshoot the problem using the **Diagnostics Utility for Intel® oneAPI Toolkits**. The diagnostic utility provides configuration and system checks to help find missing dependencies, permissions errors, and other issues. See the *[Diagnostics Utility for Intel® oneAPI Toolkits User Guide](https://www.intel.com/content/www/us/en/develop/documentation/diagnostic-utility-user-guide/top.html)* for more information on using the utility. +If you receive an error message, troubleshoot the problem using the +**Diagnostics Utility for Intel® oneAPI Toolkits**. The diagnostic utility +provides configuration and system checks to help find missing dependencies, +permissions errors, and other issues. See the *[Diagnostics Utility for Intel® +oneAPI Toolkits User +Guide](https://www.intel.com/content/www/us/en/develop/documentation/diagnostic-utility-user-guide/top.html)* +for more information on using the utility. ### Build and Run the Sample in Intel® DevCloud (Optional) -When running a sample in the Intel® DevCloud, you must specify the compute node (CPU, GPU, FPGA) and whether to run in batch or interactive mode. +When running a sample in the Intel® DevCloud, you must specify the compute +node (CPU, GPU, FPGA) and whether to run in batch or interactive mode. Use the Linux instructions to build and run the program. @@ -122,46 +175,71 @@ You can specify a GPU node using a single line script. ``` qsub -I -l nodes=1:gpu:ppn=2 -d . ``` + - `-I` (upper case I) requests an interactive session. -- `-l nodes=1:gpu:ppn=2` (lower case L) assigns one full GPU node. -- `-d .` makes the current folder as the working directory for the task. + +- `-l nodes=1:gpu:ppn=2` (lower case L) assigns one full GPU node. + +- `-d .` sets the current folder as the working directory for the task. |Available Nodes |Command Options |:--- |:--- |GPU |`qsub -l nodes=1:gpu:ppn=2 -d .` |CPU |`qsub -l nodes=1:xeon:ppn=2 -d .` -For more information on how to specify compute nodes read *[Launch and manage jobs](https://devcloud.intel.com/oneapi/documentation/job-submission/)* in the Intel® DevCloud for oneAPI Documentation. +For more information on how to specify compute nodes read *[Launch and manage +jobs](https://devcloud.intel.com/oneapi/documentation/job-submission/)* in the +Intel® DevCloud for oneAPI Documentation. ->**Note**: Since Intel® DevCloud for oneAPI includes the appropriate development environment already configured, you do not need to set environment variables. +> **Note**: Since Intel® DevCloud for oneAPI includes the appropriate +> development environment already configured, you do not need to set +> environment variables. ## Guided Debugging -The following instructions assume you have installed Intel® Distribution for GDB* and have a basic working knowledge of GDB. +The following instructions assume you have installed Intel® Distribution for +GDB* and have a basic working knowledge of GDB. -To learn how setup and use Intel® Distribution for GDB*, see *[Get Started with Intel® Distribution for GDB* on Linux* OS Host](https://www.intel.com/content/www/us/en/develop/documentation/get-started-with-debugging-dpcpp-linux/top.html)*. +To learn how setup and use Intel® Distribution for GDB*, see *[Get Started +with Intel® Distribution for GDB* on Linux* OS +Host](https://www.intel.com/content/www/us/en/docs/distribution-for-gdb/get-started-guide-linux)*. ->**Note**: SYCL applications will use the oneAPI Level Zero runtime by default. oneAPI Level Zero provides a low-level, direct-to-metal interface for the devices in a oneAPI platform. For more information see *[Using the oneAPI Level Zero Interface: A Brief Introduction to the Level Zero API](https://www.intel.com/content/www/us/en/developer/articles/technical/using-oneapi-level-zero-interface.html?wapkw=Level%20Zero#gs.dxm4t4)*. +> **Note**: SYCL applications will use the oneAPI Level Zero runtime by +> default. oneAPI Level Zero provides a low-level, direct-to-metal interface +> for the devices in a oneAPI platform. For more information see *[Using the +> oneAPI Level Zero Interface: A Brief Introduction to the Level Zero +> API](https://www.intel.com/content/www/us/en/developer/articles/technical/using-oneapi-level-zero-interface.html?wapkw=Level%20Zero#gs.dxm4t4)*. -This guided example demonstrates what might happen when a developer mixes up queues owned by different contexts. +This guided example demonstrates what might happen when a developer mixes up +queues owned by different contexts. ### Getting the Tracing and Profiling Tool -At an important step in this tutorial, the instructions require a utility that was not installed with the Intel® oneAPI Base Toolkit (Base Kit). +At an important step in this tutorial, the instructions require a utility that +was not installed with the Intel® oneAPI Base Toolkit (Base Kit). -You must download the [Tracing and Profiling Tool](https://github.com/intel/pti-gpu/tree/master/tools/onetrace) code from GitHub and build the utility. The build instructions are included in the readme in the GitHub repository. +You must download the [Tracing and Profiling +Tool](https://github.com/intel/pti-gpu/tree/master/tools/onetrace) code from +GitHub and build the utility. The build instructions are included in the +README in the GitHub repository. ### Check the Programs -1. Notice that both versions of the application run to completion and report correct results. +1. Notice that both versions of the application run to completion and report + correct results. - SYCL applications use the Level Zero runtime by default with an Intel GPU. If you use OpenCL™ software to run `1_matrix_mul_invalid_contexts`, the program with a bug in it will crash before it can report results. + SYCL applications use the Level Zero runtime by default with an Intel GPU. + If you use OpenCL™ software to run `1_matrix_mul_invalid_contexts`, the + program with a bug in it will crash before it can report results. 2. Check the results on a **GPU** with OpenCL. + ``` ONEAPI_DEVICE_SELECTOR=opencl:gpu ./1_matrix_mul_invalid_contexts ``` + The output might look similar to the following: + ``` Initializing Computing @@ -174,11 +252,38 @@ You must download the [Tracing and Profiling Tool](https://github.com/intel/pti- what(): Native API failed. Native API returns: -5 (CL_OUT_OF_RESOURCES) -5 (CL_OUT_OF_RESOURCES) Aborted (core dumped) ``` + + > **Note:** this will only work if the `sycl-ls` command shows OpenCL + > devices for the graphics card, such as like this: + + ``` + $ sycl-ls + [opencl:cpu][opencl:0] Intel(R) OpenCL, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz OpenCL 3.0 (Build 0) [2024.18.6.0.02_160000] + [opencl:gpu][opencl:1] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [24.22.29735.27] + [opencl:gpu][opencl:2] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1550 OpenCL 3.0 NEO [24.22.29735.27] + [opencl:cpu][opencl:3] Intel(R) OpenCL, Intel(R) Xeon(R) Platinum 8360Y CPU @ 2.40GHz OpenCL 3.0 (Build 0) [2023.16.7.0.21_160000] + [opencl:fpga][opencl:4] Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2023.16.7.0.21_160000] + [level_zero:gpu][level_zero:0] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1550 1.3 [1.3.29735] + [level_zero:gpu][level_zero:1] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1550 1.3 [1.3.29735] + ``` + + If you are missing `[opencl:gpu]` devices you may have to add the necessary libraries to your device path by setting the appropriate path in `DRIVERLOC` and then running the following four commands (for Ubuntu - adapt for other OSes): + + ``` + export DRIVERLOC=/usr/lib/x86_64-linux-gnu + export OCL_ICD_FILENAMES=$OCL_ICD_FILENAMES:$DRIVERLOC/intel-opencl/libigdrcl.so + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DRIVERLOC + export PATH=$PATH:/opt/intel/oneapi:$DRIVERLOC + ``` + 3. Check the results on the **CPU** using OpenCL. You should see similar problems. + ``` ONEAPI_DEVICE_SELECTOR=opencl:cpu ./1_matrix_mul_invalid_contexts ``` + The output might look like the following: + ``` Initializing Computing @@ -191,26 +296,33 @@ You must download the [Tracing and Profiling Tool](https://github.com/intel/pti- Aborted (core dumped) ``` -Note the change in results. In the next section, let us examine what went wrong. +Note the change in results. In the next section we will examine what went +wrong. ### Use the Debugger to Find the Issue -In this section, you will use the Intel® Distribution for GDB* to determine what might be wrong. +In this section, you will use the Intel® Distribution for GDB* to determine +what might be wrong. 1. Start the debugger using OpenCL™ on the **GPU**. + ``` - ONEAPI_DEVICE_SELECTOR=opencl:gpu gdb-oneapi ./1_matrix_mul_invalid_contexts + ONEAPI_DEVICE_SELECTOR=opencl:gpu gdb-oneapi ./1_matrix_mul_invalid_contexts ``` + 2. You should get the prompt `(gdb)`. 3. From the debugger, run the program. + ``` (gdb) run ``` - This will launch the application and provide some indication of where the code failed. + + This will launch the application and provide some indication of where the + code failed. ``` - Starting program: .../1_matrix_mul_invalid_contexts + Starting program: .../1_matrix_mul_invalid_contexts : [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1". @@ -222,59 +334,74 @@ In this section, you will use the Intel® Distribution for GDB* to determine wha Device max work group size: 1024 Problem size: c(150,600) = a(150,300) * b(300,600) [New Thread 0x15553b1c8700 (LWP 47514)] - terminate called after throwing an instance of 'cl::sycl::runtime_error' - what(): Native API failed. Native API returns: -5 (CL_OUT_OF_RESOURCES) -5 (CL_OUT_OF_RESOURCES) + terminate called after throwing an instance of 'sycl::_V1::runtime_error' + what(): Native API failed. Native API returns: -5 (PI_ERROR_OUT_OF_RESOURCES) -5 (PI_ERROR_OUT_OF_RESOURCES) + + Thread 1 "a.out" received signal SIGABRT, Aborted. + __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 + warning: 44 ./nptl/pthread_kill.c: No such file or directory - Thread 1 "matrix_multiply_bugg" received signal SIGABRT, Aborted. - __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 - 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) ``` 4. Prompt for a call stack to inspect the results. + ``` (gdb) where ``` - The output can be extensive, and might look similar to the following: - - ``` - #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 - #1 0x0000155554ce4859 in __GI_abort () at abort.c:79 - #2 0x00001555553da911 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 - #3 0x00001555553e638c in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 - #4 0x00001555553e63f7 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 - #5 0x00001555553e637f in std::rethrow_exception(std::__exception_ptr::exception_ptr) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 - #6 0x0000155555153fe4 in cl::sycl::detail::Scheduler::addCG(std::unique_ptr >, std::shared_ptr) () from /opt/intel/oneapi_customer/compiler/2022.1.0/linux/lib/libsycl.so.5 - #7 0x000015555518ef30 in cl::sycl::handler::finalize() () from /opt/intel/oneapi_customer/compiler/2022.1.0/linux/lib/libsycl.so.5 - #8 0x00001555551bc3ea in cl::sycl::detail::queue_impl::finalizeHandler(cl::sycl::handler&, cl::sycl::detail::CG::CGTYPE const&, cl::sycl::event&) () - from /opt/intel/oneapi_customer/compiler/2022.1.0/linux/lib/libsycl.so.5 - #9 0x00001555551bc13b in cl::sycl::detail::queue_impl::submit_impl(std::function const&, std::shared_ptr const&, std::shared_ptr const&, std::shared_ptr const&, cl::sycl::detail::code_location const&, std::function const*) () from /opt/intel/oneapi_customer/compiler/2022.1.0/linux/lib/libsycl.so.5 - #10 0x00001555551bb744 in cl::sycl::detail::queue_impl::submit(std::function const&, std::shared_ptr const&, cl::sycl::detail::code_location const&, std::function const*) () from /opt/intel/oneapi_customer/compiler/2022.1.0/linux/lib/libsycl.so.5 - #11 0x00001555551bb715 in cl::sycl::queue::submit_impl(std::function, cl::sycl::detail::code_location const&) () - from /opt/intel/oneapi_customer/compiler/2022.1.0/linux/lib/libsycl.so.5 - #12 0x0000000000404536 in cl::sycl::queue::submit(main::{lambda(auto:1&)#1}, cl::sycl::detail::code_location const&) (this=0x7fffffffa750, CGF=..., - CodeLoc=...) at /opt/intel/oneapi_customer/compiler/2022.1.0/linux/bin-llvm/../include/sycl/CL/sycl/queue.hpp:275 - #13 0x000000000040408a in main () at src/1_matrix_mul_invalid_contexts.cpp:101 - (gdb) + + The output can be extensive and might look similar to the following: + + ``` + #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=) at ./nptl/pthread_kill.c:44 + #1 __pthread_kill_internal (signo=6, threadid=) at ./nptl/pthread_kill.c:78 + #2 __GI___pthread_kill (threadid=, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 + #3 0x0000155554a4526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 + #4 0x0000155554a288ff in __GI_abort () at ./stdlib/abort.c:79 + #5 0x00001555552a5ffe in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 + #6 0x00001555552bae9c in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 + #7 0x00001555552a5a49 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 + #8 0x00001555552bae8e in std::rethrow_exception(std::__exception_ptr::exception_ptr) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 + #9 0x0000155555000b93 in sycl::_V1::detail::Scheduler::enqueueCommandForCG(std::shared_ptr, std::vector >&, sycl::_V1::detail::BlockingT) () from /opt/intel/oneapi/compiler/2024.2/lib/libsycl.so.7 + #10 0x00001555550001e1 in sycl::_V1::detail::Scheduler::addCG(std::unique_ptr >, std::shared_ptr const&, _pi_ext_command_buffer*, std::vector > const&) () from /opt/intel/oneapi/compiler/2024.2/lib/libsycl.so.7 + #11 0x0000155555039c8a in sycl::_V1::handler::finalize() () from /opt/intel/oneapi/compiler/2024.2/lib/libsycl.so.7 + #12 0x0000155554fbc2fd in void sycl::_V1::detail::queue_impl::finalizeHandler(sycl::_V1::handler&, sycl::_V1::event&) () + from /opt/intel/oneapi/compiler/2024.2/lib/libsycl.so.7 + #13 0x0000155554fbbe19 in sycl::_V1::detail::queue_impl::submit_impl(std::function const&, std::shared_ptr const&, std::shared_ptr const&, std::shared_ptr const&, sycl::_V1::detail::code_location const&, std::function const*) () from /opt/intel/oneapi/compiler/2024.2/lib/libsycl.so.7 + #14 0x0000155554fbb800 in sycl::_V1::detail::queue_impl::submit(std::function const&, std::shared_ptr const&, sycl::_V1::detail::code_location const&, std::function const*) () from /opt/intel/oneapi/compiler/2024.2/lib/libsycl.so.7 + #15 0x000015555506f8b5 in sycl::_V1::queue::submit_impl(std::function, sycl::_V1::detail::code_location const&) () + from /opt/intel/oneapi/compiler/2024.2/lib/libsycl.so.7 + #16 0x0000000000404b98 in sycl::_V1::queue::submit(main::{lambda(auto:1&)#1}, sycl::_V1::detail::code_location const&) (this=0x7fffffffb2e0, CGF=..., + CodeLoc=...) at /opt/intel/oneapi/compiler/2024.2/bin/compiler/../../include/sycl/queue.hpp:358 + #17 0x00000000004046c3 in main () at 1_matrix_mul_invalid_contexts.cpp:101 + (gdb) ``` -5. Note that the last frame number in the call stack (your last frame may vary from the example above). +5. Note the last frame number in the call stack (your last frame may vary + from the example above). + 6. Switch the debugger focus to that frame. + ``` - (gdb) frame 13 + (gdb) frame 17 ``` + Your output will be similar to the following: + ``` #13 0x000000000040408a in main () at src/1_matrix_mul_invalid_contexts.cpp:101 101 q.submit([&](auto &h) { - (gdb) + (gdb) ``` + 7. Examine the source code in that region. + ``` (gdb) list ``` + You should see the code around the line reporting the problem. - + ``` 96 97 // Submit command group to queue to initialize matrix b @@ -286,89 +413,128 @@ In this section, you will use the Intel® Distribution for GDB* to determine wha 103 }); 104 105 q.wait(); - (gdb) + (gdb) ``` - As you can see, there is something wrong in line 101. Unfortunately, the generic `CL_OUT_OF_RESOURCES` we saw when it crashed doesn't really mean anything - it just tells us there is a problem. + As you can see, there is something wrong in line 101. Unfortunately, the + generic `PI_OUT_OF_RESOURCES` we saw when it crashed does not really mean + anything - it just tells us there is a problem. - Fortunately, in this case the two variables, `dev_c` and `c_back`, are allocated only a few lines above line 101. In real code this might have happened in another source file or library, so hunting down this issue is going to be much harder. + Fortunately, in this case the two variables, `dev_c` and `c_back`, are + allocated only a few lines above line 101. In real code this might have + happened in another source file or library, so hunting down this issue is + going to be much harder. Look at the source, and note that `dev_c` is defined as: + ``` float * dev_c = sycl::malloc_device(M*P, q2); ``` + and `c_back` is defined as follows as local memory + ``` float(*c_back)[P] = new float[M][P]; ``` 8. Look at line 101, and notice the discrepancy. + ``` q.submit([&](auto &h) { ``` - Variable `dev_c` was allocated on queue `q2` while the submit statement is being done on queue `q`. + + Variable `dev_c` was allocated on queue `q2` while the submit statement is + being done on queue `q`. ### Identify the Problem without Code Inspection -You must have already built the [Tracing and Profiling Tool](https://github.com/intel/pti-gpu/tree/master/tools/onetrace). Once you have built the utility, you can invoke it before your program (similar to GBD). +You must have already built the [Tracing and Profiling +Tool](https://github.com/intel/pti-gpu/tree/master/tools/onetrace). Once you +have built the utility, you can start it before your program (similar to +starting GBD). -One of the things that the Tracing and Profiling utility can help us identify is printing every low-level API call made to OpenCL™ or Level Zero. This is the features that we will use to attempt to match the source to the events. +One of the things that the Tracing and Profiling utility can help us identify +is printing every low-level API call made to OpenCL™ or Level Zero. This is +the features that we will use to attempt to match the source to the events. -1. Let's look at the output from using OpenCL again since the program stopped when it hit a failure previously.
Include `-c` when invoking `onetrace` to enable call logging of API calls. +1. Let's look at the output from using OpenCL again since the program stopped + when it hit a failure previously.
Include `-c` when invoking `onetrace` + to enable call logging of API calls. - >**Note**: You must modify the command shown below to include the path to where you installed the `onetrace` utility. + > **Note**: You must modify the command shown below to include the path to + > where you installed the `onetrace` utility. ``` ONEAPI_DEVICE_SELECTOR=opencl:gpu [path]/onetrace -c ./1_matrix_mul_invalid_contexts ``` - The `onetrace` utility outputs extensive results. A few key excerpts with areas of interest are shown below. + The `onetrace` utility outputs extensive results. A few key excerpts with + areas of interest are shown below. - ``` - `>>>>` [10826025] clCreateCommandQueueWithProperties: *context = 0x15cb110* device = 0x111daa0 properties = 0x7ffd83a771b0 errcodeRet = 0x7ffd83a771a4
- `<<<<` [10839130] clCreateCommandQueueWithProperties [9913 ns] *result = 0x15cd980* -> CL_SUCCESS (0)
- [...]
- `>>>>` [16672600] clDeviceMemAllocINTEL: **context = 0x15cb790** device = 0x111daa0 properties = 0x7ffd83a77620 size = 360000 alignment = 4 errcode_ret = 0x7ffd83a7721c
- `<<<<` [17003160] clDeviceMemAllocINTEL [330560 ns] **result = 0xffffd556aa680000** -> CL_SUCCESS (0)
- [...]
- `>>>>` [25836849] clEnqueueMemcpyINTEL: *command_queue = 0x15cd980* blocking = 0 **dst_ptr = 0xffffd556aa680000** src_ptr = 0x153db9e39010 size = 360000 num_events_in_wait_list = 0 event_wait_list = 0 event = 0x15dc9c8
- `<<<<` [25918680] clEnqueueMemcpyINTEL [81831 ns] -> CL_OUT_OF_RESOURCES (-5) - ``` + ![alt text](./TraceOutput.png "onetrace -c output for OpenCL") Let's work backwards from the error, starting with `clEnqueueMemcpyINTEL`. - This function uses `command_queue = 0x15cd980` and copies `src_ptr` into device memory `dst_ptr = 0xffffd556aa680000`. Working back up the stack, you can see we allocated the device memory with the address `0xffffd556aa680000` using device context `0x15cb790`. However, the command queue being used in the `clEnqueueMemcpyINTEL` was created using the device context `0x15cb110`, which is different from the device context used to allocate the destination memory. The generic error we get is the OpenCL indication stating that this is illegal. + This function (line 22) uses `command_queue = 0x49d7130` and copies + `src_ptr` into device memory `dst_ptr = 0xff00ffffffeb0000`. Working back + up the stack, you can see we allocated the device memory with the address + `0xff00ffffffeb0000` using device context `0x49dbff0` (line 16). However, + the command queue (`0x49d7130`) being used in the `clEnqueueMemcpyINTEL` + was created using the device context `0x488d190` (line 4), which is + different from the device context used to allocate the destination memory + (`0x49dbff0` - line 16 again). The generic error we get is the OpenCL + indication stating that this is illegal. + + This is legal if both queues point to the same device context; however, in + this example `q2` is actually defined pointing to another device context. + You might do this in actual code if you have multiple offload compute + devices you are targeting. This code is sending work and data to each + device for processing. It is easy to accidentally send the wrong pointer to + the wrong queue in complex code. - This **is** legal if both queues point to the same device context; however, in this example `q2` is actually defined pointing to another device context. You might do this in actual code if you have multiple offload compute devices you are targeting. This code is sending work and data to each device for processing. It is easy to send the wrong pointer to the wrong queue accidentally in complex code. + For context an example of legal memory copy where the device context + (`0x488d190`) used for the command queue (`0x49d7130`) is the same as that + uses for the memory allocation is shown as well (lines 4, 7, 19). + +2. Let's also look at the output from Level Zero, and see if we could have + detected the issue there: -2. Look at the output from Level Zero, and see if we could have detected the issue. ``` ONEAPI_DEVICE_SELECTOR=level_zero:gpu [path]onetrace -c ./1_matrix_mul_invalid_contexts ``` + Your output might be similar to the following: - ``` - `>>>>` [17744815] zeMemAllocDevice: **hContext = 0x1fbb640** device_desc = 0x7ffde3fab480 {ZE_STRUCTURE_TYPE_DEVICE_MEM_ALLOC_DESC(0x15) 0 0 0} size = 393216 alignment = 8 hDevice = 0x183fae0 pptr = 0x7ffde3fab4f8 (ptr = 0) - `<<<<` [17910069] zeMemAllocDevice [163062 ns] **ptr = 0xffffd556aa660000** -> ZE_RESULT_SUCCESS(0x0) - [...] - `>>>>` [18915736] zeCommandListCreate: *hContext = 0x1f9f290* hDevice = 0x183fae0 desc = 0x7ffde3fab480 {ZE_STRUCTURE_TYPE_COMMAND_LIST_DESC(0xf) 0 1 0} phCommandList = 0x7ffde3fab470 (hCommandList = 0x7ffde3fab480) - `<<<<` [18937865] zeCommandListCreate [20335 ns] *hCommandList = 0x1fccbd0* -> ZE_RESULT_SUCCESS(0x0) - [...] - `>>>>` [19186206] zeCommandListAppendMemoryCopy: *hCommandList = 0x1fccbd0* **dstptr = 0xffffd556aa660000** srcptr = 0x15274c1d0010 size = 360000 hSignalEvent = 0x1fce9a0 numWaitEvents = 0 phWaitEvents = 0 - `<<<<` [19211401] zeCommandListAppendMemoryCopy [23937 ns] -> ZE_RESULT_SUCCESS(0x0) - ``` - Once again, if we look closely, we can see that we are using two different device contexts, which is potentially illegal. On a single-card, single-tile system this may be legal, but if you are using different device contexts to access different tiles, or different offload devices, the program will crash in those cases but not in the single-card, single-tile system. This could make debugging quite challenging. - The `onetrace` utility can be very helpful detecting these sorts of issues at a low level. It has other useful abilities, like telling you how much runtime each OpenCL or Level Zero call consumed, how long your kernels ran on the device, how long memory transfers took, and it can even create a timeline showing what happened when using the Chrome(tm) tracing browser tool. + ![alt text](./TraceOutput_LevelZero.png "onetrace -c output for Level Zero") + + Once again, if we look closely, we can see that we are using two different + device contexts, one to create the command queue, and one to create the + memory at `0xff00ffffffea0000`, which is potentially illegal. On a + single-card, single-tile system this may be legal, but if you are using + different device contexts to access different tiles, or different offload + devices, the program will crash in those cases but not in the single-card, + single-tile system. This could make debugging quite challenging. + + The `onetrace` utility can be very helpful detecting these sorts of issues + at a low level. It has other useful abilities, like telling you how much + runtime each OpenCL or Level Zero call consumed, how long your kernels ran + on the device, how long memory transfers took, and it can even create a + timeline showing what happened when using the Chrome(tm) tracing browser + tool. ### Fix the Problem -To fix this problem, you must change the `malloc_device` allocating `dev_c` to use the same queue (and thus same device context) as the first two device allocations or create queue `q` to use the same underlying device context. +To fix this problem, you must change the `malloc_device` allocating `dev_c` to +use the same queue (and thus same device context) as the first two device +allocations or create queue `q` to use the same underlying device context. -If you really need to operate over multiple devices, this example will need to be entirely re-written, which is beyond the scope of this tutorial. +If you really need to operate over multiple devices, this example will need to +be entirely re-written, which is beyond the scope of this tutorial. ## License Code samples are licensed under the MIT license. See [License.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/License.txt) for details. -Third party program Licenses can be found here: [third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt). \ No newline at end of file +Third party program Licenses can be found here: +[third-party-programs.txt](https://github.com/oneapi-src/oneAPI-samples/blob/master/third-party-programs.txt). diff --git a/Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/TraceOutput.png b/Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/TraceOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..aa6e9aad7a99bac80b2c6de61fbd123e3ae25916 GIT binary patch literal 116835 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

sB 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 literal 0 HcmV?d00001 diff --git a/Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/TraceOutput_LevelZero.png b/Tools/ApplicationDebugger/guided_matrix_mult_InvalidContexts/TraceOutput_LevelZero.png new file mode 100644 index 0000000000000000000000000000000000000000..092b02700296f2506d8d5dfa2375b6c326467122 GIT binary patch literal 96025 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�Of}tzWc5OT+r)#ByG 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∾oxr`UwyXmAw6UK~!F8*p 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 literal 0 HcmV?d00001 From e0cc5e2c1dda457671d555acaacef819c814e95f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Aug 2024 02:22:37 +0000 Subject: [PATCH 7/7] Bump transformers Bumps [transformers](https://github.com/huggingface/transformers) from 4.35.2 to 4.38.0. - [Release notes](https://github.com/huggingface/transformers/releases) - [Commits](https://github.com/huggingface/transformers/compare/v4.35.2...v4.38.0) --- updated-dependencies: - dependency-name: transformers dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .../IntelTransformers_Quantization/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AI-and-Analytics/Features-and-Functionality/IntelTransformers_Quantization/requirements.txt b/AI-and-Analytics/Features-and-Functionality/IntelTransformers_Quantization/requirements.txt index 94d79df6c4..c7cc929b0c 100644 --- a/AI-and-Analytics/Features-and-Functionality/IntelTransformers_Quantization/requirements.txt +++ b/AI-and-Analytics/Features-and-Functionality/IntelTransformers_Quantization/requirements.txt @@ -4,4 +4,4 @@ intel-extension-for-transformers==1.4.1 neural_speed==1.0 peft==0.10.0 sentencepiece -transformers==4.35.2 \ No newline at end of file +transformers==4.38.0 \ No newline at end of file