I have a kernel that hangs on clBuildProgram(). I am unable to upload the kernel or the calling code here (boss says no) but I’d still like to report the hang.
The kernel I have does a sha512 transform. I have tested this code more thoroughly on an ATI card with OpenCL so I am confident that the program is correct. The main loop of the transform has been unrolled so it may get close to the 2 million instruction limit. I left my program running over night and it still didn’t compile so I don’t think its just taking a long time.
I also tried running my program in gdb and interrupting it periodically to see where in the execution stack it was. Here is a short trace:
0x00007ffff7588a28 in ?? () from /usr/lib/libcuda.so.1
0x00007ffff707f440 in ?? () from /usr/lib/libcuda.so.1
0x00007ffff75887e8 in ?? () from /usr/lib/libcuda.so.1
0x00007ffff75888b2 in ?? () from /usr/lib/libcuda.so.1
0x00007ffff707f440 in ?? () from /usr/lib/libcuda.so.1
0x00007ffff75889bf in ?? () from /usr/lib/libcuda.so.1
And here is the full stack:
(gdb) bt
#0 0x00007ffff75889bf in ?? () from /usr/lib/libcuda.so.1
#1 0x00007ffff7588ba6 in ?? () from /usr/lib/libcuda.so.1
#2 0x00007ffff7588ba6 in ?? () from /usr/lib/libcuda.so.1
#3 0x00007ffff7588ba6 in ?? () from /usr/lib/libcuda.so.1
#4 0x00007ffff7588b76 in ?? () from /usr/lib/libcuda.so.1
#5 0x00007ffff7588b76 in ?? () from /usr/lib/libcuda.so.1
#6 0x00007ffff7588b76 in ?? () from /usr/lib/libcuda.so.1
#7 0x00007ffff7588ba6 in ?? () from /usr/lib/libcuda.so.1
#8 0x00007ffff7588ba6 in ?? () from /usr/lib/libcuda.so.1
#9 0x00007ffff7588bdf in ?? () from /usr/lib/libcuda.so.1
#10 0x00007ffff7588b76 in ?? () from /usr/lib/libcuda.so.1
#11 0x00007ffff7588b76 in ?? () from /usr/lib/libcuda.so.1
#12 0x00007ffff75896cb in ?? () from /usr/lib/libcuda.so.1
#13 0x00007ffff748620b in ?? () from /usr/lib/libcuda.so.1
#14 0x00007ffff7078c5d in ?? () from /usr/lib/libcuda.so.1
#15 0x00007ffff7072d0e in ?? () from /usr/lib/libcuda.so.1
#16 0x00007ffff74db527 in ?? () from /usr/lib/libcuda.so.1
#17 0x00007ffff71aeef2 in ?? () from /usr/lib/libcuda.so.1
#18 0x00007ffff711a813 in ?? () from /usr/lib/libcuda.so.1
#19 0x00007ffff715f396 in ?? () from /usr/lib/libcuda.so.1
#20 0x00007ffff71183fc in ?? () from /usr/lib/libcuda.so.1
#21 0x00007ffff711eef4 in ?? () from /usr/lib/libcuda.so.1
#22 0x00007ffff7111c42 in ?? () from /usr/lib/libcuda.so.1
#23 0x00007ffff6fa147b in ?? () from /usr/lib/libcuda.so.1
#24 0x00007ffff7048f33 in ?? () from /usr/lib/libcuda.so.1
#25 0x0000000000401dff in main ()
If there is anything else I can do to help debug (short of uploading the source) let me know.
EDIT:
Almost forgot:
I’m running
-
Ubuntu 10.10 x64
-
cudatoolkit_4.0.17_linux_64_ubuntu10.10
-
gpucomputingsdk_4.0.17_linux
-
devdriver_4.0_linux64_270.41.19
-
cudatools_4.0.17_linux_64