Skip to content

Commit 7467ee9

Browse files
Hugh Delaneykswiecicki
authored andcommitted
Add initial spec for async alloc entry points
First basic work in progress spec.
1 parent 44fcaa0 commit 7467ee9

30 files changed

+3106
-4
lines changed

include/ur_api.h

Lines changed: 225 additions & 1 deletion
Large diffs are not rendered by default.

include/ur_api_funcs.def

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,10 @@ _UR_API(urEnqueueReadHostPipe)
129129
_UR_API(urEnqueueWriteHostPipe)
130130
_UR_API(urEnqueueEventsWaitWithBarrierExt)
131131
_UR_API(urEnqueueKernelLaunchCustomExp)
132+
_UR_API(urEnqueueUSMDeviceAllocExp)
133+
_UR_API(urEnqueueUSMSharedAllocExp)
134+
_UR_API(urEnqueueUSMHostAllocExp)
135+
_UR_API(urEnqueueUSMFreeExp)
132136
_UR_API(urEnqueueCooperativeKernelLaunchExp)
133137
_UR_API(urEnqueueTimestampRecordingExp)
134138
_UR_API(urEnqueueNativeCommandExp)

include/ur_ddi.h

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,6 +1486,52 @@ typedef ur_result_t(UR_APICALL *ur_pfnEnqueueKernelLaunchCustomExp_t)(
14861486
const ur_event_handle_t *,
14871487
ur_event_handle_t *);
14881488

