|
|
|
@ -69,16 +69,16 @@ void Thneed::load(const char *filename) { |
|
|
|
|
if (record & THNEED_DEBUG) printf("building %s with size %zu\n", obj.first.c_str(), length); |
|
|
|
|
|
|
|
|
|
cl_program program = clCreateProgramWithSource(context, 1, srcs, &length, NULL); |
|
|
|
|
int err = clBuildProgram(program, 1, &device_id, "", NULL, NULL); |
|
|
|
|
if (err != 0) { |
|
|
|
|
printf("got err %d\n", err); |
|
|
|
|
size_t length; |
|
|
|
|
int err_ = clBuildProgram(program, 1, &device_id, "", NULL, NULL); |
|
|
|
|
if (err_ != 0) { |
|
|
|
|
printf("got err %d\n", err_); |
|
|
|
|
size_t length_; |
|
|
|
|
char buffer[2048]; |
|
|
|
|
clGetProgramBuildInfo(program, device_id, CL_PROGRAM_BUILD_LOG, sizeof(buffer), buffer, &length); |
|
|
|
|
buffer[length] = '\0'; |
|
|
|
|
clGetProgramBuildInfo(program, device_id, CL_PROGRAM_BUILD_LOG, sizeof(buffer), buffer, &length_); |
|
|
|
|
buffer[length_] = '\0'; |
|
|
|
|
printf("%s\n", buffer); |
|
|
|
|
} |
|
|
|
|
assert(err == 0); |
|
|
|
|
assert(err_ == 0); |
|
|
|
|
|
|
|
|
|
g_programs[obj.first] = program; |
|
|
|
|
} |
|
|
|
@ -92,11 +92,11 @@ void Thneed::load(const char *filename) { |
|
|
|
|
|
|
|
|
|
if (record & THNEED_DEBUG) printf("binary %s with size %zu\n", name.c_str(), length); |
|
|
|
|
|
|
|
|
|
cl_int err; |
|
|
|
|
cl_program program = clCreateProgramWithBinary(context, 1, &device_id, &length, srcs, NULL, &err); |
|
|
|
|
assert(program != NULL && err == CL_SUCCESS); |
|
|
|
|
err = clBuildProgram(program, 1, &device_id, "", NULL, NULL); |
|
|
|
|
assert(err == CL_SUCCESS); |
|
|
|
|
cl_int err_; |
|
|
|
|
cl_program program = clCreateProgramWithBinary(context, 1, &device_id, &length, srcs, NULL, &err_); |
|
|
|
|
assert(program != NULL && err_ == CL_SUCCESS); |
|
|
|
|
err_ = clBuildProgram(program, 1, &device_id, "", NULL, NULL); |
|
|
|
|
assert(err_ == CL_SUCCESS); |
|
|
|
|
|
|
|
|
|
g_programs[name] = program; |
|
|
|
|
} |
|
|
|
|