Skip to content

Commit bf8339f

Browse files
hdelankswiecicki
authored andcommitted
Add initial spec for async alloc entry points
First basic work in progress spec.
1 parent e3d127d commit bf8339f

30 files changed

+3082
-4
lines changed

include/ur_api.h

+225-1
Large diffs are not rendered by default.

include/ur_api_funcs.def

+4
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,10 @@ _UR_API(urEnqueueDeviceGlobalVariableRead)
127127
_UR_API(urEnqueueReadHostPipe)
128128
_UR_API(urEnqueueWriteHostPipe)
129129
_UR_API(urEnqueueKernelLaunchCustomExp)
130+
_UR_API(urEnqueueUSMDeviceAllocExp)
131+
_UR_API(urEnqueueUSMSharedAllocExp)
132+
_UR_API(urEnqueueUSMHostAllocExp)
133+
_UR_API(urEnqueueUSMFreeExp)
130134
_UR_API(urEnqueueCooperativeKernelLaunchExp)
131135
_UR_API(urEnqueueTimestampRecordingExp)
132136
_UR_API(urEnqueueNativeCommandExp)

include/ur_ddi.h

+50
Original file line numberDiff line numberDiff line change
@@ -1463,6 +1463,52 @@ typedef ur_result_t(UR_APICALL *ur_pfnEnqueueKernelLaunchCustomExp_t)(
14631463
const ur_event_handle_t *,
14641464
ur_event_handle_t *);
14651465

