From 6605c05adf8775eddb1d4045b408895e0183f931 Mon Sep 17 00:00:00 2001 From: David Phillips Date: Sun, 12 Feb 2017 21:04:58 +1300 Subject: Add stringy CL error messages --- trampoline.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'trampoline.c') diff --git a/trampoline.c b/trampoline.c index 2dbccc9..fcc3402 100644 --- a/trampoline.c +++ b/trampoline.c @@ -2,6 +2,7 @@ #include #include +#include "cl_error.h" #include "slurp.h" static cl_platform_id platform; @@ -92,8 +93,10 @@ int tramp_load_kernel(const char *filename) program = clCreateProgramWithSource(context, 1, (const char **)&source, &length, &res); - if (res != CL_SUCCESS) + if (res != CL_SUCCESS) { + fprintf(stderr, "Failed to create program from source code: %s ", get_cl_error_string(res)); return 1; + } free(source); source = NULL; @@ -156,21 +159,30 @@ int tramp_set_kernel_args(unsigned int s, unsigned int it) size = s; iterations = it; - device_buffer = clCreateBuffer(context, CL_MEM_WRITE_ONLY, size*size, NULL, &ret); if (ret != CL_SUCCESS) return 1; ret = clSetKernelArg(kernel, 0, sizeof(cl_mem), &device_buffer); - fprintf(stderr, "first: %d\n", ret); + if (ret != CL_SUCCESS) { + fprintf(stderr, "Error on buffer argument: %s ", get_cl_error_string(ret)); + return 1; + } + ret = clSetKernelArg(kernel, 1, sizeof(unsigned int), &size); - fprintf(stderr, "first: %d\n", ret); + if (ret != CL_SUCCESS) { + fprintf(stderr, "Error on size argument: %s ", get_cl_error_string(ret)); + return 1; + } + ret = clSetKernelArg(kernel, 2, sizeof(unsigned int), &iterations); - fprintf(stderr, "first: %d\n", ret); + if (ret != CL_SUCCESS) { + fprintf(stderr, "Error on iteration argument: %s ", get_cl_error_string(ret)); + return 1; + } - /* FIXME check all clSetKernelArg */ - return ret != CL_SUCCESS; + return 0; } int tramp_run_kernel() -- cgit v1.1