logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

clGetEventProfilingInfo - Returns profiling information for the command associated with event if

Authors

TheKhronosGroup

Errors

       Returns CL_SUCCESS if the function is executed successfully and the profiling information has been
       recorded. Otherwise, it returns one of the following errors:

       •   CL_PROFILING_INFO_NOT_AVAILABLE if the CL_QUEUE_PROFILING_ENABLE flag is not set for the
           command-queue, if the execution status of the command identified by event is not CL_COMPLETE or if
           event is a user event object.

       •   CL_INVALID_VALUE if param_name is not valid, or if size in bytes specified by param_value_size is <
           size of return type as described in the above table and param_value is not NULL.

       •   CL_INVALID_EVENT if event is a not a valid event object.

       •   CL_OUT_OF_RESOURCES if there is a failure to allocate resources required by the OpenCL implementation
           on the device.

       •   CL_OUT_OF_HOST_MEMORY if there is a failure to allocate resources required by the OpenCL
           implementation on the host.

Name

       clGetEventProfilingInfo - Returns profiling information for the command associated with event if
       profiling is enabled.

       cl_intclGetEventProfilingInfo(cl_eventevent,cl_profiling_infoparam_name,size_tparam_value_size,void*param_value,size_t*param_value_size_ret);

Notes

        1. OpenCL Specification
           page 190, section 5.12 - Profiling Operations on Memory Objects and Kernels

The Khronos Group                                  11/18/2024                         CLGETEVENTPROFILINGI(3clc)

Parameters

event
           Specifies the event object.

       param_name
           Specifies the profiling data to query. The list of supported param_name types and the information
           returned in param_value by clGetEventProfilingInfo is described in the table of parameter queries
           below.

       param_value_size
           Specifies the size in bytes of memory pointed to by param_value. This size must be ≥ size of return
           type as described in the table below.

       param_value
           A pointer to memory where the appropriate result being queried is returned. if param_value is NULL,
           it is ignored.

       param_value_size_ret
           Returns the actual size in bytes of data copied to param_value. If param_value_size_ret is NULL, it
           is ignored.

           The following is a table of clGetEventProfilingInfo parameter queries
           ┌─────────────────────────────┬─────────────┬──────────────────────────────┐
           │ cl_profiling_infoReturnTypeInfo.returnedin            │
           │                             │             │ param_value                  │
           ├─────────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_PROFILING_COMMAND_QUEUED │ cl_ulong    │ A 64-bit value that          │
           │                             │             │ describes the current device │
           │                             │             │ time counter in nanoseconds  │
           │                             │             │ when the command identified  │
           │                             │             │ by event is enqueued in a    │
           │                             │             │ command-queue by the host.   │
           ├─────────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_PROFILING_COMMAND_SUBMIT │ cl_ulong    │ A 64-bit value that          │
           │                             │             │ describes the current device │
           │                             │             │ time counter in nanoseconds  │
           │                             │             │ when the command identified  │
           │                             │             │ by event that has been       │
           │                             │             │ enqueued is submitted by the │
           │                             │             │ host to the device           │
           │                             │             │ associated with the          │
           │                             │             │ command-queue.               │
           ├─────────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_PROFILING_COMMAND_START  │ cl_ulong    │ A 64-bit value that          │
           │                             │             │ describes the current device │
           │                             │             │ time counter in nanoseconds  │
           │                             │             │ when the command identified  │
           │                             │             │ by event starts execution on │
           │                             │             │ the device.                  │
           ├─────────────────────────────┼─────────────┼──────────────────────────────┤
           │ CL_PROFILING_COMMAND_END    │ cl_ulong    │ A 64-bit value that          │
           │                             │             │ describes the current device │
           │                             │             │ time counter in nanoseconds  │
           │                             │             │ when the command identified  │
           │                             │             │ by event has finished        │
           │                             │             │ execution on the device.     │
           └─────────────────────────────┴─────────────┴──────────────────────────────┘

See Also

clCreateCommandQueue(3clc)

Specification

OpenCLSpecification[1]

See Also