cancel
Showing results for 
Search instead for 
Did you mean: 

OpenCL

timchist
Elite

Offline compilation for gfx1010 crashes

When I try to compile any OpenCL source for gfx1010, the test application crashes in one of the AMD driver DLLs.

Tested with Adrenalin 19.7.1 and 19.7.3 on Windows 10 and Windows 7.

That's a crash report I am getting:

0x00007FFBA6FF64E7 (0x0000000000000001 0x000001FB1BE97450 0x000001FB14DA8F60 0x000001FB1BE97450), clGetPipeInfo() + 0xBB777 bytes(s) 0x00007FFBA6FF9D9A (0x000000EA00000003 0x0000000000002510 0x000001FB1C44CC90 0x000001FB153D2D50), clGetPipeInfo() + 0xBF02A bytes(s) 0x00007FFBA6F6A41B (0x0000000000002510 0x000001FB153D2D50 0x000001FB1BBDDF50 0x000001FB1C44CC90), clGetPipeInfo() + 0x2F6AB bytes(s) 0x00007FFBA6F61776 (0x000001FB00000000 0x000001FB14D391A0 0x000001FB14D779A0 0x000001FB14D38918), clGetPipeInfo() + 0x26A06 bytes(s) 0x00007FFBA6F53FBC (0x000000EA494FF958 0x0000000000000000 0x000001FB14D38910 0x0000000000000000), clGetPipeInfo() + 0x1924C bytes(s) 0x00007FFBA6F2E072 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000001), clBuildProgram() + 0x152 bytes(s) 0x00007FF6B9E416D7 (0x0000000000000001 0x000001FB132143C0 0x0000000000000000 0x0000000000000000) 0x00007FF6B9E42184 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000) 0x00007FFC034E7974 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0x14 bytes(s) 0x00007FFC0514A271 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)

I am attaching a sample program that reproduces the issue.

0 Likes
1 Solution

Here is an update from the OpenCL team. They were unable to reproduce the issue with the latest internal build.  As per their observation, rx5700-gen.exe only generates one binary for gfx900 (30KB) and one binary for gfx1010 (10KB). Using these binaries they didn't see any errors when running rx5700-use.exe. Also they've confirmed that larger (30KB) binary is the expected one for gfx900

As I've come to know, the fix is part of the next major driver build which will be promoted soon for the release. Please have patience till this fix is publicly available.

And regarding the size difference between the binaries of Navi and Vega, the OpenCL team has pointed out that they started using a new compiler tool-chain for Navi so it is expected one.

Thanks.

View solution in original post

0 Likes
7 Replies
timchist
Elite

Crash dump with proper formatting:

0x00007FFBA6FF64E7 (0x0000000000000001 0x000001FB1BE97450 0x000001FB14DA8F60 0x000001FB1BE97450), clGetPipeInfo() + 0xBB777 bytes(s)
0x00007FFBA6FF9D9A (0x000000EA00000003 0x0000000000002510 0x000001FB1C44CC90 0x000001FB153D2D50), clGetPipeInfo() + 0xBF02A bytes(s)
0x00007FFBA6F6A41B (0x0000000000002510 0x000001FB153D2D50 0x000001FB1BBDDF50 0x000001FB1C44CC90), clGetPipeInfo() + 0x2F6AB bytes(s)
0x00007FFBA6F61776 (0x000001FB00000000 0x000001FB14D391A0 0x000001FB14D779A0 0x000001FB14D38918), clGetPipeInfo() + 0x26A06 bytes(s)
0x00007FFBA6F53FBC (0x000000EA494FF958 0x0000000000000000 0x000001FB14D38910 0x0000000000000000), clGetPipeInfo() + 0x1924C bytes(s)
0x00007FFBA6F2E072 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000001), clBuildProgram() + 0x152 bytes(s)
0x00007FF6B9E416D7 (0x0000000000000001 0x000001FB132143C0 0x0000000000000000 0x0000000000000000)
0x00007FF6B9E42184 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000)
0x00007FFC034E7974 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), BaseThreadInitThunk() + 0x14 bytes(s)
0x00007FFC0514A271 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)

0 Likes

Thank you for reporting the issue and providing the reproducible test-case. I've reported it to the concerned team. Once I've any update, I'll get back to you.

Thanks.

0 Likes

Update:

The issue has been fixed and it is no longer reproducible with the latest internal drivers. Once I've any further update, I'll let you know.

Thanks.

0 Likes
timchist
Elite

Thank you for your assistance, Dipak.

I tested with version 19.8.1 and the compiler no longer crashes for gfx900 and gfx1010.

However, when I try to use the generated binary for gfx900 with RX Vega 64, I am getting the following error:

Error while BRIG Codegen phase: the binary is incomplete

Please find the source code that reproduces the problem attached. Run rx5700-gen to generate binaries and rx5700-use to use them. On my computer rx5700-gen generates two binaries for gfx900 (included in the archive). One of them works (2-gfx900.bin), while the other one (1-gfx900.bin) does not. 2-gfx900.bin is larger in size. 0-gfx1010.bin is the same as 1-gfx900.bin, so I believe it may not work with a real RX 5700, although I don't have any AMD GPUs other than RX Vega 64 at the moment easily available for direct test.

0 Likes

Thank you for confirming that the compiler crash issue has been fixed. Also thanks for reporting this compilation issue and providing the above detailed inputs. I'll report it to the concerned team. 

Thanks.

0 Likes

Here is an update from the OpenCL team. They were unable to reproduce the issue with the latest internal build.  As per their observation, rx5700-gen.exe only generates one binary for gfx900 (30KB) and one binary for gfx1010 (10KB). Using these binaries they didn't see any errors when running rx5700-use.exe. Also they've confirmed that larger (30KB) binary is the expected one for gfx900

As I've come to know, the fix is part of the next major driver build which will be promoted soon for the release. Please have patience till this fix is publicly available.

And regarding the size difference between the binaries of Navi and Vega, the OpenCL team has pointed out that they started using a new compiler tool-chain for Navi so it is expected one.

Thanks.

0 Likes
timchist
Elite

Thank you for your help, dipak.

The problem is no longer observed in the Adrenalin 19.12.2 package (based on the 19.50.02 driver).

0 Likes