cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

jonathan81
Journeyman III

Problem with Scatter

Hi,

I have a strange problem with the scatter procject.

If i add a classical kernel in the file scatter.br i have some strange behaviour during the build

Examples:

"

WARNING: ASSERT(GetResultSymbol().IsValid() + mDataTypeValue.IsValid() >= 1) failed

1>While processing :72

1>In compiler at AST:elayedLookup::ResolveSymbols()[astdelayedlookup.cpp:139]

1> *mName = c

1>Message: unknown symbol

1>WARNING: ASSERT(GetResultSymbol().IsValid() + mDataTypeValue.IsValid() >= 1) failed

1>While processing :82

1>In compiler at AST:elayedLookup::ResolveSymbols()[astdelayedlookup.cpp:139]

1> *mName = c



"

Moreover, when i add a scatter function in another project which gives some good results i have the same problem of build and i have a crash whereas the new scatter function is not called in my code !!!

Example of crash :

Invalid Buffer, unable to write to file
Assertion failure: calcontext.cpp (807): Problem compiling shader with calclComp
ile.

Assertion failed: 0, file c:\brookamd\platform\runtime\src\cal\calbase.hpp, line
 92

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

In details, i have put this scatter function gives in scatter's project :

 

 

 

 

kernel

 

void scatter(float4 a[][], float4 b<>, float

width, out float4 c[])

{

 



 

// Get the position in the stream of the current thread

 

 

float

idx = indexof(c);

float2 apos = {idx % width, floor(idx / width) };

 



 

// Write out to the scatter buffer

c[idx] = a[apos] + b;

}

 

The kernel scatter is not called by any functions and i have a crash, if i don't put this function in my br files i have not any problem.

I have tried to link with amdcalcl.lib, amdcalrt.lib and calutAMDhlslCompiler.lib but i have always the same probleme

Thanks in advance

Best regards

Jonathan



 

 

0 Likes
10 Replies
ryta1203
Journeyman III

Make sure that you are using a HD3xxx or better. I also get this error now with v1.1 but I am using a 2900XT and it does NOT support scatter. Just an FYI.
0 Likes

Thanks but i have a HD3870

 

0 Likes
Ceq
Journeyman III

Hi, I had a similar problem and already reported it in another post... looks like code generation is wrong if you have a scatter kernel in the same source file
0 Likes

....

0 Likes

Another bug in the scatter project

If in one scatter kernel , i change the exit c by d i have the same warning in code generation

it's very strange

0 Likes

I'm having engineering take a look at this.

Thanks for the reports!

Michael.
0 Likes

I also get the same error. Whenever I use a scatter kernel, like this one:

kernel void scatter(float4 a<>, out float4 b[])
{
  b[0] = a + 1;
}

the program aborts with the error message:

 

Invalid Buffer, unable to write to file
Assertion failure: calcontext.cpp (807): Problem compiling shader with calclCompile.

test2: calbase.hpp:92: void CALAssertImpl(const char*, int, const char*): Assertion `0' failed.
Aborted

The warning messages that Jonathan describes disappear when the program is very short, but it still crashes at runtime. Is this a hardware incompatibility? My card is a HD 2600 pro. Unfortunately, software emulation (brcc -p cpu) also won't work, it crashes even earlier.

Ingo

 

0 Likes

Is this related to the fact that each kernel has to have the same "out" variable? I get the same error when I have two kernels with different outs.

Is this the way it was meant to be implemented?
0 Likes

Originally posted by: ryta1203

Is this related to the fact that each kernel has to have the same "out" variable? I get the same error when I have two kernels with different outs.



Is this the way it was meant to be implemented?




I tried creating a separate .br file for the kernel with the different output variable and calling from the original .br file but I still got the same error message. Does every kernel have to have the same output stream?

The runtime error I get is:

Assertion failure
............................can not setup target output
0 Likes

Oh I got a solution to a problem from this thread

 

 

Edit:Removed Advertising from the post

0 Likes