@@ -193,9 +193,6 @@ typedef enum ur_function_t {
193193 UR_FUNCTION_ADAPTER_RETAIN = 179, ///< Enumerator for ::urAdapterRetain
194194 UR_FUNCTION_ADAPTER_GET_LAST_ERROR = 180, ///< Enumerator for ::urAdapterGetLastError
195195 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
199196 UR_FUNCTION_LOADER_CONFIG_SET_CODE_LOCATION_CALLBACK = 200, ///< Enumerator for ::urLoaderConfigSetCodeLocationCallback
200197 UR_FUNCTION_LOADER_INIT = 201, ///< Enumerator for ::urLoaderInit
201198 UR_FUNCTION_LOADER_TEAR_DOWN = 202, ///< Enumerator for ::urLoaderTearDown
@@ -4262,17 +4259,21 @@ urProgramCreateWithBinary(
42624259/// - ::UR_RESULT_ERROR_DEVICE_LOST
42634260/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
42644261/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
4265- /// + `NULL == hContext`
42664262/// + `NULL == hProgram`
4263+ /// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
4264+ /// + `NULL == phDevices`
42674265/// - ::UR_RESULT_ERROR_INVALID_PROGRAM
42684266/// + If `hProgram` isn't a valid program object.
42694267/// - ::UR_RESULT_ERROR_PROGRAM_BUILD_FAILURE
42704268/// + If an error occurred when building `hProgram`.
4269+ /// - ::UR_RESULT_ERROR_INVALID_SIZE
4270+ /// + `numDevices == 0`
42714271UR_APIEXPORT ur_result_t UR_APICALL
42724272urProgramBuild(
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.
42764277);
42774278
42784279///////////////////////////////////////////////////////////////////////////////
@@ -4294,17 +4295,21 @@ urProgramBuild(
42944295/// - ::UR_RESULT_ERROR_DEVICE_LOST
42954296/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
42964297/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
4297- /// + `NULL == hContext`
42984298/// + `NULL == hProgram`
4299+ /// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
4300+ /// + `NULL == phDevices`
42994301/// - ::UR_RESULT_ERROR_INVALID_PROGRAM
43004302/// + If `hProgram` isn't a valid program object.
43014303/// - ::UR_RESULT_ERROR_PROGRAM_BUILD_FAILURE
43024304/// + If an error occurred while compiling `hProgram`.
4305+ /// - ::UR_RESULT_ERROR_INVALID_SIZE
4306+ /// + `numDevices == 0`
43034307UR_APIEXPORT ur_result_t UR_APICALL
43044308urProgramCompile(
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.
43084313);
43094314
43104315///////////////////////////////////////////////////////////////////////////////
@@ -4334,17 +4339,21 @@ urProgramCompile(
43344339/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
43354340/// + `NULL == hContext`
43364341/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
4342+ /// + `NULL == phDevices`
43374343/// + `NULL == phPrograms`
43384344/// + `NULL == phProgram`
43394345/// - ::UR_RESULT_ERROR_INVALID_PROGRAM
43404346/// + If one of the programs in `phPrograms` isn't a valid program object.
43414347/// - ::UR_RESULT_ERROR_INVALID_SIZE
4348+ /// + `numDevices == 0`
43424349/// + `count == 0`
43434350/// - ::UR_RESULT_ERROR_PROGRAM_LINK_FAILURE
43444351/// + If an error occurred while linking `phPrograms`.
43454352UR_APIEXPORT ur_result_t UR_APICALL
43464353urProgramLink(
43474354 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
43484357 uint32_t count, ///< [in] number of program handles in `phPrograms`.
43494358 const ur_program_handle_t *phPrograms, ///< [in][range(0, count)] pointer to array of program handles.
43504359 const char *pOptions, ///< [in][optional] pointer to linker options null-terminated string.
@@ -9266,136 +9275,6 @@ urEnqueueKernelLaunchCustomExp(
92669275 ///< kernel execution instance.
92679276);
92689277
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-
93999278#if !defined(__GNUC__)
94009279#pragma endregion
94019280#endif
@@ -9993,68 +9872,36 @@ typedef struct ur_program_create_with_binary_params_t {
99939872/// @details Each entry is a pointer to the parameter passed to the function;
99949873/// allowing the callback the ability to modify the parameter's value
99959874typedef 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 {
100069875 ur_program_handle_t *phProgram;
100079876 uint32_t *pnumDevices;
100089877 ur_device_handle_t **pphDevices;
100099878 const char **ppOptions;
10010- } ur_program_build_exp_params_t ;
9879+ } ur_program_build_params_t ;
100119880
100129881///////////////////////////////////////////////////////////////////////////////
100139882/// @brief Function parameters for urProgramCompile
100149883/// @details Each entry is a pointer to the parameter passed to the function;
100159884/// allowing the callback the ability to modify the parameter's value
100169885typedef 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 {
100279886 ur_program_handle_t *phProgram;
100289887 uint32_t *pnumDevices;
100299888 ur_device_handle_t **pphDevices;
100309889 const char **ppOptions;
10031- } ur_program_compile_exp_params_t ;
9890+ } ur_program_compile_params_t ;
100329891
100339892///////////////////////////////////////////////////////////////////////////////
100349893/// @brief Function parameters for urProgramLink
100359894/// @details Each entry is a pointer to the parameter passed to the function;
100369895/// allowing the callback the ability to modify the parameter's value
100379896typedef 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 {
100509897 ur_context_handle_t *phContext;
100519898 uint32_t *pnumDevices;
100529899 ur_device_handle_t **pphDevices;
100539900 uint32_t *pcount;
100549901 const ur_program_handle_t **pphPrograms;
100559902 const char **ppOptions;
100569903 ur_program_handle_t **pphProgram;
10057- } ur_program_link_exp_params_t ;
9904+ } ur_program_link_params_t ;
100589905
100599906///////////////////////////////////////////////////////////////////////////////
100609907/// @brief Function parameters for urProgramRetain
0 commit comments