m4rs-mt / ILGPU

ILGPU JIT Compiler for high-performance .Net GPU programs

Home Page:http://www.ilgpu.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Access violation exception caused by the OpenCL module, while using default context builder.

wberdowski opened this issue · comments

Hello. I'm using

Context.Create(b => b.Default().EnableAlgorithms())

to create ILGPU context, but it crashes my application and returns the following exit code:

The program ... has exited with code 3221225477 (0xc0000005) 'Access violation'.

I have Nvidia RTX 3060 installed on my machine, and when I explicitly state that I want to only enable CPU and CUDA, the following code works:

_context = Context.Create(b => b.CPU().Cuda().EnableAlgorithms());

The problem seems to be caused by the initialization of the OpenCL module (igdrcl64.dll).
Here's a report from the Windows Event Viewer:

<EventData>
  <Data>SimpleRaytracer.Gui.exe</Data> 
  <Data>1.0.0.0</Data> 
  <Data>6387d353</Data> 
  <Data>igdrcl64.dll</Data> 
  <Data>20.19.15.4531</Data> 
  <Data>57ed260c</Data> 
  <Data>c0000005</Data> 
  <Data>000000000007a74a</Data> 
  <Data>be38</Data> 
  <Data>01d96b993857a0bb</Data> 
  <Data>C:\Users\Wojtek\source\repos\SimpleRaytracer\SimpleRaytracer.Gui\bin\Debug\net6.0-windows\SimpleRaytracer.Gui.exe</Data> 
  <Data>C:\Windows\SYSTEM32\igdrcl64.dll</Data> 
  <Data>ee243d37-5067-4392-8767-4cab17266c08</Data> 
  <Data /> 
  <Data /> 
</EventData>
commented

hi @wberdowski. That looks like an issue with the Intel iGPU OpenCL drivers.

Have you tried updating your Intel drivers?

I found this article, which suggests that you might have to enable the iGPU before it will detect the new drivers.

commented

hi @wberdowski. I'm closing this ticket for now. If there are is anything else to add, please let us know.