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;
}
}