cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

tobias
Journeyman III

OpenCL Compiler Segmentation fault

The OpenCL kernel below leads to a segmentation fault in libamdocl64.so when compiling (using Linux, APPSDK-3.0)

void b(void (^f)(void))

{

  f();

}

void a(void (^f)(void))

{

  b( ^{ f(); } );

}

kernel

void crash()

{

  a( ^{  } );

}

I'm guessing this would be allowed in OpenCL 2? (removing the nested block compiles successfully)

edit: add system info in attachment

0 Likes
6 Replies
dipak
Staff

Hi,

Thanks for reporting this. We'll check and get back to you.

Please share your setup details like Catalyst version, OS, graphics card etc.

Regards,

0 Likes

Hi

My setup is: (also see the two newly attached files (dmesg & clinfo))

OS: Debian Jessie

Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64 GNU/Linux

fglrx driver: 1:15.12-2~bpo8+1 (jessie-backports)

APU: AMD A10-7700K Radeon R7, 10 Compute Cores 4C+6G

APPSDK: 3.0

/proc/ati/0/biosversion

BIOS_CREATION_DATE="02/03/14,12:14:55"

BIOS_MSG="113-SPEC-102 SPECTRE DDR3 200e/                                             "

BIOS_KIT_VERSION="BK-AMD VER015.041.000.002.000000"

BIOS_PN="113-SPEC-102"

Thanks for your help

0 Likes

Thanks for sharing these setup details. I'll check and get back to you shortly.

0 Likes

Hi,

My apologies for this delayed reply.

Yes, I too observed the same segfault error using the latest Crimson 15.12 driver. It seems an OpenCL compiler issue and I'll file a bug report against it.

Regards,

0 Likes

No problem, I can work around it and thanks for your support.

0 Likes

Hi,

Here is an update. As I've come to know, the above test-case is invalid because it violates OpenCL standard, 6.12.5 Restrictions: "A Block cannot reference or capture another Block variable declared in the outer scope".

However, the segmentation fault issue has been resolved (in internal builds) and hopefully, the fix will be available in future releases.

Regards,

0 Likes