cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Peterp
Journeyman III

Intel C++ Compiler and brook+

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;

}

}

0 Likes
1 Reply
gaurav_garg
Adept I

These are some errors from CPU backend. I would suggest you to use -p cal option while compiling br file, it would disable code generation for CPU backend.

0 Likes