OpenCL clCreateCommandQueue Утечка памяти

В моем приложении я много времени инициализирую OpenCL, что вызывает утечку памяти. Вот небольшой пример кода, вызывающего утечку:

#include <iostream>
#include <CL/cl.h>

int main()
{
cl_platform_id platform = 0;
cl_int err = clGetPlatformIDs(1, &platform, NULL);
if(err != CL_SUCCESS){ return 1; }

cl_device_id device_id = 0;
err = clGetDeviceIDs(platform, CL_DEVICE_TYPE_GPU, 1, &device_id, NULL);
if(err != CL_SUCCESS){ return 2; }

char buff[128];
err = clGetDeviceInfo(device_id, CL_DEVICE_NAME, 128, buff, NULL);
if(err != CL_SUCCESS){ return 3; }
fprintf(stdout, "Device Name: %s\n", buff);

while(true)
{
cl_context context = clCreateContext(0, 1, &device_id, NULL, NULL, &err);
if(err != CL_SUCCESS)
return 4;

cl_command_queue command_queue = clCreateCommandQueue(context, device_id, 0, &err);
if(err != CL_SUCCESS)
return 5;

clReleaseCommandQueue(command_queue);

clReleaseContext(context);
}

return 0;
}

Этот код является частью примера из developer.apple.com. И без cl_command_queue инициализация не приводит к утечке. В чем проблема?

Моя конфигурация: Radeon R7 250, AMD APP SDK 3.0, Visual Studio 2010.

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]