diff options
author | Yongjia Zhang <zhang_yong_jia@126.com> | 2014-06-23 23:09:33 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@intel.com> | 2014-06-12 16:46:01 +0800 |
commit | 47874592adac08862cfefd5c7915b926cc37a900 (patch) | |
tree | 95e57b940a8744a61c39ea3ba97427d8a316b218 /src/cl_api.c | |
parent | c5bdf04f9a3c295258f67fcdba39ef72fe5d9c8c (diff) |
Fix the same kernel name issue of OCL_OUTPUT_KERNEL_PERF
Now it treats kernels with same kernel name and different build
options separately. When OCL_OUTPUT_KERNEL_PERF==1, it outputs the
time summary as before, but if OCL_OUTPUT_KERNEL_PERF==2, it will
output the time details including the kernel build options and
kernels with same kernel name but different build options will
output separately.
v2: use strncmp and strncpy instead of strcmp and strcpy.
Signed-off-by: Yongjia Zhang <yongjia.zhang@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'src/cl_api.c')
-rw-r--r-- | src/cl_api.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/cl_api.c b/src/cl_api.c index 6206e109..c8d3cee6 100644 --- a/src/cl_api.c +++ b/src/cl_api.c @@ -1681,7 +1681,7 @@ clEnqueueCopyBuffer(cl_command_queue command_queue, } if(b_output_kernel_perf) - time_end(command_queue->ctx, "beignet internal kernel : cl_mem_copy", command_queue); + time_end(command_queue->ctx, "beignet internal kernel : cl_mem_copy", "", command_queue); return 0; @@ -1785,7 +1785,7 @@ clEnqueueCopyBufferRect(cl_command_queue command_queue, } if(b_output_kernel_perf) - time_end(command_queue->ctx, "beignet internal kernel : cl_mem_copy_buffer_rect", command_queue); + time_end(command_queue->ctx, "beignet internal kernel : cl_mem_copy_buffer_rect", "", command_queue); error: return err; @@ -2027,7 +2027,7 @@ clEnqueueCopyImage(cl_command_queue command_queue, } if(b_output_kernel_perf) - time_end(command_queue->ctx, "beignet internal kernel : cl_mem_kernel_copy_image", command_queue); + time_end(command_queue->ctx, "beignet internal kernel : cl_mem_kernel_copy_image", "", command_queue); error: return err; @@ -2091,7 +2091,7 @@ clEnqueueCopyImageToBuffer(cl_command_queue command_queue, } if(b_output_kernel_perf) - time_end(command_queue->ctx, "beignet internal kernel : cl_mem_copy_image_to_buffer", command_queue); + time_end(command_queue->ctx, "beignet internal kernel : cl_mem_copy_image_to_buffer", "", command_queue); error: return err; @@ -2155,7 +2155,7 @@ clEnqueueCopyBufferToImage(cl_command_queue command_queue, } if(b_output_kernel_perf) - time_end(command_queue->ctx, "beignet internal kernel : cl_mem_copy_buffer_to_image", command_queue); + time_end(command_queue->ctx, "beignet internal kernel : cl_mem_copy_buffer_to_image", "", command_queue); error: return err; @@ -2556,7 +2556,12 @@ clEnqueueNDRangeKernel(cl_command_queue command_queue, } if(b_output_kernel_perf) - time_end(command_queue->ctx, cl_kernel_get_name(kernel), command_queue); + { + if(kernel->program->build_opts != NULL) + time_end(command_queue->ctx, cl_kernel_get_name(kernel), kernel->program->build_opts, command_queue); + else + time_end(command_queue->ctx, cl_kernel_get_name(kernel), "", command_queue); + } error: return err; } |