@@ -193,9 +193,6 @@ typedef enum ur_function_t {
193
193
UR_FUNCTION_ADAPTER_RETAIN = 179, ///< Enumerator for ::urAdapterRetain
194
194
UR_FUNCTION_ADAPTER_GET_LAST_ERROR = 180, ///< Enumerator for ::urAdapterGetLastError
195
195
UR_FUNCTION_ADAPTER_GET_INFO = 181, ///< Enumerator for ::urAdapterGetInfo
196
- UR_FUNCTION_PROGRAM_BUILD_EXP = 197, ///< Enumerator for ::urProgramBuildExp
197
- UR_FUNCTION_PROGRAM_COMPILE_EXP = 198, ///< Enumerator for ::urProgramCompileExp
198
- UR_FUNCTION_PROGRAM_LINK_EXP = 199, ///< Enumerator for ::urProgramLinkExp
199
196
UR_FUNCTION_LOADER_CONFIG_SET_CODE_LOCATION_CALLBACK = 200, ///< Enumerator for ::urLoaderConfigSetCodeLocationCallback
200
197
UR_FUNCTION_LOADER_INIT = 201, ///< Enumerator for ::urLoaderInit
201
198
UR_FUNCTION_LOADER_TEAR_DOWN = 202, ///< Enumerator for ::urLoaderTearDown
@@ -4262,17 +4259,21 @@ urProgramCreateWithBinary(
4262
4259
/// - ::UR_RESULT_ERROR_DEVICE_LOST
4263
4260
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
4264
4261
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
4265
- /// + `NULL == hContext`
4266
4262
/// + `NULL == hProgram`
4263
+ /// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
4264
+ /// + `NULL == phDevices`
4267
4265
/// - ::UR_RESULT_ERROR_INVALID_PROGRAM
4268
4266
/// + If `hProgram` isn't a valid program object.
4269
4267
/// - ::UR_RESULT_ERROR_PROGRAM_BUILD_FAILURE
4270
4268
/// + If an error occurred when building `hProgram`.
4269
+ /// - ::UR_RESULT_ERROR_INVALID_SIZE
4270
+ /// + `numDevices == 0`
4271
4271
UR_APIEXPORT ur_result_t UR_APICALL
4272
4272
urProgramBuild(
4273
- ur_context_handle_t hContext, ///< [in] handle of the context instance.
4274
- ur_program_handle_t hProgram, ///< [in] Handle of the program to build.
4275
- const char *pOptions ///< [in][optional] pointer to build options null-terminated string.
4273
+ ur_program_handle_t hProgram, ///< [in] Handle of the program to build.
4274
+ uint32_t numDevices, ///< [in] length of `phDevices`
4275
+ ur_device_handle_t *phDevices, ///< [in][range(0, numDevices)] pointer to array of device handles
4276
+ const char *pOptions ///< [in][optional] pointer to build options null-terminated string.
4276
4277
);
4277
4278
4278
4279
///////////////////////////////////////////////////////////////////////////////
@@ -4294,17 +4295,21 @@ urProgramBuild(
4294
4295
/// - ::UR_RESULT_ERROR_DEVICE_LOST
4295
4296
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
4296
4297
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
4297
- /// + `NULL == hContext`
4298
4298
/// + `NULL == hProgram`
4299
+ /// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
4300
+ /// + `NULL == phDevices`
4299
4301
/// - ::UR_RESULT_ERROR_INVALID_PROGRAM
4300
4302
/// + If `hProgram` isn't a valid program object.
4301
4303
/// - ::UR_RESULT_ERROR_PROGRAM_BUILD_FAILURE
4302
4304
/// + If an error occurred while compiling `hProgram`.
4305
+ /// - ::UR_RESULT_ERROR_INVALID_SIZE
4306
+ /// + `numDevices == 0`
4303
4307
UR_APIEXPORT ur_result_t UR_APICALL
4304
4308
urProgramCompile(
4305
- ur_context_handle_t hContext, ///< [in] handle of the context instance.
4306
- ur_program_handle_t hProgram, ///< [in][out] handle of the program to compile.
4307
- const char *pOptions ///< [in][optional] pointer to build options null-terminated string.
4309
+ ur_program_handle_t hProgram, ///< [in][out] handle of the program to compile.
4310
+ uint32_t numDevices, ///< [in] length of `phDevices`
4311
+ ur_device_handle_t *phDevices, ///< [in][range(0, numDevices)] pointer to array of device handles
4312
+ const char *pOptions ///< [in][optional] pointer to build options null-terminated string.
4308
4313
);
4309
4314
4310
4315
///////////////////////////////////////////////////////////////////////////////
@@ -4334,17 +4339,21 @@ urProgramCompile(
4334
4339
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
4335
4340
/// + `NULL == hContext`
4336
4341
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
4342
+ /// + `NULL == phDevices`
4337
4343
/// + `NULL == phPrograms`
4338
4344
/// + `NULL == phProgram`
4339
4345
/// - ::UR_RESULT_ERROR_INVALID_PROGRAM
4340
4346
/// + If one of the programs in `phPrograms` isn't a valid program object.
4341
4347
/// - ::UR_RESULT_ERROR_INVALID_SIZE
4348
+ /// + `numDevices == 0`
4342
4349
/// + `count == 0`
4343
4350
/// - ::UR_RESULT_ERROR_PROGRAM_LINK_FAILURE
4344
4351
/// + If an error occurred while linking `phPrograms`.
4345
4352
UR_APIEXPORT ur_result_t UR_APICALL
4346
4353
urProgramLink(
4347
4354
ur_context_handle_t hContext, ///< [in] handle of the context instance.
4355
+ uint32_t numDevices, ///< [in] number of devices
4356
+ ur_device_handle_t *phDevices, ///< [in][range(0, numDevices)] pointer to array of device handles
4348
4357
uint32_t count, ///< [in] number of program handles in `phPrograms`.
4349
4358
const ur_program_handle_t *phPrograms, ///< [in][range(0, count)] pointer to array of program handles.
4350
4359
const char *pOptions, ///< [in][optional] pointer to linker options null-terminated string.
@@ -9266,136 +9275,6 @@ urEnqueueKernelLaunchCustomExp(
9266
9275
///< kernel execution instance.
9267
9276
);
9268
9277
9269
- #if !defined(__GNUC__)
9270
- #pragma endregion
9271
- #endif
9272
- // Intel 'oneAPI' Unified Runtime Experimental APIs for multi-device compile
9273
- #if !defined(__GNUC__)
9274
- #pragma region multi_device_compile_(experimental)
9275
- #endif
9276
- ///////////////////////////////////////////////////////////////////////////////
9277
- #ifndef UR_MULTI_DEVICE_COMPILE_EXTENSION_STRING_EXP
9278
- /// @brief The extension string which defines support for test
9279
- /// which is returned when querying device extensions.
9280
- #define UR_MULTI_DEVICE_COMPILE_EXTENSION_STRING_EXP "ur_exp_multi_device_compile"
9281
- #endif // UR_MULTI_DEVICE_COMPILE_EXTENSION_STRING_EXP
9282
-
9283
- ///////////////////////////////////////////////////////////////////////////////
9284
- /// @brief Produces an executable program from one program, negates need for the
9285
- /// linking step.
9286
- ///
9287
- /// @details
9288
- /// - The application may call this function from simultaneous threads.
9289
- /// - Following a successful call to this entry point, the program passed
9290
- /// will contain a binary of the ::UR_PROGRAM_BINARY_TYPE_EXECUTABLE type
9291
- /// for each device in `phDevices`.
9292
- ///
9293
- /// @remarks
9294
- /// _Analogues_
9295
- /// - **clBuildProgram**
9296
- ///
9297
- /// @returns
9298
- /// - ::UR_RESULT_SUCCESS
9299
- /// - ::UR_RESULT_ERROR_UNINITIALIZED
9300
- /// - ::UR_RESULT_ERROR_DEVICE_LOST
9301
- /// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
9302
- /// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
9303
- /// + `NULL == hProgram`
9304
- /// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
9305
- /// + `NULL == phDevices`
9306
- /// - ::UR_RESULT_ERROR_INVALID_PROGRAM
9307
- /// + If `hProgram` isn't a valid program object.
9308
- /// - ::UR_RESULT_ERROR_PROGRAM_BUILD_FAILURE
9309
- /// + If an error occurred when building `hProgram`.
9310
- UR_APIEXPORT ur_result_t UR_APICALL
9311
- urProgramBuildExp(
9312
- ur_program_handle_t hProgram, ///< [in] Handle of the program to build.
9313
- uint32_t numDevices, ///< [in] number of devices
9314
- ur_device_handle_t *phDevices, ///< [in][range(0, numDevices)] pointer to array of device handles
9315
- const char *pOptions ///< [in][optional] pointer to build options null-terminated string.
9316
- );
9317
-
9318
- ///////////////////////////////////////////////////////////////////////////////
9319
- /// @brief Produces an executable program from one or more programs.
9320
- ///
9321
- /// @details
9322
- /// - The application may call this function from simultaneous threads.
9323
- /// - Following a successful call to this entry point `hProgram` will
9324
- /// contain a binary of the ::UR_PROGRAM_BINARY_TYPE_COMPILED_OBJECT type
9325
- /// for each device in `phDevices`.
9326
- ///
9327
- /// @remarks
9328
- /// _Analogues_
9329
- /// - **clCompileProgram**
9330
- ///
9331
- /// @returns
9332
- /// - ::UR_RESULT_SUCCESS
9333
- /// - ::UR_RESULT_ERROR_UNINITIALIZED
9334
- /// - ::UR_RESULT_ERROR_DEVICE_LOST
9335
- /// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
9336
- /// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
9337
- /// + `NULL == hProgram`
9338
- /// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
9339
- /// + `NULL == phDevices`
9340
- /// - ::UR_RESULT_ERROR_INVALID_PROGRAM
9341
- /// + If `hProgram` isn't a valid program object.
9342
- /// - ::UR_RESULT_ERROR_PROGRAM_BUILD_FAILURE
9343
- /// + If an error occurred while compiling `hProgram`.
9344
- UR_APIEXPORT ur_result_t UR_APICALL
9345
- urProgramCompileExp(
9346
- ur_program_handle_t hProgram, ///< [in][out] handle of the program to compile.
9347
- uint32_t numDevices, ///< [in] number of devices
9348
- ur_device_handle_t *phDevices, ///< [in][range(0, numDevices)] pointer to array of device handles
9349
- const char *pOptions ///< [in][optional] pointer to build options null-terminated string.
9350
- );
9351
-
9352
- ///////////////////////////////////////////////////////////////////////////////
9353
- /// @brief Produces an executable program from one or more programs.
9354
- ///
9355
- /// @details
9356
- /// - The application may call this function from simultaneous threads.
9357
- /// - Following a successful call to this entry point the program returned
9358
- /// in `phProgram` will contain a binary of the
9359
- /// ::UR_PROGRAM_BINARY_TYPE_EXECUTABLE type for each device in
9360
- /// `phDevices`.
9361
- /// - If a non-success code is returned and `phProgram` is not `nullptr`, it
9362
- /// will contain an unspecified program or `nullptr`. Implementations may
9363
- /// use the build log of this program (accessible via
9364
- /// ::urProgramGetBuildInfo) to provide an error log for the linking
9365
- /// failure.
9366
- ///
9367
- /// @remarks
9368
- /// _Analogues_
9369
- /// - **clLinkProgram**
9370
- ///
9371
- /// @returns
9372
- /// - ::UR_RESULT_SUCCESS
9373
- /// - ::UR_RESULT_ERROR_UNINITIALIZED
9374
- /// - ::UR_RESULT_ERROR_DEVICE_LOST
9375
- /// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
9376
- /// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
9377
- /// + `NULL == hContext`
9378
- /// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
9379
- /// + `NULL == phDevices`
9380
- /// + `NULL == phPrograms`
9381
- /// + `NULL == phProgram`
9382
- /// - ::UR_RESULT_ERROR_INVALID_PROGRAM
9383
- /// + If one of the programs in `phPrograms` isn't a valid program object.
9384
- /// - ::UR_RESULT_ERROR_INVALID_SIZE
9385
- /// + `count == 0`
9386
- /// - ::UR_RESULT_ERROR_PROGRAM_LINK_FAILURE
9387
- /// + If an error occurred while linking `phPrograms`.
9388
- UR_APIEXPORT ur_result_t UR_APICALL
9389
- urProgramLinkExp(
9390
- ur_context_handle_t hContext, ///< [in] handle of the context instance.
9391
- uint32_t numDevices, ///< [in] number of devices
9392
- ur_device_handle_t *phDevices, ///< [in][range(0, numDevices)] pointer to array of device handles
9393
- uint32_t count, ///< [in] number of program handles in `phPrograms`.
9394
- const ur_program_handle_t *phPrograms, ///< [in][range(0, count)] pointer to array of program handles.
9395
- const char *pOptions, ///< [in][optional] pointer to linker options null-terminated string.
9396
- ur_program_handle_t *phProgram ///< [out] pointer to handle of program object created.
9397
- );
9398
-
9399
9278
#if !defined(__GNUC__)
9400
9279
#pragma endregion
9401
9280
#endif
@@ -9993,68 +9872,36 @@ typedef struct ur_program_create_with_binary_params_t {
9993
9872
/// @details Each entry is a pointer to the parameter passed to the function;
9994
9873
/// allowing the callback the ability to modify the parameter's value
9995
9874
typedef struct ur_program_build_params_t {
9996
- ur_context_handle_t *phContext;
9997
- ur_program_handle_t *phProgram;
9998
- const char **ppOptions;
9999
- } ur_program_build_params_t;
10000
-
10001
- ///////////////////////////////////////////////////////////////////////////////
10002
- /// @brief Function parameters for urProgramBuildExp
10003
- /// @details Each entry is a pointer to the parameter passed to the function;
10004
- /// allowing the callback the ability to modify the parameter's value
10005
- typedef struct ur_program_build_exp_params_t {
10006
9875
ur_program_handle_t *phProgram;
10007
9876
uint32_t *pnumDevices;
10008
9877
ur_device_handle_t **pphDevices;
10009
9878
const char **ppOptions;
10010
- } ur_program_build_exp_params_t ;
9879
+ } ur_program_build_params_t ;
10011
9880
10012
9881
///////////////////////////////////////////////////////////////////////////////
10013
9882
/// @brief Function parameters for urProgramCompile
10014
9883
/// @details Each entry is a pointer to the parameter passed to the function;
10015
9884
/// allowing the callback the ability to modify the parameter's value
10016
9885
typedef struct ur_program_compile_params_t {
10017
- ur_context_handle_t *phContext;
10018
- ur_program_handle_t *phProgram;
10019
- const char **ppOptions;
10020
- } ur_program_compile_params_t;
10021
-
10022
- ///////////////////////////////////////////////////////////////////////////////
10023
- /// @brief Function parameters for urProgramCompileExp
10024
- /// @details Each entry is a pointer to the parameter passed to the function;
10025
- /// allowing the callback the ability to modify the parameter's value
10026
- typedef struct ur_program_compile_exp_params_t {
10027
9886
ur_program_handle_t *phProgram;
10028
9887
uint32_t *pnumDevices;
10029
9888
ur_device_handle_t **pphDevices;
10030
9889
const char **ppOptions;
10031
- } ur_program_compile_exp_params_t ;
9890
+ } ur_program_compile_params_t ;
10032
9891
10033
9892
///////////////////////////////////////////////////////////////////////////////
10034
9893
/// @brief Function parameters for urProgramLink
10035
9894
/// @details Each entry is a pointer to the parameter passed to the function;
10036
9895
/// allowing the callback the ability to modify the parameter's value
10037
9896
typedef struct ur_program_link_params_t {
10038
- ur_context_handle_t *phContext;
10039
- uint32_t *pcount;
10040
- const ur_program_handle_t **pphPrograms;
10041
- const char **ppOptions;
10042
- ur_program_handle_t **pphProgram;
10043
- } ur_program_link_params_t;
10044
-
10045
- ///////////////////////////////////////////////////////////////////////////////
10046
- /// @brief Function parameters for urProgramLinkExp
10047
- /// @details Each entry is a pointer to the parameter passed to the function;
10048
- /// allowing the callback the ability to modify the parameter's value
10049
- typedef struct ur_program_link_exp_params_t {
10050
9897
ur_context_handle_t *phContext;
10051
9898
uint32_t *pnumDevices;
10052
9899
ur_device_handle_t **pphDevices;
10053
9900
uint32_t *pcount;
10054
9901
const ur_program_handle_t **pphPrograms;
10055
9902
const char **ppOptions;
10056
9903
ur_program_handle_t **pphProgram;
10057
- } ur_program_link_exp_params_t ;
9904
+ } ur_program_link_params_t ;
10058
9905
10059
9906
///////////////////////////////////////////////////////////////////////////////
10060
9907
/// @brief Function parameters for urProgramRetain
0 commit comments