OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU.
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1720 Discussions

Intel N95 **Internal compiler error** Do not know how to split the result of this operator!

awdmesh
Beginner
5,404 Views

System Details

Ubuntu 22.04

Small Form PC with Intel N95

Software from apt.repos.intel.com/oneapi

intel-oneapi-runtime-opencl

intel-oneapti-runtime-compilers

intel-opencl-icd

etc..

 

clinfo shows the following

OpenCL 3.0

2023.15.3.0.20_160000

 

I've tried to set all the options with CL_CONFIG_CPU_TARGET_ARCH within a terminal before running after receiving the error I put in the subject line. No matter which target I select, it ends in the same error. Is it possible it's just something with the Intel N95 CPU? Hoping there's a fix.

Labels (1)
0 Kudos
25 Replies
cw_intel
Moderator
4,526 Views

Hi,

 

Can you provide us more information?  Are you having this problem running clinfo? Or other program are you running to cause this problem?  If you have this problem while running other programs, do you have a small replicator and the commands to compile the code? 

 

Thanks

0 Kudos
awdmesh
Beginner
4,524 Views

Yes, sorry for the lack of details. I'm seeing this issue when attempting to run what's called osmocom_fft with a -F argument. What this ends up doing is using fosphor and opencl to accelerate the FFT/Waterfall.

 

https://projects.osmocom.org/projects/sdr/wiki/Fosphor

 

To  run this though you'd need a software defined radio or maybe play back an IQ file. Instead of building everything you can also download the DragonOS FocalX ISO located here

 

https://sourceforge.net/projects/dragonos-focal/files/

 

Burn to USB and boot live, you should have enough space to include the opencl and oneapi packages mentioned above. Still need an SDR or IQ file, but then attempt to run osmocom_fft -F in a terminal.

 

I'm not sure how else to make it easy to replicate what I'm seeing. I will say I run osmocom_fft -F on other systems to include the Valve Steam deck loaded with the same OS (ends up using the amd cpu), desktop with older i7 and also a newer G566 stealth on I believe both the CPU but now switched to using the Nivida. It's just been since getting this small pc with the N95 processor that I've ran into this.

I could only find one other reference to what seemed like the same issue, another user in this forum had another processor and was seeing it with a particular application.

0 Kudos
cw_intel
Moderator
4,506 Views

Thank you for the information. We are trying to check if the issue can be reproduced following the steps you provided. Will give you feedback if we find anything.

 

Thanks.

0 Kudos
cw_intel
Moderator
4,505 Views

I could only find one other reference to what seemed like the same issue, another user in this forum had another processor and was seeing it with a particular application.

Can you provide the link to this thread?

 

Thanks

0 Kudos
awdmesh
Beginner
4,488 Views
This is the only other reference I can find of someone having what seems to be the same or similar issue. The comments even show someone saying they have the same error as me pop up.

https://community.intel.com/t5/OpenCL-for-CPU/OpenCL-CPU-runtime-crashes-LuxMark-v3-1-on-13900K/td-p/1461058
0 Kudos
cw_intel
Moderator
4,441 Views

Hi,

 

I followed the instructions in https://projects.osmocom.org/projects/sdr/wiki/Fosphor to build gr-fosphor. And used command "apt install gr-osmosdr" to install the osmosdr, then ran the command "osmocom_fft -F".  But I didn't see the errors you reported.  Are my steps correct?

 

Thanks.

0 Kudos
awdmesh
Beginner
4,436 Views
Possibly a better approach if you’re installing from scratch on say 20.04 or even 22.04 is to do this because gr-fosphor should be installed too.

sudo apt install gqrx
sudo apt install gr-osmosdr

Then
sudo apt install clinfo
cd ~
sudo mv /etc/OpenCL/vendors/pocl.icd ~/Documents
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt update
sudo apt install intel-oneapi-runtime-opencl -y
sudo apt install intel-oneapi-runtime-compilers intel-opencl-icd -y

I assume you also have some software defined radio supported by gr-osmsodr? Like a RTLSDR, Hackrf, etc?

When you type the osmosdr_fft -F are you getting a opencl accelerated fft and waterfall? And this is using an Intel N95 processor? I’m curious if your approach with building fosphor and components worked with the Intel N95.
0 Kudos
cw_intel
Moderator
4,384 Views

Thank you for these information. Since we do not have an N95, we test it on other CPUs now to check if it is a general error or an error specific to the hardware.

 

Thanks.

0 Kudos
cw_intel
Moderator
4,376 Views

The following is what I get when running "osmocom_fft -F",

$ osmocom_fft -F

gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.10.1.1
built-in source types: file fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
[INFO] [UHD] linux; GNU C++ version 11.2.0; Boost_107400; UHD_4.1.0.5-3
libusb: warning [libusb_exit] device 2.1 still referenced
libusb: warning [libusb_exit] device 1.5 still referenced
libusb: warning [libusb_exit] device 1.2 still referenced
libusb: warning [libusb_exit] device 1.1 still referenced
[INFO] Using format CF32.
RtAudio pulse: _NOT_ running realtime scheduling
[+] Available device: 0:0 <Intel(R) Corporation> Intel(R) FPGA Emulation Device
[+] Available device: 1:0 <Intel(R) Corporation> Intel (R)Xeon(R) D-1749NT CPU @ 3.00GHz
[+] Selected device: Intel (R)Xeon(R) D-1749NT CPU @ 3.00GHz

And also a ' osmocom Spectrum Browser ' is opened, 

Capture2.PNG

 

 Does this mean I get a opencl accelerated fft?

 

Thanks.

0 Kudos
awdmesh
Beginner
4,365 Views
It definitely looks like you’re on the right track. If you had an SDR plugged in you’d be seeing the spectrum. However, you’re not using the Intel N95 processor. With that specific processor is where I’m getting the error I mentioned in the subject.

With all my other Intel processors, i7, i5 etc I get a good result with the tool working. I think there’s something unique with the Intel n95 that’s having an issue, just like the gentleman was in the other post with the application he was using.
0 Kudos
cw_intel
Moderator
4,302 Views

Can you follow the instructions here https://github.com/intel/pti-gpu/tree/master/tools/cl_tracer to build the cl_tracer, and run command "./cl_tracer -c osmocom_fft -F", then send us the output?

 

BTW, do you know how to select the device when running command " osmocom_fft -F "?  I checked the code name of Intel N95 is Alder lake-N,  we have an alder lake machine, so I want to run this application on that machine. But since there is a GPU device, the application uses GPU, not the CPU. Just wondering if we can choose to use CPU or GPU when running the command "osmocom_fft -F" ?

 

 

Thanks.

0 Kudos
awdmesh
Beginner
4,287 Views
Good question on the device selection. I’ll do some research. In my case the small Pc doesn’t have a dedicated gpu or at least one that’s seen by opencl/osmocom_fft

I built and ran the tool you mentioned above. Here’s the output.

