summaryrefslogtreecommitdiff
path: root/src/cl_api.c
diff options
context:
space:
mode:
authorYongjia Zhang <zhang_yong_jia@126.com>2014-06-23 23:09:33 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-06-12 16:46:01 +0800
commit47874592adac08862cfefd5c7915b926cc37a900 (patch)
tree95e57b940a8744a61c39ea3ba97427d8a316b218 /src/cl_api.c
parentc5bdf04f9a3c295258f67fcdba39ef72fe5d9c8c (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.c17
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;
}