Basically in this scenario I thought we'd get:

1. iteration -  all 8 lanes receive uniform value 0
2. iteration -  all 8 lanes receive uniform value 1
3. iteration -  all 8 lanes receive uniform value 2
....




On Tuesday, October 18, 2016 at 8:02:10 PM UTC-7, Morten Mikkelsen wrote:
>
> I'm having some trouble using foreach_unique. I expect it to be an issue 
> with my understanding of what it does or how it's supposed to be used.
> I wrote this small sanity check routine below. the memory that comes in is 
> precleared and has room for 256*256 entries. I've tried ispc 1.7 and 1.9.1 
> (on windows) on my avx1 target.
> What I'm expecting to see once the routine is done is 8 instances of the 
> value 3 followed by 248 zeros. Then 8 instances of 4 followed by 248 zeros 
> and so on.
> Instead I get one instance of 3 followed by 255 zeros. Then one instance 
> of 4 followed by 
>
>
> EXPORT void checkparams(UNIFORM int data0[])
> {
> foreach (t = 0 ... 256)
> {
> int i=0;
>
> foreach_unique(val in t)
> {
> data0[256*t+i] = t+3;
> ++i;
> }
> }
> }
>
> I was hoping someone could tell me where I'm getting my wires crossed?
>

-- 
You received this message because you are subscribed to the Google Groups 
"Intel SPMD Program Compiler Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ispc-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to