Я только что обновил OpenCL 1.0 до 1.1. Когда я вызываю функцию min (), я получаю сообщение об ошибке:
<program source>:45:44: error: call to 'min' is ambiguous
int nFramesThisKernelIngests = min(nFramesToIngest - nAvg*nPP*get_global_id(2), nAvg*nPP);
<built-in>:3569:27: note: candidate function
double16 __OVERLOADABLE__ min(double16, double16);
^
<built-in>:3568:26: note: candidate function
double8 __OVERLOADABLE__ min(double8, double8);
Вывод ошибок продолжается для большего количества строк с разными типами.
Когда я попытался изолировать проблему, оказалось, что проблема была в get_global_id (2). Я думал, что приведение get_global_id (2) к int из uint (я считаю, что он возвращает uint) решит проблему, но это не так. Кто-нибудь знает, что происходит? Я посмотрел на спецификации 1.0 и 1.1 и до сих пор не понимаю, почему это происходит.