:~/Downloads/pti-gpu/tools/cl_tracer/build$ ./cl_tracer -c osmocom_fft -F
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.10.4.0
built-in source types: file fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy airspyhf soapy redpitaya
[INFO] [UHD] linux; GNU C++ version 11.3.0; Boost_107400; UHD_4.1.0.5-0-unknown
Found Rafael Micro R820T tuner
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Allocating 15 zero-copy buffers
>>>> [3694881012] clGetDeviceIDs: platform = 0x55e5aa196db8 deviceType = 4294967295 numEntries = 16 devices = 0x7f6e395fc190 numDevices = 0x7f6e395fc0f8
<<<< [3694928781] clGetDeviceIDs [2096 ns] -> CL_SUCCESS (0)
>>>> [3694945231] clGetDeviceInfo: device = 0x55e5aa141898 paramName = 4096 paramValueSize = 8 paramValue = 0x7f6e395fc210 paramValueSizeRet = 0
<<<< [3694952897] clGetDeviceInfo [4427 ns] -> CL_SUCCESS (0)
>>>> [3694958925] clGetDeviceInfo: device = 0x55e5aa141898 paramName = 4140 paramValueSize = 127 paramValue = 0x7f6e395fc298 paramValueSizeRet = 0
<<<< [3694963216] clGetDeviceInfo [1606 ns] -> CL_SUCCESS (0)
>>>> [3694966716] clGetDeviceInfo: device = 0x55e5aa141898 paramName = 4139 paramValueSize = 127 paramValue = 0x7f6e395fc218 paramValueSizeRet = 0
<<<< [3696165170] clGetDeviceInfo [1192978 ns] -> CL_SUCCESS (0)
>>>> [3696171133] clGetDeviceInfo: device = 0x55e5aa141898 paramName = 4131 paramValueSize = 8 paramValue = 0x7f6e395fc318 paramValueSizeRet = 0
<<<< [3696174577] clGetDeviceInfo [700 ns] -> CL_SUCCESS (0)
>>>> [3696177174] clGetDeviceInfo: device = 0x55e5aa141898 paramName = 4118 paramValueSize = 4 paramValue = 0x7f6e395fc0fc paramValueSizeRet = 0
<<<< [3696180672] clGetDeviceInfo [1193 ns] -> CL_SUCCESS (0)
>>>> [3696183097] clGetDeviceInfo: device = 0x55e5aa141898 paramName = 4144 paramValueSize = 2047 paramValue = 0x7f6e395fc330 paramValueSizeRet = 0
<<<< [3696193291] clGetDeviceInfo [7799 ns] -> CL_SUCCESS (0)
>>>> [3696197795] clGetDeviceInfo: device = 0x55e5aa141898 paramName = 4143 paramValueSize = 2047 paramValue = 0x7f6e395fc330 paramValueSizeRet = 0
<<<< [3696203923] clGetDeviceInfo [2215 ns] -> CL_SUCCESS (0)
[+] Available device: 0:0 <Intel(R) Corporation> Intel(R) N95
[+] Selected device: Intel(R) N95
>>>> [3696256944] clGetPlatformInfo: platform = 0x55e5aa196db8 paramName = 2305 paramValueSize = 128 paramValue = 0x7f6e395fcae0 paramValueSizeRet = 0
<<<< [3696264619] clGetPlatformInfo [2620 ns] -> CL_SUCCESS (0)
>>>> [3696269423] clCreateContext: properties = 0x7f6e395fcc10 numDevices = 1 devices = 0x7f6e107018c8 funcNotify = 0 userData = 0 errcodeRet = 0x7f6e395fcbac
<<<< [3737890548] clCreateContext [41615266 ns] result = 0x7f6e10734cd8 -> CL_SUCCESS (0)
>>>> [3737909494] clCreateCommandQueue: context = 0x7f6e10734cd8 device = 0x55e5aa141898 properties = 0 errcodeRet = 0x7f6e395fcbac
<<<< [3737921343] clCreateCommandQueue [7837 ns] result = 0x7f6e1079af48 -> CL_SUCCESS (0)
>>>> [3737930178] clCreateBuffer: context = 0x7f6e10734cd8 flags = 4 size = 8388608 hostPtr = 0 errcodeRet = 0x7f6e395fcbac
<<<< [3737944705] clCreateBuffer [11361 ns] result = 0x7f6e106c5aa8 -> CL_SUCCESS (0)
>>>> [3737949307] clCreateBuffer: context = 0x7f6e10734cd8 flags = 1 size = 8388608 hostPtr = 0 errcodeRet = 0x7f6e395fcbac
<<<< [3737959692] clCreateBuffer [7260 ns] result = 0x7f6e106c9478 -> CL_SUCCESS (0)
>>>> [3737963985] clCreateBuffer: context = 0x7f6e10734cd8 flags = 4 size = 8192 hostPtr = 0 errcodeRet = 0x7f6e395fcbac
<<<< [3737971170] clCreateBuffer [4221 ns] result = 0x7f6e1073d2e8 -> CL_SUCCESS (0)
>>>> [3738373251] clCreateProgramWithSource: context = 0x7f6e10734cd8 count = 1 strings = 0x7f6e395fcb38 lengths = 0 errcodeRet = 0x7f6e395fcb34
<<<< [3738385570] clCreateProgramWithSource [5531 ns] result = 0x7f6e1079b108 -> CL_SUCCESS (0)
>>>> [3738399409] clBuildProgram: program = 0x7f6e1079b108 numDevices = 0 deviceList = 0 options = "" funcNotify = 0 userData = 0
<<<< [4606821609] clBuildProgram [868418635 ns] -> CL_SUCCESS (0)
>>>> [4606894384] clCreateKernel: program = 0x7f6e1079b108 kernelName = "fft1D_1024" errcodeRet = 0x7f6e395fcbac
<<<< [4608316593] clCreateKernel [1406952 ns] result = 0x7f6e11e96728 -> CL_SUCCESS (0)
>>>> [4608330480] clSetKernelArg: kernel = 0x7f6e11e96728 argIndex = 0 argSize = 8 argValue = 0x7f6e10701a00
<<<< [4608335922] clSetKernelArg [1830 ns] -> CL_SUCCESS (0)
>>>> [4608339660] clSetKernelArg: kernel = 0x7f6e11e96728 argIndex = 1 argSize = 8 argValue = 0x7f6e10701a08
<<<< [4608342179] clSetKernelArg [264 ns] -> CL_SUCCESS (0)
>>>> [4608344779] clSetKernelArg: kernel = 0x7f6e11e96728 argIndex = 2 argSize = 8 argValue = 0x7f6e10701a10
<<<< [4608347268] clSetKernelArg [354 ns] -> CL_SUCCESS (0)
>>>> [4608350676] clCreateImage2D: context = 0x7f6e10734cd8 flags = 2 imageFormat = 0x7f6e395fcbb8 imageWidth = 1024 imageHeight = 1024 imageRowPitch = 0 hostPtr = 0 errcodeRet = 0x7f6e395fcbb4
<<<< [4608792244] clCreateImage2D [438440 ns] result = 0x7f6e11ea07a8 -> CL_SUCCESS (0)
>>>> [4608798143] clCreateImage2D: context = 0x7f6e10734cd8 flags = 1 imageFormat = 0x7f6e395fcbb8 imageWidth = 1024 imageHeight = 128 imageRowPitch = 0 hostPtr = 0 errcodeRet = 0x7f6e395fcbb4
<<<< [4609188652] clCreateImage2D [387330 ns] result = 0x7f6e11e9f838 -> CL_SUCCESS (0)
>>>> [4609193624] clCreateBuffer: context = 0x7f6e10734cd8 flags = 1 size = 16384 hostPtr = 0 errcodeRet = 0x7f6e395fcbb4
<<<< [4609201663] clCreateBuffer [4963 ns] result = 0x7f6e11e9f088 -> CL_SUCCESS (0)
>>>> [4609220057] clCreateProgramWithSource: context = 0x7f6e10734cd8 count = 1 strings = 0x7f6e395fcb38 lengths = 0 errcodeRet = 0x7f6e395fcb34
<<<< [4609229452] clCreateProgramWithSource [5449 ns] result = 0x7f6e11e9e118 -> CL_SUCCESS (0)
>>>> [4609234595] clBuildProgram: program = 0x7f6e11e9e118 numDevices = 0 deviceList = 0 options = "-DUSE_EXT_ATOMICS" funcNotify = 0 userData = 0
**Internal compiler error** Do not know how to split the result of this operator!

