diff --git a/source/adapters/cuda/program.cpp b/source/adapters/cuda/program.cpp index 814d59b132..6660c20d06 100644 --- a/source/adapters/cuda/program.cpp +++ b/source/adapters/cuda/program.cpp @@ -263,8 +263,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urProgramBuild(ur_context_handle_t hContext, } UR_APIEXPORT ur_result_t UR_APICALL urProgramLinkExp( - ur_context_handle_t, uint32_t, const ur_program_handle_t *, uint32_t, - ur_device_handle_t *, const char *, ur_program_handle_t *) { + ur_context_handle_t, uint32_t, ur_device_handle_t *, uint32_t, + const ur_program_handle_t *, const char *, ur_program_handle_t *) { return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; } diff --git a/source/adapters/cuda/ur_interface_loader.cpp b/source/adapters/cuda/ur_interface_loader.cpp index 164d7f9581..8f52942b89 100644 --- a/source/adapters/cuda/ur_interface_loader.cpp +++ b/source/adapters/cuda/ur_interface_loader.cpp @@ -399,9 +399,9 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetProgramExpProcAddrTable( if (UR_RESULT_SUCCESS != retVal) { return retVal; } - pDdiTable->pfnBuildExp = nullptr; - pDdiTable->pfnCompileExp = nullptr; - pDdiTable->pfnLinkExp = nullptr; + pDdiTable->pfnBuildExp = urProgramBuildExp; + pDdiTable->pfnCompileExp = urProgramCompileExp; + pDdiTable->pfnLinkExp = urProgramLinkExp; return retVal; } diff --git a/source/adapters/hip/program.cpp b/source/adapters/hip/program.cpp index b33ba5a62f..2c71c53208 100644 --- a/source/adapters/hip/program.cpp +++ b/source/adapters/hip/program.cpp @@ -279,8 +279,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urProgramBuild(ur_context_handle_t, } UR_APIEXPORT ur_result_t UR_APICALL urProgramLinkExp( - ur_context_handle_t, uint32_t, const ur_program_handle_t *, uint32_t, - ur_device_handle_t *, const char *, ur_program_handle_t *) { + ur_context_handle_t, uint32_t, ur_device_handle_t *, uint32_t, + const ur_program_handle_t *, const char *, ur_program_handle_t *) { return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; } diff --git a/source/adapters/hip/ur_interface_loader.cpp b/source/adapters/hip/ur_interface_loader.cpp index 56b00ab273..bc3555d16b 100644 --- a/source/adapters/hip/ur_interface_loader.cpp +++ b/source/adapters/hip/ur_interface_loader.cpp @@ -354,9 +354,9 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetProgramExpProcAddrTable( if (UR_RESULT_SUCCESS != retVal) { return retVal; } - pDdiTable->pfnBuildExp = nullptr; - pDdiTable->pfnCompileExp = nullptr; - pDdiTable->pfnLinkExp = nullptr; + pDdiTable->pfnBuildExp = urProgramBuildExp; + pDdiTable->pfnCompileExp = urProgramCompileExp; + pDdiTable->pfnLinkExp = urProgramLinkExp; return retVal; } diff --git a/source/adapters/native_cpu/program.cpp b/source/adapters/native_cpu/program.cpp index 389626fa70..63b8c988ba 100644 --- a/source/adapters/native_cpu/program.cpp +++ b/source/adapters/native_cpu/program.cpp @@ -87,6 +87,26 @@ urProgramLink(ur_context_handle_t hContext, uint32_t count, DIE_NO_IMPLEMENTATION } +UR_APIEXPORT ur_result_t UR_APICALL urProgramCompileExp(ur_program_handle_t, + uint32_t, + ur_device_handle_t *, + const char *) { + return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; +} + +UR_APIEXPORT ur_result_t UR_APICALL urProgramBuildExp(ur_program_handle_t, + uint32_t, + ur_device_handle_t *, + const char *) { + return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; +} + +UR_APIEXPORT ur_result_t UR_APICALL urProgramLinkExp( + ur_context_handle_t, uint32_t, ur_device_handle_t *, uint32_t, + const ur_program_handle_t *, const char *, ur_program_handle_t *) { + return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; +} + UR_APIEXPORT ur_result_t UR_APICALL urProgramRetain(ur_program_handle_t hProgram) { hProgram->incrementReferenceCount(); diff --git a/source/adapters/native_cpu/ur_interface_loader.cpp b/source/adapters/native_cpu/ur_interface_loader.cpp index a9cfe2330e..984676e684 100644 --- a/source/adapters/native_cpu/ur_interface_loader.cpp +++ b/source/adapters/native_cpu/ur_interface_loader.cpp @@ -380,4 +380,19 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetVirtualMemProcAddrTable( return retVal; } +UR_DLLEXPORT ur_result_t UR_APICALL urGetProgramExpProcAddrTable( + ur_api_version_t version, ///< [in] API version requested + ur_program_exp_dditable_t + *pDdiTable ///< [in,out] pointer to table of DDI function pointers +) { + auto retVal = validateProcInputs(version, pDdiTable); + if (UR_RESULT_SUCCESS != retVal) { + return retVal; + } + pDdiTable->pfnBuildExp = urProgramBuildExp; + pDdiTable->pfnCompileExp = urProgramCompileExp; + pDdiTable->pfnLinkExp = urProgramLinkExp; + return retVal; +} + } // extern "C" diff --git a/source/adapters/opencl/program.cpp b/source/adapters/opencl/program.cpp index 3f3e70b960..c6e11fe06c 100644 --- a/source/adapters/opencl/program.cpp +++ b/source/adapters/opencl/program.cpp @@ -220,6 +220,26 @@ urProgramLink(ur_context_handle_t hContext, uint32_t count, return UR_RESULT_SUCCESS; } +UR_APIEXPORT ur_result_t UR_APICALL urProgramCompileExp(ur_program_handle_t, + uint32_t, + ur_device_handle_t *, + const char *) { + return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; +} + +UR_APIEXPORT ur_result_t UR_APICALL urProgramBuildExp(ur_program_handle_t, + uint32_t, + ur_device_handle_t *, + const char *) { + return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; +} + +UR_APIEXPORT ur_result_t UR_APICALL urProgramLinkExp( + ur_context_handle_t, uint32_t, ur_device_handle_t *, uint32_t, + const ur_program_handle_t *, const char *, ur_program_handle_t *) { + return UR_RESULT_ERROR_UNSUPPORTED_FEATURE; +} + static cl_int mapURProgramBuildInfoToCL(ur_program_build_info_t URPropName) { switch (static_cast(URPropName)) { diff --git a/source/adapters/opencl/ur_interface_loader.cpp b/source/adapters/opencl/ur_interface_loader.cpp index eb86951a7d..9b676c0044 100644 --- a/source/adapters/opencl/ur_interface_loader.cpp +++ b/source/adapters/opencl/ur_interface_loader.cpp @@ -390,9 +390,9 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetProgramExpProcAddrTable( if (UR_RESULT_SUCCESS != retVal) { return retVal; } - pDdiTable->pfnBuildExp = nullptr; - pDdiTable->pfnCompileExp = nullptr; - pDdiTable->pfnLinkExp = nullptr; + pDdiTable->pfnBuildExp = urProgramBuildExp; + pDdiTable->pfnCompileExp = urProgramCompileExp; + pDdiTable->pfnLinkExp = urProgramLinkExp; return retVal; }