1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /* StarPU --- Runtime system for heterogeneous multicore architectures.
- *
- * Copyright (C) 2011-2012 Inria
- * Copyright (C) 2012,2017 CNRS
- * Copyright (C) 2010-2011 Université de Bordeaux
- *
- * StarPU is free software; you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * StarPU is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * See the GNU Lesser General Public License in COPYING.LGPL for more details.
- */
- #include "socl.h"
- void ERROR_CL(char *s, cl_int err) {
- #define ERR_CASE(a) case a: ERROR_MSG("[OpenCL] %s CL error: %s\n", s, #a); break;
- switch(err) {
- case CL_SUCCESS:
- DEBUG_MSG("[OpenCL] %s SUCCESS.\n", s);
- break;
- ERR_CASE(CL_DEVICE_NOT_FOUND);
- ERR_CASE(CL_DEVICE_NOT_AVAILABLE);
- ERR_CASE(CL_COMPILER_NOT_AVAILABLE);
- ERR_CASE(CL_MEM_OBJECT_ALLOCATION_FAILURE);
- ERR_CASE(CL_OUT_OF_RESOURCES);
- ERR_CASE(CL_OUT_OF_HOST_MEMORY);
- ERR_CASE(CL_PROFILING_INFO_NOT_AVAILABLE);
- ERR_CASE(CL_MEM_COPY_OVERLAP);
- ERR_CASE(CL_IMAGE_FORMAT_MISMATCH);
- ERR_CASE(CL_IMAGE_FORMAT_NOT_SUPPORTED);
- ERR_CASE(CL_BUILD_PROGRAM_FAILURE);
- ERR_CASE(CL_MAP_FAILURE);
- ERR_CASE(CL_INVALID_VALUE);
- ERR_CASE(CL_INVALID_DEVICE_TYPE);
- ERR_CASE(CL_INVALID_PLATFORM);
- ERR_CASE(CL_INVALID_DEVICE);
- ERR_CASE(CL_INVALID_CONTEXT);
- ERR_CASE(CL_INVALID_QUEUE_PROPERTIES);
- ERR_CASE(CL_INVALID_COMMAND_QUEUE);
- ERR_CASE(CL_INVALID_HOST_PTR);
- ERR_CASE(CL_INVALID_MEM_OBJECT);
- ERR_CASE(CL_INVALID_IMAGE_FORMAT_DESCRIPTOR);
- ERR_CASE(CL_INVALID_IMAGE_SIZE);
- ERR_CASE(CL_INVALID_SAMPLER);
- ERR_CASE(CL_INVALID_BINARY);
- ERR_CASE(CL_INVALID_BUILD_OPTIONS);
- ERR_CASE(CL_INVALID_PROGRAM);
- ERR_CASE(CL_INVALID_PROGRAM_EXECUTABLE);
- ERR_CASE(CL_INVALID_KERNEL_NAME);
- ERR_CASE(CL_INVALID_KERNEL_DEFINITION);
- ERR_CASE(CL_INVALID_KERNEL);
- ERR_CASE(CL_INVALID_ARG_INDEX);
- ERR_CASE(CL_INVALID_ARG_VALUE);
- ERR_CASE(CL_INVALID_ARG_SIZE);
- ERR_CASE(CL_INVALID_KERNEL_ARGS);
- ERR_CASE(CL_INVALID_WORK_DIMENSION);
- ERR_CASE(CL_INVALID_WORK_GROUP_SIZE);
- ERR_CASE(CL_INVALID_WORK_ITEM_SIZE);
- ERR_CASE(CL_INVALID_GLOBAL_OFFSET);
- ERR_CASE(CL_INVALID_EVENT_WAIT_LIST);
- ERR_CASE(CL_INVALID_EVENT);
- ERR_CASE(CL_INVALID_OPERATION);
- ERR_CASE(CL_INVALID_GL_OBJECT);
- ERR_CASE(CL_INVALID_BUFFER_SIZE);
- ERR_CASE(CL_INVALID_MIP_LEVEL);
- ERR_CASE(CL_INVALID_GLOBAL_WORK_SIZE);
- default:
- ERROR_MSG("%s CL error: Error message not supported by ERROR_CL function (%d).\n", s, err);
- }
- }
|