1 Reply Latest reply on Apr 27, 2009 12:53 PM by gaurav.garg

    Intel C++ Compiler and brook+

    Peterp

      Hi,

      i've a kernel that compiles with VC++ but with the Intel compiler failes with this message:

      gpu.cpp(20): error: more than one operator "&&" matches these operands:
                  function template "vec<LCM<BRT_TYPE::TYPE, char>::type, LUB<BRT_TYPE::size, 1U>::size> vec<VALUE, tsize>:perator&&(const BRT_TYPE & const [with VALUE=char, tsize=1U]"
                  function template "vec<LCM<BRT_TYPE::TYPE, char>::type, 1U> vec<VALUE, tsize>:perator&&(const BRT_TYPE & const [with VALUE=char, tsize=1U]"
                  operand types are: vec<char, 1U> && vec<char, 1U>
          if (index != __BrtInt1((int)0) && index != dim2 - __BrtInt1((int)1))

       

      This is the kernel:

      kernel void linkConstraintsGPU(int dim1, int dim2, double rMean, double MM,

      double in_r<>, double in_fr<>, out double out_fr<>

      {

      int index = instance().x;

      if((index!=0)&&(index!=dim2-1))

      {

      double dR = rMean - in_r;

      double f = dR * MM;

      out_fr = in_fr+f;

      }

      }