87 lines
2.6 KiB
C
87 lines
2.6 KiB
C
/*
|
|
* Copyright (C) 2019-2020 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "opencl/source/tracing/tracing_types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*!
|
|
Function creates a tracing handle object
|
|
\param[in] device Device to create tracing handle for
|
|
\param[in] callback User-defined callback that will be called along with
|
|
traced API function
|
|
\param[in] userData Pointer to any data user would like to pass into the
|
|
callback, can be zero
|
|
\param[out] handle Tracing handle object that describes current tracing
|
|
session
|
|
\return Status code for current operation
|
|
|
|
Thread Safety: yes
|
|
*/
|
|
cl_int CL_API_CALL clCreateTracingHandleINTEL(cl_device_id device, cl_tracing_callback callback, void *userData, cl_tracing_handle *handle);
|
|
|
|
/*!
|
|
Function allows to specify which target API call should be traced.
|
|
By default function will NOT be traced
|
|
\param[in] handle Tracing handle object
|
|
\param[in] fid Target function identifier
|
|
\param[in] enable Flag to enable/disable tracing for target function
|
|
\return Status code for current operation
|
|
|
|
Thread Safety: no
|
|
*/
|
|
cl_int CL_API_CALL clSetTracingPointINTEL(cl_tracing_handle handle, cl_function_id fid, cl_bool enable);
|
|
|
|
/*!
|
|
Function destroys the tracing handle object and releases all the associated
|
|
resources
|
|
\param[in] handle Tracing handle object
|
|
\return Status code for current operation
|
|
|
|
Thread Safety: no
|
|
*/
|
|
cl_int CL_API_CALL clDestroyTracingHandleINTEL(cl_tracing_handle handle);
|
|
|
|
/*!
|
|
Function enables the tracing process for the handle. Multiple handles
|
|
can be enabled at a time
|
|
\param[in] handle Tracing handle object
|
|
\return Status code for current operation
|
|
|
|
Thread Safety: yes
|
|
*/
|
|
cl_int CL_API_CALL clEnableTracingINTEL(cl_tracing_handle handle);
|
|
|
|
/*!
|
|
Function disables the tracing process for the handle. It will wait until
|
|
all currently running callbacks are done
|
|
\param[in] handle Tracing handle object
|
|
\return Status code for current operation
|
|
|
|
Thread Safety: yes
|
|
*/
|
|
cl_int CL_API_CALL clDisableTracingINTEL(cl_tracing_handle handle);
|
|
|
|
/*!
|
|
Function requests the tracing state for the handle
|
|
\param[in] handle Tracing handle object
|
|
\param[out] enable Returns TRUE if tracing handle is in use and
|
|
FALSE otherwise
|
|
\return Status code for current operation
|
|
|
|
Thread Safety: yes
|
|
*/
|
|
cl_int CL_API_CALL clGetTracingStateINTEL(cl_tracing_handle handle, cl_bool *enable);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|