Я пытаюсь найти значение CL_DEVICE_MAX_WORK_GROUP_SIZE, однако после запуска этого кода я получаю ошибку ниже.
Необработанное исключение в 0x74202C92 в Assignment1.exe: Microsoft C ++ исключение: cl :: Ошибка в ячейке памяти 0x0136F6E0.
Новичок в OpenCL, надеюсь получить помощь здесь. Пожалуйста, посоветуй мне. Бесконечно благодарен!
std::vector<cl::Platform> platforms; // available platforms
std::vector<cl::Device> devices; // devices available to a platform
std::vector<cl::Device> compute_units; // compute units available to a platform
//size_t workgroup_size; // workgroup size available to a platform
std::string outputString; // string for output
unsigned int i, j; // counters
std::cout << std::endl;
cl::Platform::get(&platforms);
std::cout << "Number of OpenCL platforms: " << platforms.size() << std::endl;
// for each platform
for (i = 0; i < platforms.size(); i++)
{
std::cout << "--------------------" << std::endl;
// output platform index
std::cout << " Platform " << i << ":" << std::endl;
// get maximum number of work group size available to the platform
platforms[i].getDevices(CL_DEVICE_MAX_WORK_GROUP_SIZE, &devices);
std::cout << "\nNumber of Work Group Size available to platform " << i << ": " << sizeof(devices) << std::endl;
std::cout << "--------------------" << std::endl;
}