1466+
///////////////////////////////////////////////////////////////////////////////
1467+
/// @brief Function-pointer for urEnqueueUSMDeviceAllocExp
1468+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMDeviceAllocExp_t)(
1469+
ur_queue_handle_t,
1470+
ur_usm_pool_handle_t,
1471+
const size_t,
1472+
const ur_exp_enqueue_usm_alloc_properties_t *,
1473+
uint32_t,
1474+
const ur_event_handle_t *,
1475+
void **,
1476+
ur_event_handle_t *);
1477+
1478+
///////////////////////////////////////////////////////////////////////////////
1479+
/// @brief Function-pointer for urEnqueueUSMSharedAllocExp
1480+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMSharedAllocExp_t)(
1481+
ur_queue_handle_t,
1482+
ur_usm_pool_handle_t,
1483+
const size_t,
1484+
const ur_exp_enqueue_usm_alloc_properties_t *,
1485+
uint32_t,
1486+
const ur_event_handle_t *,
1487+
void **,
1488+
ur_event_handle_t *);
1489+
1490+
///////////////////////////////////////////////////////////////////////////////
1491+
/// @brief Function-pointer for urEnqueueUSMHostAllocExp
1492+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMHostAllocExp_t)(
1493+
ur_queue_handle_t,
1494+
ur_usm_pool_handle_t,
1495+
const size_t,
1496+
const ur_exp_enqueue_usm_alloc_properties_t *,
1497+
uint32_t,
1498+
const ur_event_handle_t *,
1499+
void **,
1500+
ur_event_handle_t *);
1501+
1502+
///////////////////////////////////////////////////////////////////////////////
1503+
/// @brief Function-pointer for urEnqueueUSMFreeExp
1504+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMFreeExp_t)(
1505+
ur_queue_handle_t,
1506+
ur_usm_pool_handle_t,
1507+
void *,
1508+
uint32_t,
1509+
const ur_event_handle_t *,
1510+
ur_event_handle_t *);
1511+
14661512
///////////////////////////////////////////////////////////////////////////////
14671513
/// @brief Function-pointer for urEnqueueCooperativeKernelLaunchExp
14681514
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueCooperativeKernelLaunchExp_t)(
@@ -1502,6 +1548,10 @@ typedef ur_result_t(UR_APICALL *ur_pfnEnqueueNativeCommandExp_t)(
15021548
/// @brief Table of EnqueueExp functions pointers
15031549
typedef struct ur_enqueue_exp_dditable_t {
15041550
ur_pfnEnqueueKernelLaunchCustomExp_t pfnKernelLaunchCustomExp;
1551+
ur_pfnEnqueueUSMDeviceAllocExp_t pfnUSMDeviceAllocExp;
1552+
ur_pfnEnqueueUSMSharedAllocExp_t pfnUSMSharedAllocExp;
1553+
ur_pfnEnqueueUSMHostAllocExp_t pfnUSMHostAllocExp;
1554+
ur_pfnEnqueueUSMFreeExp_t pfnUSMFreeExp;
15051555
ur_pfnEnqueueCooperativeKernelLaunchExp_t pfnCooperativeKernelLaunchExp;
15061556
ur_pfnEnqueueTimestampRecordingExp_t pfnTimestampRecordingExp;
15071557
ur_pfnEnqueueNativeCommandExp_t pfnNativeCommandExp;

include/ur_print.h

+48
Original file line numberDiff line numberDiff line change
@@ -874,6 +874,22 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintMapFlags(enum ur_map_flag_t value, ch
874874
/// - `buff_size < out_size`
875875
UR_APIEXPORT ur_result_t UR_APICALL urPrintUsmMigrationFlags(enum ur_usm_migration_flag_t value, char *buffer, const size_t buff_size, size_t *out_size);
876876

877+
///////////////////////////////////////////////////////////////////////////////
878+
/// @brief Print ur_exp_enqueue_usm_alloc_flag_t enum
879+
/// @returns
880+
/// - ::UR_RESULT_SUCCESS
881+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
882+
/// - `buff_size < out_size`
883+
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpEnqueueUsmAllocFlags(enum ur_exp_enqueue_usm_alloc_flag_t value, char *buffer, const size_t buff_size, size_t *out_size);
884+
885+
///////////////////////////////////////////////////////////////////////////////
886+
/// @brief Print ur_exp_enqueue_usm_alloc_properties_t struct
887+
/// @returns
888+
/// - ::UR_RESULT_SUCCESS
889+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
890+
/// - `buff_size < out_size`
891+
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpEnqueueUsmAllocProperties(const struct ur_exp_enqueue_usm_alloc_properties_t params, char *buffer, const size_t buff_size, size_t *out_size);
892+
877893
///////////////////////////////////////////////////////////////////////////////
878894
/// @brief Print ur_exp_image_copy_flag_t enum
879895
/// @returns
@@ -2034,6 +2050,38 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueWriteHostPipeParams(const stru
20342050
/// - `buff_size < out_size`
20352051
UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueKernelLaunchCustomExpParams(const struct ur_enqueue_kernel_launch_custom_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
20362052

2053+
///////////////////////////////////////////////////////////////////////////////
2054+
/// @brief Print ur_enqueue_usm_device_alloc_exp_params_t struct
2055+
/// @returns
2056+
/// - ::UR_RESULT_SUCCESS
2057+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2058+
/// - `buff_size < out_size`
2059+
UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueUsmDeviceAllocExpParams(const struct ur_enqueue_usm_device_alloc_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
2060+
2061+
///////////////////////////////////////////////////////////////////////////////
2062+
/// @brief Print ur_enqueue_usm_shared_alloc_exp_params_t struct
2063+
/// @returns
2064+
/// - ::UR_RESULT_SUCCESS
2065+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2066+
/// - `buff_size < out_size`
2067+
UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueUsmSharedAllocExpParams(const struct ur_enqueue_usm_shared_alloc_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
2068+
2069+
///////////////////////////////////////////////////////////////////////////////
2070+
/// @brief Print ur_enqueue_usm_host_alloc_exp_params_t struct
2071+
/// @returns
2072+
/// - ::UR_RESULT_SUCCESS
2073+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2074+
/// - `buff_size < out_size`
2075+
UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueUsmHostAllocExpParams(const struct ur_enqueue_usm_host_alloc_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
2076+
2077+
///////////////////////////////////////////////////////////////////////////////
2078+
/// @brief Print ur_enqueue_usm_free_exp_params_t struct
2079+
/// @returns
2080+
/// - ::UR_RESULT_SUCCESS
2081+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2082+
/// - `buff_size < out_size`
2083+
UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueUsmFreeExpParams(const struct ur_enqueue_usm_free_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
2084+
20372085
///////////////////////////////////////////////////////////////////////////////
20382086
/// @brief Print ur_enqueue_cooperative_kernel_launch_exp_params_t struct
20392087
/// @returns

0 commit comments

Comments
 (0)