Peterp

Intel C++ Compiler and brook+

Discussion created by Peterp on Apr 27, 2009
Latest reply on Apr 27, 2009 by gaurav.garg

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;

}

}

Outcomes