Skip to content

Commit dac251d

Browse files
committed
Move spec changes to adapter.yml, removed 'loader_only' so the new entry point gets added to the ddi tables.
1 parent 43d404d commit dac251d

File tree

23 files changed

+323
-155
lines changed

23 files changed

+323
-155
lines changed

include/ur_api.h

Lines changed: 38 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ typedef enum ur_function_t {
225225
UR_FUNCTION_ENQUEUE_TIMESTAMP_RECORDING_EXP = 223, ///< Enumerator for ::urEnqueueTimestampRecordingExp
226226
UR_FUNCTION_ENQUEUE_KERNEL_LAUNCH_CUSTOM_EXP = 224, ///< Enumerator for ::urEnqueueKernelLaunchCustomExp
227227
UR_FUNCTION_KERNEL_GET_SUGGESTED_LOCAL_WORK_SIZE = 225, ///< Enumerator for ::urKernelGetSuggestedLocalWorkSize
228-
UR_FUNCTION_LOADER_CONFIG_SET_LOGGER_CALLBACK = 226, ///< Enumerator for ::urLoaderConfigSetLoggerCallback
228+
UR_FUNCTION_SET_LOGGER_CALLBACK = 227, ///< Enumerator for ::urSetLoggerCallback
229229
/// @cond
230230
UR_FUNCTION_FORCE_UINT32 = 0x7fffffff
231231
/// @endcond
@@ -785,30 +785,6 @@ UR_APIEXPORT ur_result_t UR_APICALL
785785
urLoaderTearDown(
786786
void);
787787

788-
///////////////////////////////////////////////////////////////////////////////
789-
/// @brief Callback function to retrieve output from the logger.
790-
typedef void (*ur_logger_output_callback_t)(
791-
const char *pLoggerMsg, ///< [in][out] pointer to data to be passed to callback
792-
void *pUserData ///< [in][out] pointer to data to be passed to callback
793-
);
794-
795-
///////////////////////////////////////////////////////////////////////////////
796-
/// @brief Set a callback function for use by the logger to retrieve logging
797-
/// output.
798-
///
799-
/// @returns
800-
/// - ::UR_RESULT_SUCCESS
801-
/// - ::UR_RESULT_ERROR_UNINITIALIZED
802-
/// - ::UR_RESULT_ERROR_DEVICE_LOST
803-
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
804-
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
805-
/// + `NULL == pfnLoggerCallback`
806-
UR_APIEXPORT ur_result_t UR_APICALL
807-
urLoaderConfigSetLoggerCallback(
808-
ur_logger_output_callback_t pfnLoggerCallback, ///< [in] Function pointer to callback from the logger.
809-
void *pUserData ///< [in][out][optional] pointer to data to be passed to callback
810-
);
811-
812788
#if !defined(__GNUC__)
813789
#pragma endregion
814790
#endif
@@ -1009,6 +985,33 @@ typedef enum ur_adapter_backend_t {
1009985

1010986
} ur_adapter_backend_t;
1011987

988+
///////////////////////////////////////////////////////////////////////////////
989+
/// @brief Callback function to retrieve output from the logger.
990+
typedef void (*ur_logger_output_callback_t)(
991+
const char *pLoggerMsg, ///< [in][out] pointer to data to be passed to callback
992+
void *pUserData ///< [in][out] pointer to data to be passed to callback
993+
);
994+
995+
///////////////////////////////////////////////////////////////////////////////
996+
/// @brief Set a callback function for use by the logger to retrieve logging
997+
/// output.
998+
///
999+
/// @returns
1000+
/// - ::UR_RESULT_SUCCESS
1001+
/// - ::UR_RESULT_ERROR_UNINITIALIZED
1002+
/// - ::UR_RESULT_ERROR_DEVICE_LOST
1003+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
1004+
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
1005+
/// + `NULL == hAdapter`
1006+
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
1007+
/// + `NULL == pfnLoggerCallback`
1008+
UR_APIEXPORT ur_result_t UR_APICALL
1009+
urSetLoggerCallback(
1010+
ur_adapter_handle_t hAdapter, ///< [in] handle of the adapter
1011+
ur_logger_output_callback_t pfnLoggerCallback, ///< [in] Function pointer to callback from the logger.
1012+
void *pUserData ///< [in][out][optional] pointer to data to be passed to callback
1013+
);
1014+
10121015
#if !defined(__GNUC__)
10131016
#pragma endregion
10141017
#endif
@@ -9541,15 +9544,6 @@ typedef struct ur_loader_config_set_code_location_callback_params_t {
95419544
void **ppUserData;
95429545
} ur_loader_config_set_code_location_callback_params_t;
95439546

9544-
///////////////////////////////////////////////////////////////////////////////
9545-
/// @brief Function parameters for urLoaderConfigSetLoggerCallback
9546-
/// @details Each entry is a pointer to the parameter passed to the function;
9547-
/// allowing the callback the ability to modify the parameter's value
9548-
typedef struct ur_loader_config_set_logger_callback_params_t {
9549-
ur_logger_output_callback_t *ppfnLoggerCallback;
9550-
void **ppUserData;
9551-
} ur_loader_config_set_logger_callback_params_t;
9552-
95539547
///////////////////////////////////////////////////////////////////////////////
95549548
/// @brief Function parameters for urPlatformGet
95559549
/// @details Each entry is a pointer to the parameter passed to the function;
@@ -10458,6 +10452,16 @@ typedef struct ur_adapter_get_info_params_t {
1045810452
size_t **ppPropSizeRet;
1045910453
} ur_adapter_get_info_params_t;
1046010454

10455+
///////////////////////////////////////////////////////////////////////////////
10456+
/// @brief Function parameters for urSetLoggerCallback
10457+
/// @details Each entry is a pointer to the parameter passed to the function;
10458+
/// allowing the callback the ability to modify the parameter's value
10459+
typedef struct ur_set_logger_callback_params_t {
10460+
ur_adapter_handle_t *phAdapter;
10461+
ur_logger_output_callback_t *ppfnLoggerCallback;
10462+
void **ppUserData;
10463+
} ur_set_logger_callback_params_t;
10464+
1046110465
///////////////////////////////////////////////////////////////////////////////
1046210466
/// @brief Function parameters for urEnqueueKernelLaunch
1046310467
/// @details Each entry is a pointer to the parameter passed to the function;

include/ur_ddi.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,6 +1036,13 @@ typedef ur_result_t(UR_APICALL *ur_pfnAdapterGetInfo_t)(
10361036
void *,
10371037
size_t *);
10381038

1039+
///////////////////////////////////////////////////////////////////////////////
1040+
/// @brief Function-pointer for urSetLoggerCallback
1041+
typedef ur_result_t(UR_APICALL *ur_pfnSetLoggerCallback_t)(
1042+
ur_adapter_handle_t,
1043+
ur_logger_output_callback_t,
1044+
void *);
1045+
10391046
///////////////////////////////////////////////////////////////////////////////
10401047
/// @brief Table of Global functions pointers
10411048
typedef struct ur_global_dditable_t {
@@ -1044,6 +1051,7 @@ typedef struct ur_global_dditable_t {
10441051
ur_pfnAdapterRetain_t pfnAdapterRetain;
10451052
ur_pfnAdapterGetLastError_t pfnAdapterGetLastError;
10461053
ur_pfnAdapterGetInfo_t pfnAdapterGetInfo;
1054+
ur_pfnSetLoggerCallback_t pfnSetLoggerCallback;
10471055
} ur_global_dditable_t;
10481056

10491057
///////////////////////////////////////////////////////////////////////////////

include/ur_print.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,14 +1074,6 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintLoaderConfigEnableLayerParams(const s
10741074
/// - `buff_size < out_size`
10751075
UR_APIEXPORT ur_result_t UR_APICALL urPrintLoaderConfigSetCodeLocationCallbackParams(const struct ur_loader_config_set_code_location_callback_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
10761076

1077-
///////////////////////////////////////////////////////////////////////////////
1078-
/// @brief Print ur_loader_config_set_logger_callback_params_t struct
1079-
/// @returns
1080-
/// - ::UR_RESULT_SUCCESS
1081-
/// - ::UR_RESULT_ERROR_INVALID_SIZE
1082-
/// - `buff_size < out_size`
1083-
UR_APIEXPORT ur_result_t UR_APICALL urPrintLoaderConfigSetLoggerCallbackParams(const struct ur_loader_config_set_logger_callback_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
1084-
10851077
///////////////////////////////////////////////////////////////////////////////
10861078
/// @brief Print ur_platform_get_params_t struct
10871079
/// @returns
@@ -1778,6 +1770,14 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintAdapterGetLastErrorParams(const struc
17781770
/// - `buff_size < out_size`
17791771
UR_APIEXPORT ur_result_t UR_APICALL urPrintAdapterGetInfoParams(const struct ur_adapter_get_info_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
17801772

1773+
///////////////////////////////////////////////////////////////////////////////
1774+
/// @brief Print ur_set_logger_callback_params_t struct
1775+
/// @returns
1776+
/// - ::UR_RESULT_SUCCESS
1777+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
1778+
/// - `buff_size < out_size`
1779+
UR_APIEXPORT ur_result_t UR_APICALL urPrintSetLoggerCallbackParams(const struct ur_set_logger_callback_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
1780+
17811781
///////////////////////////////////////////////////////////////////////////////
17821782
/// @brief Print ur_enqueue_kernel_launch_params_t struct
17831783
/// @returns

include/ur_print.hpp

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -932,8 +932,8 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_function_t value) {
932932
case UR_FUNCTION_KERNEL_GET_SUGGESTED_LOCAL_WORK_SIZE:
933933
os << "UR_FUNCTION_KERNEL_GET_SUGGESTED_LOCAL_WORK_SIZE";
934934
break;
935-
case UR_FUNCTION_LOADER_CONFIG_SET_LOGGER_CALLBACK:
936-
os << "UR_FUNCTION_LOADER_CONFIG_SET_LOGGER_CALLBACK";
935+
case UR_FUNCTION_SET_LOGGER_CALLBACK:
936+
os << "UR_FUNCTION_SET_LOGGER_CALLBACK";
937937
break;
938938
default:
939939
os << "unknown enumerator";
@@ -10104,26 +10104,6 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
1010410104
return os;
1010510105
}
1010610106

10107-
///////////////////////////////////////////////////////////////////////////////
10108-
/// @brief Print operator for the ur_loader_config_set_logger_callback_params_t type
10109-
/// @returns
10110-
/// std::ostream &
10111-
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_config_set_logger_callback_params_t *params) {
10112-
10113-
os << ".pfnLoggerCallback = ";
10114-
10115-
os << reinterpret_cast<void *>(
10116-
*(params->ppfnLoggerCallback));
10117-
10118-
os << ", ";
10119-
os << ".pUserData = ";
10120-
10121-
ur::details::printPtr(os,
10122-
*(params->ppUserData));
10123-
10124-
return os;
10125-
}
10126-
1012710107
///////////////////////////////////////////////////////////////////////////////
1012810108
/// @brief Print operator for the ur_platform_get_params_t type
1012910109
/// @returns
@@ -12596,6 +12576,32 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
1259612576
return os;
1259712577
}
1259812578

12579+
///////////////////////////////////////////////////////////////////////////////
12580+
/// @brief Print operator for the ur_set_logger_callback_params_t type
12581+
/// @returns
12582+
/// std::ostream &
12583+
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_set_logger_callback_params_t *params) {
12584+
12585+
os << ".hAdapter = ";
12586+
12587+
ur::details::printPtr(os,
12588+
*(params->phAdapter));
12589+
12590+
os << ", ";
12591+
os << ".pfnLoggerCallback = ";
12592+
12593+
os << reinterpret_cast<void *>(
12594+
*(params->ppfnLoggerCallback));
12595+
12596+
os << ", ";
12597+
os << ".pUserData = ";
12598+
12599+
ur::details::printPtr(os,
12600+
*(params->ppUserData));
12601+
12602+
return os;
12603+
}
12604+
1259912605
///////////////////////////////////////////////////////////////////////////////
1260012606
/// @brief Print operator for the ur_enqueue_kernel_launch_params_t type
1260112607
/// @returns
@@ -17065,9 +17071,6 @@ inline ur_result_t UR_APICALL printFunctionParams(std::ostream &os, ur_function_
1706517071
case UR_FUNCTION_LOADER_CONFIG_SET_CODE_LOCATION_CALLBACK: {
1706617072
os << (const struct ur_loader_config_set_code_location_callback_params_t *)params;
1706717073
} break;
17068-
case UR_FUNCTION_LOADER_CONFIG_SET_LOGGER_CALLBACK: {
17069-
os << (const struct ur_loader_config_set_logger_callback_params_t *)params;
17070-
} break;
1707117074
case UR_FUNCTION_PLATFORM_GET: {
1707217075
os << (const struct ur_platform_get_params_t *)params;
1707317076
} break;
@@ -17329,6 +17332,9 @@ inline ur_result_t UR_APICALL printFunctionParams(std::ostream &os, ur_function_
1732917332
case UR_FUNCTION_ADAPTER_GET_INFO: {
1733017333
os << (const struct ur_adapter_get_info_params_t *)params;
1733117334
} break;
17335+
case UR_FUNCTION_SET_LOGGER_CALLBACK: {
17336+
os << (const struct ur_set_logger_callback_params_t *)params;
17337+
} break;
1733217338
case UR_FUNCTION_ENQUEUE_KERNEL_LAUNCH: {
1733317339
os << (const struct ur_enqueue_kernel_launch_params_t *)params;
1733417340
} break;

scripts/core/adapter.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,3 +200,31 @@ etors:
200200
- name: NATIVE_CPU
201201
value: "5"
202202
desc: "The backend is Native CPU"
203+
--- #--------------------------------------------------------------------------
204+
type: fptr_typedef
205+
desc: "Callback function to retrieve output from the logger."
206+
name: $x_logger_output_callback_t
207+
return: "void"
208+
params:
209+
- type: const char*
210+
name: pLoggerMsg
211+
desc: "[in][out] pointer to data to be passed to callback"
212+
- type: void*
213+
name: pUserData
214+
desc: "[in][out] pointer to data to be passed to callback"
215+
--- #--------------------------------------------------------------------------
216+
type: function
217+
desc: "Set a callback function for use by the logger to retrieve logging output."
218+
class: $x
219+
name: SetLoggerCallback
220+
decl: static
221+
params:
222+
- type: $x_adapter_handle_t
223+
name: hAdapter
224+
desc: "[in] handle of the adapter"
225+
- type: $x_logger_output_callback_t
226+
name: pfnLoggerCallback
227+
desc: "[in] Function pointer to callback from the logger."
228+
- type: void*
229+
name: pUserData
230+
desc: "[in][out][optional] pointer to data to be passed to callback"

scripts/core/loader.yml

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -225,29 +225,3 @@ ordinal: "1"
225225
params: []
226226
returns:
227227
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
228-
--- #--------------------------------------------------------------------------
229-
type: fptr_typedef
230-
desc: "Callback function to retrieve output from the logger."
231-
name: $x_logger_output_callback_t
232-
return: "void"
233-
params:
234-
- type: const char*
235-
name: pLoggerMsg
236-
desc: "[in][out] pointer to data to be passed to callback"
237-
- type: void*
238-
name: pUserData
239-
desc: "[in][out] pointer to data to be passed to callback"
240-
--- #--------------------------------------------------------------------------
241-
type: function
242-
desc: "Set a callback function for use by the logger to retrieve logging output."
243-
class: $xLoaderConfig
244-
loader_only: True
245-
name: SetLoggerCallback
246-
decl: static
247-
params:
248-
- type: $x_logger_output_callback_t
249-
name: pfnLoggerCallback
250-
desc: "[in] Function pointer to callback from the logger."
251-
- type: void*
252-
name: pUserData
253-
desc: "[in][out][optional] pointer to data to be passed to callback"

scripts/core/registry.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -589,9 +589,9 @@ etors:
589589
- name: KERNEL_GET_SUGGESTED_LOCAL_WORK_SIZE
590590
desc: Enumerator for $xKernelGetSuggestedLocalWorkSize
591591
value: '225'
592-
- name: LOADER_CONFIG_SET_LOGGER_CALLBACK
593-
desc: Enumerator for $xLoaderConfigSetLoggerCallback
594-
value: '226'
592+
- name: SET_LOGGER_CALLBACK
593+
desc: Enumerator for $xSetLoggerCallback
594+
value: '227'
595595
---
596596
type: enum
597597
desc: Defines structure types

source/adapters/cuda/ur_interface_loader.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetGlobalProcAddrTable(
209209
pDdiTable->pfnAdapterRetain = urAdapterRetain;
210210
pDdiTable->pfnAdapterGetLastError = urAdapterGetLastError;
211211
pDdiTable->pfnAdapterGetInfo = urAdapterGetInfo;
212+
pDdiTable->pfnSetLoggerCallback = urSetLoggerCallback;
212213

213214
return UR_RESULT_SUCCESS;
214215
}

source/adapters/hip/ur_interface_loader.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetGlobalProcAddrTable(
209209
pDdiTable->pfnAdapterGetLastError = urAdapterGetLastError;
210210
pDdiTable->pfnAdapterRelease = urAdapterRelease;
211211
pDdiTable->pfnAdapterRetain = urAdapterRetain;
212+
pDdiTable->pfnSetLoggerCallback = urSetLoggerCallback;
212213

213214
return UR_RESULT_SUCCESS;
214215
}

source/adapters/level_zero/ur_interface_loader.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetGlobalProcAddrTable(
4444
pDdiTable->pfnAdapterRetain = urAdapterRetain;
4545
pDdiTable->pfnAdapterGetLastError = urAdapterGetLastError;
4646
pDdiTable->pfnAdapterGetInfo = urAdapterGetInfo;
47+
pDdiTable->pfnSetLoggerCallback = urSetLoggerCallback;
4748

4849
return retVal;
4950
}

0 commit comments

Comments
 (0)