Please report the issue on Intel OpenCL forum
https://software.intel.com/en-us/forums/opencl for assistance.
Aborted (core dumped)
0 Kudos
awdmesh
Beginner
4,001 Views
Just an update, I upgraded to the latest Intel oneapi runtime compilers etc and still face the same exact error as discussed above when using the Intel n95 processor.
0 Kudos
cw_intel
Moderator
3,964 Views

Thank you for your update.  We want to let you know that we have obtained an Intel n97 processor and can reproduce your problem now. We will investigate this issue and will let you know if we have any progress.

 

Thanks. 

0 Kudos
cw_intel
Moderator
3,924 Views

Sorry to say that this issue will not be fixed as it is a bug on Atom processors (You can use lscpu to check its Model name ). And Intel OpenCL CPU RT doesn't support Atom processor, please see the release notes

 

Thanks.

0 Kudos
awdmesh
Beginner
3,912 Views
That’s a bummer. Lscpu says Vendor ID GenuineIntel
Model Intel(R) N95

I understand it to be this
https://www.intel.com/content/www/us/en/products/sku/231800/intel-processor-n95-6m-cache-up-to-3-40-ghz/specifications.html

I didn’t notice mention of atom, but regardless you’re saying it’s more a big issue or just that it’s not supported or perhaps both? Any possibility it’ll ever be supported or maybe not due to a bug?

Thank you for taking the time to check on your end.
0 Kudos
cw_intel
Moderator
3,762 Views

I wanted to borrow an N95 machine but could only borrow an N97 machine, then I checked the specs. The difference between N95 and N97 is the GPU, but the CPU information is the same. So I'd try first to see if your problem can be reproduced on the N97. It turns out your problem is reproducible. I use lscpu and it shows Intel Atom. That's why I thought the N95 would also show Intel Atom. But from your results, this is not the case. Or can you use the command "sudo dmidecode | grep Family" and check the output?

 

From the release notes, you can find the supported processors are, 

  • Intel Core™ processor family with Intel® Streaming SIMD Extensions 4.2 (Intel® SSE4.2) support or higher
  • Intel Xeon® processor E3, E5, and E7 families with Intel® SSE4.2 support or higher
  • Intel Xeon® Scalable processors Platinum, Gold, Silver, Bronze families with Intel® SSE4.2 support or higher

 

Intel Atom processor is not the supported processors, so even though it is a bug in Atom, the bug will not be fixed.

 

Thanks.

 

0 Kudos
awdmesh
Beginner
3,747 Views

So this is interesting. I run the command you suggest and it says "Family: Other"

 

I can paste the entire output here if that helps. I do recall seeing SSE4.2 is supported though. In fact I know it is, because one program requires it to run. If it helps, a google of "n95 small form factor computer" will yield a lot of results for machines being sold with this CPU. I just happen to grab a few different ones from manufacturers off of amazon for testing. They all behave the same way.

 

So maybe there's still hope as it does not appear to be atom based?

 

0 Kudos
awdmesh
Beginner
3,746 Views

I pasted all the output from lscpu and also the dmidecode command here,

 

https://pastebin.com/wSdGbaNd

0 Kudos
awdmesh
Beginner
3,743 Views

I think you're right though about Atom, after searching I see comments such as this but the information is not clear across all sites.

 

"The first Intel Processor product to hit Primate Labs' Geekbench 5 database appears to be the Intel N95 (via @Benchleaks), which seems to be one of the entry-level Alder Lake-N CPUs featuring four Atom-class energy-efficient cores based on the Gracement microarchitecture"

 

 

0 Kudos
Reply