Прежде всего, лучшее место, чтобы задавать вопросы о реализации Intel OpenCL SDK - это их (наш) форум: http://software.intel.com/en-us/forums/intel-opencl-sdk/
При этом в текущей версии есть некоторые особенности реализации clCreateSubdevicesEXT.,Кажется, вы столкнулись с тем, что последний параметр в API C, num_devices_ret, должен быть ненулевым указателем, указывающим на количество результирующих подустройств.Оболочка C ++, по-видимому, не знакома с этой проблемой, и поэтому вы получаете это ошибочное возвращаемое значение.
Я не очень знаком с оберткой C ++, поэтому я не знаю, можете ли вы заставить ее передать неПустой указатель в базовом вызове clCreateSubdevicesEXT.Предполагая, что вы не можете, потенциальные решения - изменить оболочку самостоятельно или использовать C API.
Будущие версии SDK будут менее придирчивы к таким вещам;В той, что у вас есть, это больше функция предварительного просмотра.