7 Replies Latest reply on Oct 16, 2008 2:38 AM by nberger

    break in _k->map()?

    ryta1203
      void mcollid(float4 F1to4[], float4 F5to8[], float4 F9[], float4 f1to4[], float4 f5to8[], float4 f9[], float s[], float GEO[], float G, int gx, int gy,
      int e[], int r[], int mx, int my, int bk)
      {
      int size = gx*gy;
      float4 Fs1to4_1< size>;
      float4 Fs1to4_2< size>;
      float4 Fs5to8_1< size>;
      float4 Fs5to8_2< size>;
      float4 Fs9_1< size>;
      float4 Fs9_2< size>;

      float4 fs1to4_1< size>;
      float4 fs5to8_1< size>;
      float4 fs9_1< size>;
      float GEOs< size>;
      float ss< 9>;

      streamRead(fs1to4_1, f1to4);
      streamRead(fs5to8_1, f5to8);
      streamRead(fs9_1, f9);
      streamRead(Fs1to4_1, F1to4);
      streamRead(Fs5to8_1, F5to8);
      streamRead(Fs9_1, F9);
      streamRead(ss, s);
      streamRead(GEOs, GEO);
      mcollid_s(Fs1to4_1, Fs5to8_1, Fs9_1, fs1to4_1, fs5to8_1, fs9_1, GEOs, ss, G, Fs9_2, Fs5to8_2, Fs1to4_2);
      streamWrite(Fs9_2, F9);
      streamWrite(Fs1to4_2, F1to4);
      streamWrite(Fs5to8_2, F5to8);
      }

      This crashes. All the arrays are the same size as the streams. I don't know if this occurred in a previous SDK since I was using the same variable for input and output, aka: Fs1to4_1 was Fs1to4 and Fs1to4_2 was Fs1to4 also, any ideas?

      This works for the first iteration but crashes on the second. Also, I tried this with other kernels that do the same thing and I get the same error so I don't think it's the kernels (also, both kernels were working in previous SDK but to avoid "unpredictable results" I am now trying it this way, even though it was working before).