[GSD-13864] [Regression] IGC 2.41.5 produces invalid PrimeGrid AP27 OpenCL results on Arc A770 (DG2); IGC 2.40.13 is correct
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- cpp, linux
- Ambito
- backend, performance
Direzione di ricerca
The report isolates the regression to IGC 2.41.5 with PrimeGrid's AP27 OpenCL workload on Arc A770; it does not name source files or tests in this repository. Start by reviewing the compiler changes between IGC 2.40.13 and 2.41.5 and reproduce the reported A/B with the same compute runtime. Done means AP27 results validate under IGC 2.41.5 as they do under 2.40.13.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Pre-submission Checklist
- I am using the latest GPU driver version (26.35.39758.10, IGC 2.41.5)
- I have searched for similar issues and found none specific to this workload. Closest related: IGC #447 (
IGC 2.41.5: masked-off lanes ...), IGC #451 (SIMD32 shuffle, Arc B570), compute-runtime #973 (fixed by 26.35). This report is a different, runtime-independent IGC 2.41.5 regression.
Note: the bisect below points at intel-graphics-compiler 2.41.5, not at the compute-runtime. Filing here per the Linux GPU Driver template so it gets triaged; please route to IGC.
GPU Hardware
Intel Arc A770 16 GB (DG2-512 / ACM-G10), PCI 8086:56a0, subsystem 8086:1020, single discrete GPU, i915 KMD.
DRI Devices Information
$ ls -ls /dev/dri/*
0 crw-rw----+ 1 root video 226, 1 Oct 20 09:41 /dev/dri/card1
0 crw-rw-rw- 1 root render 226, 128 Oct 20 09:41 /dev/dri/renderD128
$ ls -la /dev/dri/by-path/
total 0
drwxr-xr-x 2 root root 80 Oct 20 09:41 .
drwxr-xr-x 3 root root 100 Oct 20 09:41 ..
lrwxrwxrwx 1 root root 8 Oct 20 09:41 pci-0000:28:00.0-card -> ../card1
lrwxrwxrwx 1 root root 13 Oct 20 09:41 pci-0000:28:00.0-render -> ../renderD128
GPU Detailed Information (lspci output)
$ sudo lspci -vvv -k -s 28:00.0
28:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A770] (rev 08) (prog-if 00 [VGA controller])
Subsystem: Intel Corporation Device 1020
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupts: unknown pin routed to IRQ 79, MSI(X) routed to IRQ 79
IOMMU group: 19
Region 0: Memory at fb000000 (64-bit, non-prefetchable) [size=16M]
Region 2: Memory at 7800000000 (64-bit, prefetchable) [size=16G]
Expansion ROM at fc000000 [disabled] [size=2M]
Capabilities: [40] Vendor Specific Information: Intel Capabilities v1
CapA: Peg60Dis- Peg12Dis- Peg11Dis- Peg10Dis- PeLWUDis- DmiWidth=x4
EccDis- ForceEccEn- VTdDis- DmiG2Dis- PegG2Dis- DDRMaxSize=Unlimited
1NDis- CDDis- DDPCDis- X2APICEn- PDCDis- IGDis- CDID=0 CRID=0
DDROCCAP- OCEn- DDRWrtVrefEn+ DDR3LEn+
CapB: ImguDis- OCbySSKUCap- OCbySSKUEn- SMTCap- CacheSzCap 0x0
SoftBinCap- DDR3MaxFreqWithRef100=Disabled PegG3Dis-
PkgTyp- AddGfxEn- AddGfxCap- PegX16Dis- DmiG3Dis- GmmDis-
DDR3MaxFreq=2932MHz LPDDR3En-
Capabilities: [70] Express (v2) Endpoint, IntMsgNum 0
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W TEE-IO-
DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- FltModeDis-
LnkSta: Speed 2.5GT/s, Width x1
TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range B, TimeoutDis+ NROPrPrP- LTR+
10BitTagComp+ 10BitTagReq+ OBFF Not Supported, ExtFmt+ EETLPPrefix-
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
FRS- TPHComp- ExtTPHComp-
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-
AtomicOpsCtl: ReqEn-
IDOReq- IDOCompl- LTR+ EmergencyPowerReductionReq-
10BitTagReq- OBFF Disabled, EETLPPrefixBlk-
LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
Retimer- 2Retimers- CrosslinkRes: unsupported, FltMode-
Capabilities: [ac] MSI: Enable+ Count=1/1 Maskable+ 64bit+
Address: 00000000fee00000 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [d0] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [100 v1] Alternative Routing-ID Interpretation (ARI)
ARICap: MFVC- ACS-, Next Function: 0
ARICtl: MFVC- ACS-, Function Group: 0
Capabilities: [420 v1] Physical Resizable BAR
BAR 2: current size: 16GB, supported: 256MB 512MB 1GB 2GB 4GB 8GB 16GB
Capabilities: [400 v1] Latency Tolerance Reporting
Max snoop latency: 1048576ns
Max no snoop latency: 1048576ns
Kernel driver in use: i915
Kernel modules: i915, xe
Resizable BAR is enabled (16 GB BAR). Monitor attached on DP-2.
Note: LnkCap/LnkSta report x1 at 2.5 GT/s on this platform due to a display/reporting artifact; the link actually operates at PCIe 3.0 x16. Not related to the compiler bisect.
Driver Version
26.35.39758.10 (broken, with IGC 2.41.5) — also tested with 26.31.39395.13 (same failure with IGC 2.41.5, works with IGC 2.40.13).
Installed GPU Driver Packages
Arch Linux packages:
intel-compute-runtime 26.35.39758.10-1
intel-graphics-compiler 1:2.41.5-1 # broken
intel-gmmlib 22.10.0-1
ocl-icd 2.3.5-1
level-zero-loader 1.32.0-1
linux 7.2.11.arch1-1 # installed; running kernel is 7.2.8-9-omarchy
IGC 2.40.13 was obtained from the Arch Linux Archive and staged outside the package manager for A/B testing (1:2.40.13-1).
Driver Installation Details
- Installation method: distribution repository (Arch Linux,
pacman), no Intel repo, no DKMS, no custom driver build. - Running kernel:
7.2.8-9-omarchy(distribution/custom kernel package);i915is in use;xeis loaded but unused (i915owns the A770). - No kernel parameter overrides for the GPU.
Linux Distribution
Arch Linux (Omarchy 4.0.5)
Kernel Version & Boot Parameters
$ uname -r
7.2.8-9-omarchy
$ cat /proc/cmdline
quiet splash cryptdevice=PARTUUID=<redacted>:root root=/dev/mapper/root zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs initramfs_async=0 systemd.tty.term.console=dumb loglevel=0 systemd.show_status=false rd.udev.log_level=0 vt.global_cursor_default=0
$ lsmod | grep -E 'i915|xe'
xe 5185536 0
i915 5726208 69
intel_vsec 28672 1 xe
drm_ttm_helper 20480 1 xe
drm_suballoc_helper 24576 1 xe
drm_gpuvm 61440 1 xe
drm_exec 12288 2 drm_gpuvm,xe
drm_gpusvm_helper 69632 1 xe
drm_buddy 12288 2 xe,i915
drm_display_helper 344064 2 xe,i915
Actual Behavior
PrimeGrid's AP27 OpenCL workload (ap27_3.03_opencl_linux64, OpenCL 3.0 NEO, long-running integer kernel, app built May 2023) runs to completion and exits with status 0, with no OpenCL errors in stderr. The GPU is detected correctly (Intel(R) Arc(TM) A770 Graphics, 512 compute units). However, every completed result is rejected by the PrimeGrid validator as invalid/validate-error. The results are not usable by the project.
Bisect (same machine, same app, same runtime A/B, only IGC differs):
| compute-runtime | IGC | AP27 results |
|---|---|---|
| 26.35.39758.10 | 2.41.5 | 0 valid / 107 completed (all rejected) |
| 26.35.39758.10 | 2.40.13 | 2 / 2 valid |
| 26.31.39395.13 | 2.41.5 | invalid (1 confirmed, 1 pending at time of writing) |
| 26.31.39395.13 | 2.40.13 | 2 / 2 valid |
The runtime version therefore does not matter; IGC 2.41.5 is the variable that breaks the results. CPU-only work on the same host validates normally (19 valid SR5 Sieve results, no CPU invalids; 36 CPU tasks were aborted by the user), so the host, network, and validator are not at fault.
Evidence:
- PrimeGrid host: https://www.primegrid.com/results.php?hostid=1408924 (AP27 filter:
appid=11) - BOINC client log (runtime 26.35, current):
OpenCL: Intel GPU 0: Intel(R) Arc(TM) A770 Graphics (driver version 26.35.39758, device version OpenCL 3.0 NEO, 15.11GB, 15.11GB available, 9.83 TFLOPS peak) - App stderr:
AP26 OpenCL 10-shift search version 23_5_6 by Bryan Little Compiled May 6 2023 with GCC 7.5.0 Command line: ../../projects/www.primegrid.com/ap27_3.03_opencl_linux64 538059460 538059582 640 GPU Info: Name: Intel(R) Arc(TM) A770 Graphics Vendor: Intel(R) Corporation Driver: 26.35.39758 Compute Units: 512 - A/B method: IGC 2.40.13 unpacked under
/opt/intel-igc-2.40.13; only the BOINC service was pointed at it viaLD_LIBRARY_PATH.LD_DEBUG=libsconfirmed/usr/lib/intel-opencl/libigdrcl.sowith/opt/intel-igc-2.40.13/usr/lib/libigc.so.2andlibigdfcl.so.2. The runtime version reported by BOINC and by the app was unchanged in each arm. - No changes to the app, project preferences, or task arguments between arms.
Expected Behavior
AP27 results should validate under IGC 2.41.5 exactly as they do under IGC 2.40.13, with the runtime held constant.
Reproduction Rate
Always reproduces - 100% (0/107 under IGC 2.41.5; 2/2 under IGC 2.40.13).
Steps to Reproduce
- Install compute-runtime 26.35.39758.10 with IGC 2.41.5 (or 26.31.39395.13 with IGC 2.41.5) on Arch Linux with an Arc A770 (DG2).
- Attach to PrimeGrid (https://www.primegrid.com/) and enable only the AP27 subproject with "Use Intel GPU" (Linux).
- Let several
ap27_3.03_opencl_linux64tasks run. Each takes ~5-20 minutes and exits 0. - Check the results on the project host page: under IGC 2.41.5 they are rejected; under IGC 2.40.13 with the identical runtime they validate.
- To reproduce the A/B: unpack the IGC 2.40.13 Arch package to
/opt/intel-igc-2.40.13, setLD_LIBRARY_PATH=/opt/intel-igc-2.40.13/usr/libfor the BOINC service, restart it, and run a few more tasks.
Is this a regression?
- Yes, this is a regression - functionality that previously worked is now broken
Last Known Working Driver Version: IGC 2.40.13 (with compute-runtime 26.31.39395.13 and 26.35.39758.10)
First Known Failing Driver Version: IGC 2.41.5 (shipped with compute-runtime 26.35.39758.10; also fails with runtime 26.31.39395.13)
API Call Logs
Not captured yet (no crash/hang; the app reports no OpenCL errors). I can provide CLIntercept or unitrace captures for several AP27 tasks on request.
strace Logs
Not applicable — no crash or hang. Available on request.
System Logs / dmesg Output
$ sudo dmesg | grep -iE 'i915|xe|drm'
[45122.398797] i915 0000:28:00.0: Using 46-bit DMA addresses
No GPU errors observed around the runs. Full dmesg/journal available on request.
Backtrace (if crash or hang occurred)
Not applicable.
Source Code / Reproducer
The workload is PrimeGrid's public AP27 application, not a private kernel:
- Project applications: https://www.primegrid.com/apps.php
- Linux Intel GPU app:
ap27_3.03_opencl_linux64(fetched by the BOINC client; ~2.9 MB) - Exact invocation (from stderr):
ap27_3.03_opencl_linux64 538059460 538059582 640
I can attach the binary and the full result/validation data, or provide a minimized OpenCL reproducer if the app cannot be used directly. The same application is used by other volunteers on Arc, so the binary is publicly distributed by the project.
Command Line / Application Details
Run via BOINC 8.2.15 on PrimeGrid; AP27 tasks use 0.106 CPUs + 1 Intel GPU. The app writes a small result file and exits 0; the project validator rejects it under IGC 2.41.5.
oneAPI Version (if applicable)
Not used. icpx is not installed. This is an OpenCL 3.0 NEO path.
Screenshots / Video
Can provide a screenshot of the PrimeGrid host result table (0 valid/107 invalid vs 2/2 valid) if useful.
Additional Notes
- Related issues: IGC #447 (IGC 2.41.5 masked-off lane stores, BMG, closed after a PyTorch-side workaround rather than an IGC fix), IGC #451 (open, SIMD32 subgroup shuffle, Arc B570), compute-runtime #973 (DG2 silent wrong results fixed by 26.35). This report is a separate, runtime-independent IGC 2.41.5 regression; the timing and the LLVM 22 change set may be relevant.
- IGC v2.41.5 is still the latest IGC release (2026-09-10); there is no newer compiler to test.
- Workaround in daily use: IGC 2.40.13 selected only for the BOINC service; the rest of the system stays on 2.41.5.
- Happy to run any requested instrumentation or bisect further inside IGC (e.g.,
IGC_ShaderDumpEnable,oclocdumps) if that helps.
- Lingua principale
- C++
- Stelle
- 1.5k
- Fork
- 304
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di intel/compute-runtime
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
intel/compute-runtime#943 ·
-
OS: Windows Type: Bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
intel/compute-runtime#1032 ·
-
Difficoltà 4/5 1-2 giorni Idoneità per principianti 54/100
intel/compute-runtime#1030 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
intel/compute-runtime#1029 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
intel/compute-runtime#1026 ·
Tutte le issue di intel/compute-runtime
Issue simili
-
cudf-polars feature request
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 2 giorni
-
(S1 - Need confirmation)
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
CleverRaven/Cataclysm-DDA#89212 ·
I maintainer di solito rispondono entro 1 giorno
-
Status: Needs confirmation Status: Needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
a byte order mark at the start of a migration makes dbmate miss the up blockForse già presa @Dem1241 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 2 giorni
-
ai_p2 comp-dictionary
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ClickHouse/ClickHouse#127261 ·
I maintainer di solito rispondono entro 1 giorno