OpenGL texture update not working with 257.21 driver postProcessGL from SDK shows the same error

Hi,

I ran into a problem when updating to the latest driver: OpenGL texture updates via mapped cudaArray are no longer working in my application.
An “unknown error” is returned by function cudaMemcpyToArray(), (when copying data to the mapped texture array).

That code worked with all 197.xx drivers.

The problem is easy to reproduce: In the “postProcessGL” sample from the Cuda 3.0 SDK:

  • comment out “#define USE_TEXSUBIMAGE2D” in main.cpp, line 48
  • recompile and run
  • “Unknown error” then occurs in main.cpp, line 403: “cutilSafeCall(cudaMemcpyToArray(texture_ptr, 0, 0, cuda_dest_resource, size_tex_data, cudaMemcpyDeviceToDevice));”

Error occured on both systems:
System1:
Win7 64
GTX470 with driver 257.21
Core i7/920 on X58 chipset

System2:
Win7 64
GTX480 with driver 257.21
Core i5/750 on P55 chipset

Can anyone confirm this bug? Or is the texture update implementation in postProcessGL bad?

I have seen that same problem in my own app - I just figured out this AM that it was the tex copy where things start going bad. I’m using the driver API.

Two more things I observed:

I only see it with a GTX 470. My GTS 240 does not show the problem.

It also only applies to Vista / Win7. The GTX 470 does not show the problem if I boot to Win XP with the 257.21 driver.

258.69 beta driver still causes problems with the OpenGL texture update, in my app as well as the postProcessGl sample (Using the Cuda 3.0 Toolkit).

In the postProcessGl sample of the 3.0 SDK with USE_TEXSUBIMAGE2D commented out, the error is now reported later with the new beta driver(At the next cudaThreadSynchronize):

When “cutilSafeCall(cudaThreadSynchronize());” is added after

“cutilSafeCall(cudaMemcpyToArray(texture_ptr, 0, 0, cuda_dest_resource, size_tex_data, cudaMemcpyDeviceToDevice));” in main.cpp, line 398, the error is reported there:

“.\main.cpp(399) : cudaSafeCall() Runtime API error : unknown error.”

Apart from the Cuda-GL-interop, Cuda 3.0 seems to be running fine on the 258.69 beta driver.

Should i change something in my code or wait for another driver version?

Edit:

=> This thread should be moved to the Vista forum then.

258.69 beta driver still causes problems with the OpenGL texture update, in my app as well as the postProcessGl sample (Using the Cuda 3.0 Toolkit).

In the postProcessGl sample of the 3.0 SDK with USE_TEXSUBIMAGE2D commented out, the error is now reported later with the new beta driver(At the next cudaThreadSynchronize):

When “cutilSafeCall(cudaThreadSynchronize());” is added after

“cutilSafeCall(cudaMemcpyToArray(texture_ptr, 0, 0, cuda_dest_resource, size_tex_data, cudaMemcpyDeviceToDevice));” in main.cpp, line 398, the error is reported there:

“.\main.cpp(399) : cudaSafeCall() Runtime API error : unknown error.”

Apart from the Cuda-GL-interop, Cuda 3.0 seems to be running fine on the 258.69 beta driver.

Should i change something in my code or wait for another driver version?

Edit:

=> This thread should be moved to the Vista forum then.