-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
intel-opencl-icd - 6-7% perf regression in OpenCL-Benchmark - WSL Ubuntu 22.04 vs 24.04 and debian bookworm (i9-12900H) #730
Comments
Normal Ubuntu 22.04 and 24.04 have also different kernel version, but I do not know whether it's same with WSL Ubuntu installations. If kernel versions do differ, it would be interesting to know whether kernel or user-space has more impact on performance, so this performance regression can be filed against correct project. Could you try 22.04 kernel on 24.04 or vice verse? If not, what about testing 22.04 compute driver version on 24.04, or vice verse? |
There is same one kernel provided by microsoft
All those three installations are running on same computer so all are using this same microsoft kernel, same WSL and WSLg version and same windows intel driver. I also tried to only start one of them for running test just to be sure. BTW, the kernel source is at https://github.com/microsoft/WSL2-Linux-Kernel and one can build custom one from source but this is the default one provided by microsoft as part of WSL. I think you cannot run two kernels at once for different WSL instances. Also you cannot run real Ubuntu kernel since this one has special WSL drivers.
How would I do that?
you mean copying the |
Anybody else seeing this?
Different issue? Looks like I have different driver. |
OK, the result is interesting. Older version copied to newer distro becomes slower too in exactly the same way.
Newer driver does not run in older ubuntu so cannot test the other way
So can it be related to system libraries like libc or even C compiler? How is the OpenCL C code compiled for the gpu? |
24.04 should be using 6.8 kernel, not the 5.15 one in 22.04... Are you sure 22.04 and 24.04 Ubuntu WSL versions are really using same kernel version? Note: In normal Ubuntu LTS installs, one can install newer, so called "HW Enabling" kernels, few months after they've first been tested in Ubuntu devel versions. Latest HWE kernel available for 22.04 is 6.5: https://packages.ubuntu.com/jammy/linux-generic-hwe-22.04
Did you copy Just the older version of compute runtime ( (IGC, LLVM and kernel are most likely components in the stack to affect these numbers.)
Using IGC: https://github.com/intel/intel-graphics-compiler/ Which uses LLVM, opencl-clang and SPIRV-translator. AFAIK IGC packages in distros (like Ubuntu) use distro-specific versions of those dependencies, linked dynamically, whereas IGC packages from Intel package repos, and releases here, include statically linked LLVM version. [1] I assume you're using distro versions of everything. Ubuntu 22.04 => 24.04 upgrade implies following version changes:
See: https://packages.ubuntu.com/noble/intel-opencl-icd (and what it links). PS. You could add to title something like "6-7% perf regression in OpenCL-Benchmark". |
Not sure we are talking about same thing, WSL = Windows Subsystem for Linux. As mentioned previously there is only one kernel
Yes, just libraries listed in Also is that benchmark good reference or is there better way to check if this regression is real? And BTW I just followed the readme here |
Unfortunately I have no idea. (While I work for Intel and know a bit about the Linux drivers, I'm not a driver developer, or otherwise related to this project. I'm just another user of this driver, mainly for its Level-Zero Sysman API, not its OpenCL API.)
I think WSL docs recommend using the driver versions from Intel repos because distro driver versions are compiled only with support for upstream Linux kernel, which is missing some things that are in the Intel out-of-tree kernel driver, and I assume in WSL / Windows kernel drivers: https://dgpu-docs.intel.com/driver/kernel-driver-types.html#differences-between-the-out-of-tree-driver-and-the-upstream-kernel
While those repo names should AFAIK still work, the recommended repo names have changed a bit since then. Latest Intel driver repo info is here: https://dgpu-docs.intel.com/driver/client/overview.html (That page is for client GPUs, like iGPUs.) |
Hi @fanoush I see you have different drivers on the systems: 22.04 24.04 Could you please retry using packages from our latest github release? |
Both are what comes from ubuntu repos for those versions, the one reporting 1.0.0 is actually ubuntu package with version 22.14.22890-1 I did this in bookworkm first, unistalled packages from repo
and installed https://github.com/intel/compute-runtime/releases/tag/24.13.29138.7 via wget/dpkg
Did the same in ubuntu 22.04
and the results in 22.04 is now same = slower
So only the old 22.14.22890-1 from ubuntu 22.04 gives better numbers.
|
And btw the benchmark code running the FP32 and FP16 kernels is here |
I use OpenCL-Benchmark-Linux to verify opencl is working in WSL. I just installed new Ubuntu 24.04 and it looks like it is slower than 22.04. Then I also tried in Debian 12 bookworm and it is slower too so only ubuntu 22.04 is faster. These are three WSL instances on same Windows 11 computer running same version of the benchmark binary from https://github.com/ProjectPhysX/OpenCL-Benchmark
Ubuntu 22.04
Ubuntu 24.04 (and debian bookworm)
FP32 and FP16 are faster in 22.04 release. the version is printed as
Device Driver | 1.0.0 (Linux)
while the 22.04 installed package is in factUbuntu 24.04 intel-opencl-icd package is
Version: 23.43.27642.40-1ubuntu3
and bookworm isVersion: 22.43.24595.41-1
If you need any other info (like output of clinfo) let me know. These numbers are pretty consistent across multiple runs.
Is this expected or is the benchmark meaningless? Should I run some other test to verify or get more details?
The text was updated successfully, but these errors were encountered: