<p>I'm doing some parallel computing using my GPU. When I used glDispatchCompute first the program crashed after a few seconds which I found out was due to TDR. I deactivated TDR using the registry key TdrLevel and setting it to 0. Now it works for up to a few minutes but if the computation takes too long (about 3+ minutes) the function seems to return but then the program instantly crashes. Any ideas what the problem could be? The function always seems to fully execute, even if it takes 30 minutes to do so but right after that the program crashes which makes me think that it is not just another layer of TDR because it would probably kill the program after a certain amount of time.</p>

<p>Edit:
There is an error message: "Unable to communicate with display driver" and "Error code 2".
I'm using a Nvidia Quadro M2000M, newest drivers are installed. TDR is disabled and Nvidia energy options are set to maximum (from adaptive).</p>

CC BY-SA 3.0
2017-08-14T10:34:56.990Z
Without even a stack trace of the crash it's unlikely that anyone will be able to help you.
Dan Hulme
CC BY-SA 3.0
2017-08-14T11:28:22.650Z
You are right, see edit.
Mario
CC BY-SA 3.0
2017-08-14T21:13:46.577Z
Just checking: do you have the latest graphics drivers installed? Some googling suggests that this error is common with very long-running GPU compute jobs, and it may be (speculating) that there's some other timeout or bug inside the driver. Breaking up your job into smaller pieces may help (and would avoid the TDR problem too).
Nathan Reed
CC BY-SA 3.0
2017-08-15T07:59:47.700Z
Yes, I have the latest driver installed. I thought about breaking it up into smaller parts but it cannot be easily done. Also, I would really like to solve this problem for its own sake. I have it on two computers using two different Nvidia cards. TDR is deactivated on both and I always get error code 2. I did a Google search myself and tried everything I found - nothing works (setting energy options to maximum, playing around with the other TDR registry keys). I would like to have the computation run for months in the end.
Mario
<opengl><gpgpu>
C++/OpenGL program crashes after return of glDispatchCompute function (TDR related?)
Mario
# C++/OpenGL program crashes after return of glDispatchCompute function (TDR related?)

(Asked by: username_0 on 2017-08-14)

I'm doing some parallel computing using my GPU. When I used glDispatchCompute first the program crashed after a few seconds which I found out was due to TDR. I deactivated TDR using the registry key TdrLevel and setting it to 0. Now it works for up to a few minutes but if the computation takes too long (about 3+ minutes) the function seems to return but then the program instantly crashes. Any ideas what the problem could be? The function always seems to fully execute, even if it takes 30 minutes to do so but right after that the program crashes which makes me think that it is not just another layer of TDR because it would probably kill the program after a certain amount of time.

Edit:
There is an error message: "Unable to communicate with display driver" and "Error code 2".
I'm using a Nvidia Quadro M2000M, newest drivers are installed. TDR is disabled and Nvidia energy options are set to maximum (from adaptive).

**Tags:** opengl, gpgpu

> **Comments:**
> **username_1**: Without even a stack trace of the crash it's unlikely that anyone will be able to help you.  
> **username_0**: You are right, see edit.  
> **username_2**: Just checking: do you have the latest graphics drivers installed? Some googling suggests that this error is common with very long-running GPU compute jobs, and it may be (speculating) that there's some other timeout or bug inside the driver. Breaking up your job into smaller pieces may help (and would avoid the TDR problem too).  
> **username_0**: Yes, I have the latest driver installed. I thought about breaking it up into smaller parts but it cannot be easily done. Also, I would really like to solve this problem for its own sake. I have it on two computers using two different Nvidia cards. TDR is deactivated on both and I always get error code 2. I did a Google search myself and tried everything I found - nothing works (setting energy options to maximum, playing around with the other TDR registry keys). I would like to have the computation run for months in the end.  

---

## 0 answers

