@@ -123,7 +123,9 @@ urProgramCompile(ur_context_handle_t hContext, ur_program_handle_t hProgram,
123123 std::ignore = hProgram;
124124 std::ignore = pOptions;
125125
126- DIE_NO_IMPLEMENTATION
126+ // Currently for Native CPU the program is offline compiled, so
127+ // urProgramCompile is a no-op.
128+ return UR_RESULT_SUCCESS;
127129}
128130
129131UR_APIEXPORT ur_result_t UR_APICALL
@@ -138,21 +140,27 @@ urProgramLink(ur_context_handle_t hContext, uint32_t count,
138140 std::ignore = phPrograms;
139141 std::ignore = pOptions;
140142
141- DIE_NO_IMPLEMENTATION
143+ // Currently for Native CPU the program is already linked and all its
144+ // symbols are resolved, so this is a no-op.
145+ return UR_RESULT_SUCCESS;
142146}
143147
144148UR_APIEXPORT ur_result_t UR_APICALL urProgramCompileExp (ur_program_handle_t ,
145149 uint32_t ,
146150 ur_device_handle_t *,
147151 const char *) {
148- return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
152+ // Currently for Native CPU the program is offline compiled, so
153+ // urProgramCompile is a no-op.
154+ return UR_RESULT_SUCCESS;
149155}
150156
151157UR_APIEXPORT ur_result_t UR_APICALL urProgramBuildExp (ur_program_handle_t ,
152158 uint32_t ,
153159 ur_device_handle_t *,
154160 const char *) {
155- return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
161+ // Currently for Native CPU the program is offline compiled and linked,
162+ // so urProgramBuild is a no-op.
163+ return UR_RESULT_SUCCESS;
156164}
157165
158166UR_APIEXPORT ur_result_t UR_APICALL urProgramLinkExp (
@@ -161,7 +169,9 @@ UR_APIEXPORT ur_result_t UR_APICALL urProgramLinkExp(
161169 if (nullptr != phProgram) {
162170 *phProgram = nullptr ;
163171 }
164- return UR_RESULT_ERROR_UNSUPPORTED_FEATURE;
172+ // Currently for Native CPU the program is already linked and all its
173+ // symbols are resolved, so this is a no-op.
174+ return UR_RESULT_SUCCESS;
165175}
166176
167177UR_APIEXPORT ur_result_t UR_APICALL
0 commit comments