1489+
///////////////////////////////////////////////////////////////////////////////
1490+
/// @brief Function-pointer for urEnqueueUSMDeviceAllocExp
1491+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMDeviceAllocExp_t)(
1492+
ur_queue_handle_t,
1493+
ur_usm_pool_handle_t,
1494+
const size_t,
1495+
const ur_exp_enqueue_usm_alloc_properties_t *,
1496+
uint32_t,
1497+
const ur_event_handle_t *,
1498+
void **,
1499+
ur_event_handle_t *);
1500+
1501+
///////////////////////////////////////////////////////////////////////////////
1502+
/// @brief Function-pointer for urEnqueueUSMSharedAllocExp
1503+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMSharedAllocExp_t)(
1504+
ur_queue_handle_t,
1505+
ur_usm_pool_handle_t,
1506+
const size_t,
1507+
const ur_exp_enqueue_usm_alloc_properties_t *,
1508+
uint32_t,
1509+
const ur_event_handle_t *,
1510+
void **,
1511+
ur_event_handle_t *);
1512+
1513+
///////////////////////////////////////////////////////////////////////////////
1514+
/// @brief Function-pointer for urEnqueueUSMHostAllocExp
1515+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMHostAllocExp_t)(
1516+
ur_queue_handle_t,
1517+
ur_usm_pool_handle_t,
1518+
const size_t,
1519+
const ur_exp_enqueue_usm_alloc_properties_t *,
1520+
uint32_t,
1521+
const ur_event_handle_t *,
1522+
void **,
1523+
ur_event_handle_t *);
1524+
1525+
///////////////////////////////////////////////////////////////////////////////
1526+
/// @brief Function-pointer for urEnqueueUSMFreeExp
1527+
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueUSMFreeExp_t)(
1528+
ur_queue_handle_t,
1529+
ur_usm_pool_handle_t,
1530+
void *,
1531+
uint32_t,
1532+
const ur_event_handle_t *,
1533+
ur_event_handle_t *);
1534+
14891535
///////////////////////////////////////////////////////////////////////////////
14901536
/// @brief Function-pointer for urEnqueueCooperativeKernelLaunchExp
14911537
typedef ur_result_t(UR_APICALL *ur_pfnEnqueueCooperativeKernelLaunchExp_t)(
@@ -1525,6 +1571,10 @@ typedef ur_result_t(UR_APICALL *ur_pfnEnqueueNativeCommandExp_t)(
15251571
/// @brief Table of EnqueueExp functions pointers
15261572
typedef struct ur_enqueue_exp_dditable_t {
15271573
ur_pfnEnqueueKernelLaunchCustomExp_t pfnKernelLaunchCustomExp;
1574+
ur_pfnEnqueueUSMDeviceAllocExp_t pfnUSMDeviceAllocExp;
1575+
ur_pfnEnqueueUSMSharedAllocExp_t pfnUSMSharedAllocExp;
1576+
ur_pfnEnqueueUSMHostAllocExp_t pfnUSMHostAllocExp;
1577+
ur_pfnEnqueueUSMFreeExp_t pfnUSMFreeExp;
15281578
ur_pfnEnqueueCooperativeKernelLaunchExp_t pfnCooperativeKernelLaunchExp;
15291579
ur_pfnEnqueueTimestampRecordingExp_t pfnTimestampRecordingExp;
15301580
ur_pfnEnqueueNativeCommandExp_t pfnNativeCommandExp;

include/ur_print.h

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -890,6 +890,22 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintUsmMigrationFlags(enum ur_usm_migrati
890890
/// - `buff_size < out_size`
891891
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpDevice_2dBlockArrayCapabilityFlags(enum ur_exp_device_2d_block_array_capability_flag_t value, char *buffer, const size_t buff_size, size_t *out_size);
892892

893+
///////////////////////////////////////////////////////////////////////////////
894+
/// @brief Print ur_exp_enqueue_usm_alloc_flag_t enum
895+
/// @returns
896+
/// - ::UR_RESULT_SUCCESS
897+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
898+
/// - `buff_size < out_size`
899+
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);
900+
901+
///////////////////////////////////////////////////////////////////////////////
902+
/// @brief Print ur_exp_enqueue_usm_alloc_properties_t struct
903+
/// @returns
904+
/// - ::UR_RESULT_SUCCESS
905+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
906+
/// - `buff_size < out_size`
907+
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);
908+
893909
///////////////////////////////////////////////////////////////////////////////
894910
/// @brief Print ur_exp_image_copy_flag_t enum
895911
/// @returns
@@ -2122,6 +2138,38 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueKernelLaunchCustomExpParams(co
21222138
/// - `buff_size < out_size`
21232139
UR_APIEXPORT ur_result_t UR_APICALL urPrintEnqueueEventsWaitWithBarrierExtParams(const struct ur_enqueue_events_wait_with_barrier_ext_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
21242140

2141+
///////////////////////////////////////////////////////////////////////////////
2142+
/// @brief Print ur_enqueue_usm_device_alloc_exp_params_t struct
2143+
/// @returns
2144+
/// - ::UR_RESULT_SUCCESS
2145+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2146+
/// - `buff_size < out_size`
2147+
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);
2148+
2149+
///////////////////////////////////////////////////////////////////////////////
2150+
/// @brief Print ur_enqueue_usm_shared_alloc_exp_params_t struct
2151+
/// @returns
2152+
/// - ::UR_RESULT_SUCCESS
2153+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2154+
/// - `buff_size < out_size`
2155+
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);
2156+
2157+
///////////////////////////////////////////////////////////////////////////////
2158+
/// @brief Print ur_enqueue_usm_host_alloc_exp_params_t struct
2159+
/// @returns
2160+
/// - ::UR_RESULT_SUCCESS
2161+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2162+
/// - `buff_size < out_size`
2163+
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);
2164+
2165+
///////////////////////////////////////////////////////////////////////////////
2166+
/// @brief Print ur_enqueue_usm_free_exp_params_t struct
2167+
/// @returns
2168+
/// - ::UR_RESULT_SUCCESS
2169+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
2170+
/// - `buff_size < out_size`
2171+
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);
2172+
21252173
///////////////////////////////////////////////////////////////////////////////
21262174
/// @brief Print ur_enqueue_cooperative_kernel_launch_exp_params_t struct
21272175
/// @returns

0 commit comments

Comments
 (0)