Originally posted by: MicahVillmow
Remember, Radeon graphics cards are 5-way scalar machines, so working in vectors will be more efficient than working with scalars.
I also get IL compiler hangs when the following innocent-looking piece of code:
kernel void foo(out double2 gamma[30])
{
gamma[0] = double2(0,0);
gamma[1] = double2(0,0);
gamma[2] = double2(0,0);
gamma[3] = double2(0,0);
gamma[4] = double2(0,0);
gamma[5] = double2(0,0);
gamma[6] = double2(0,0);
}
Hi,
The code below crashes IL compiler:
il_ps_2_0
dcl_input_interp(linear) r0.xy
end;
While it is illegal piece of code, it should assert some error and not segfault.
Valgrind output shows that this is somewhere in libamdcalcl.so:
==8691== Process terminating with default action of signal 11 (SIGSEGV)
==8691== Access not within mapped region at address 0x62
==8691== at 0x6634800: (within /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x660E8A3: (within /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x66191C7: (within /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x6618B66: (within /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x661A39D: (within /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x674B682: (within /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x65EAC45: (within /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x65E4A07: (within /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x65E5756: calclCompile (in /usr/local/amdcal/lib64/libamdcalcl.so)
==8691== by 0x5E31EB1: CalCode_init (code.c:51)
==8691== by 0x45CA80: type_call (typeobject.c:436)
==8691== by 0x417E32: PyObject_Call (abstract.c:1861)
==8691==
Test platform: 64-bit Ubuntu 8.04 + CAL SDK 1.1.
I won't demand bug tracking page as I did it earlier, but this would be a Right Thing (TM) anyway
One more question: it seems that calclGetErrorString() returns "Operational Error" on all encountered errors. Is it possible to catch exact error message (and its line number) ? Or am I doing something wrong ?
Regards,
rle