From a27547de06b29ef3f36fe7aa5b1a834eb9296923 Mon Sep 17 00:00:00 2001 From: Brandon Yates Date: Thu, 6 Apr 2023 14:34:26 -0400 Subject: [PATCH 1/4] [SYCL][UR] Update UR loader version Signed-off-by: Brandon Yates --- sycl/plugins/unified_runtime/CMakeLists.txt | 2 +- .../ur/adapters/level_zero/ur_level_zero.cpp | 42 +++++++++---------- .../level_zero/ur_loader_interface.cpp | 1 - sycl/plugins/unified_runtime/ur/ur.hpp | 4 -- 4 files changed, 22 insertions(+), 27 deletions(-) diff --git a/sycl/plugins/unified_runtime/CMakeLists.txt b/sycl/plugins/unified_runtime/CMakeLists.txt index fe8b8be331452..3ce3334a0713f 100755 --- a/sycl/plugins/unified_runtime/CMakeLists.txt +++ b/sycl/plugins/unified_runtime/CMakeLists.txt @@ -4,7 +4,7 @@ if (NOT DEFINED UNIFIED_RUNTIME_LIBRARY OR NOT DEFINED UNIFIED_RUNTIME_INCLUDE_D include(FetchContent) set(UNIFIED_RUNTIME_REPO "https://github.com/oneapi-src/unified-runtime.git") - set(UNIFIED_RUNTIME_TAG d6af758779db6eebdc419fd5e249302f566eb5de) + set(UNIFIED_RUNTIME_TAG 7d22f806c45872dd6326a123915fe3c75be25b0e) message(STATUS "Will fetch Unified Runtime from ${UNIFIED_RUNTIME_REPO}") FetchContent_Declare(unified-runtime diff --git a/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero.cpp b/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero.cpp index ff89761633719..504dabcd1bbae 100644 --- a/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero.cpp +++ b/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero.cpp @@ -662,25 +662,25 @@ ur_result_t urDeviceGetInfo( ze_device_fp_flags_t ZeSingleFPCapabilities = Device->ZeDeviceModuleProperties->fp32flags; if (ZE_DEVICE_FP_FLAG_DENORM & ZeSingleFPCapabilities) { - SingleFPValue |= UR_FP_CAPABILITY_FLAG_DENORM; + SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_DENORM; } if (ZE_DEVICE_FP_FLAG_INF_NAN & ZeSingleFPCapabilities) { - SingleFPValue |= UR_FP_CAPABILITY_FLAG_INF_NAN; + SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_NEAREST & ZeSingleFPCapabilities) { - SingleFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST; + SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_ZERO & ZeSingleFPCapabilities) { - SingleFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_ZERO; + SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_INF & ZeSingleFPCapabilities) { - SingleFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_INF; + SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF; } if (ZE_DEVICE_FP_FLAG_FMA & ZeSingleFPCapabilities) { - SingleFPValue |= UR_FP_CAPABILITY_FLAG_FMA; + SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_FMA; } if (ZE_DEVICE_FP_FLAG_ROUNDED_DIVIDE_SQRT & ZeSingleFPCapabilities) { - SingleFPValue |= UR_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; + SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; } return ReturnValue(uint64_t{SingleFPValue}); } @@ -689,25 +689,25 @@ ur_result_t urDeviceGetInfo( ze_device_fp_flags_t ZeHalfFPCapabilities = Device->ZeDeviceModuleProperties->fp16flags; if (ZE_DEVICE_FP_FLAG_DENORM & ZeHalfFPCapabilities) { - HalfFPValue |= UR_FP_CAPABILITY_FLAG_DENORM; + HalfFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_DENORM; } if (ZE_DEVICE_FP_FLAG_INF_NAN & ZeHalfFPCapabilities) { - HalfFPValue |= UR_FP_CAPABILITY_FLAG_INF_NAN; + HalfFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_NEAREST & ZeHalfFPCapabilities) { - HalfFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST; + HalfFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_ZERO & ZeHalfFPCapabilities) { - HalfFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_ZERO; + HalfFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_INF & ZeHalfFPCapabilities) { - HalfFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_INF; + HalfFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF; } if (ZE_DEVICE_FP_FLAG_FMA & ZeHalfFPCapabilities) { - HalfFPValue |= UR_FP_CAPABILITY_FLAG_FMA; + HalfFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_FMA; } if (ZE_DEVICE_FP_FLAG_ROUNDED_DIVIDE_SQRT & ZeHalfFPCapabilities) { - HalfFPValue |= UR_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; + HalfFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; } return ReturnValue(uint64_t{HalfFPValue}); } @@ -716,25 +716,25 @@ ur_result_t urDeviceGetInfo( ze_device_fp_flags_t ZeDoubleFPCapabilities = Device->ZeDeviceModuleProperties->fp64flags; if (ZE_DEVICE_FP_FLAG_DENORM & ZeDoubleFPCapabilities) { - DoubleFPValue |= UR_FP_CAPABILITY_FLAG_DENORM; + DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_DENORM; } if (ZE_DEVICE_FP_FLAG_INF_NAN & ZeDoubleFPCapabilities) { - DoubleFPValue |= UR_FP_CAPABILITY_FLAG_INF_NAN; + DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_NEAREST & ZeDoubleFPCapabilities) { - DoubleFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST; + DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_ZERO & ZeDoubleFPCapabilities) { - DoubleFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_ZERO; + DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO; } if (ZE_DEVICE_FP_FLAG_ROUND_TO_INF & ZeDoubleFPCapabilities) { - DoubleFPValue |= UR_FP_CAPABILITY_FLAG_ROUND_TO_INF; + DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF; } if (ZE_DEVICE_FP_FLAG_FMA & ZeDoubleFPCapabilities) { - DoubleFPValue |= UR_FP_CAPABILITY_FLAG_FMA; + DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_FMA; } if (ZE_DEVICE_FP_FLAG_ROUNDED_DIVIDE_SQRT & ZeDoubleFPCapabilities) { - DoubleFPValue |= UR_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; + DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; } return ReturnValue(uint64_t{DoubleFPValue}); } diff --git a/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_loader_interface.cpp b/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_loader_interface.cpp index cc6e727a43df1..cb36f4645a797 100644 --- a/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_loader_interface.cpp +++ b/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_loader_interface.cpp @@ -86,7 +86,6 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetEnqueueProcAddrTable( pDdiTable->pfnMemUnmap = nullptr; pDdiTable->pfnUSMMemcpy = nullptr; pDdiTable->pfnUSMPrefetch = nullptr; - pDdiTable->pfnUSMMemAdvise = nullptr; pDdiTable->pfnUSMFill2D = nullptr; pDdiTable->pfnUSMMemcpy2D = nullptr; pDdiTable->pfnDeviceGlobalVariableWrite = nullptr; diff --git a/sycl/plugins/unified_runtime/ur/ur.hpp b/sycl/plugins/unified_runtime/ur/ur.hpp index bae0c59e7f54e..4cb342c7b9f06 100644 --- a/sycl/plugins/unified_runtime/ur/ur.hpp +++ b/sycl/plugins/unified_runtime/ur/ur.hpp @@ -43,10 +43,6 @@ const int UR_EXT_DEVICE_INFO_FREE_MEMORY = UR_EXT_DEVICE_INFO_END - 13; // const int ZER_EXT_DEVICE_INFO_DEVICE_ID = UR_EXT_DEVICE_INFO_END - 14; // const int ZER_EXT_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE = // UR_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE; -const int UR_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES = - UR_EXT_DEVICE_INFO_END - 16; -const int UR_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES = - UR_EXT_DEVICE_INFO_END - 17; const ur_device_info_t UR_EXT_DEVICE_INFO_OPENCL_C_VERSION = (ur_device_info_t)0x103D; From 5ae3a16aeda3b840a7f800f30222a0224d51a2c3 Mon Sep 17 00:00:00 2001 From: Brandon Yates Date: Fri, 7 Apr 2023 10:19:57 -0400 Subject: [PATCH 2/4] Add pfnUSMAdvise Signed-off-by: Brandon Yates --- .../ur/adapters/level_zero/ur_loader_interface.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_loader_interface.cpp b/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_loader_interface.cpp index cb36f4645a797..0a58c57319b7b 100644 --- a/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_loader_interface.cpp +++ b/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_loader_interface.cpp @@ -86,6 +86,7 @@ UR_DLLEXPORT ur_result_t UR_APICALL urGetEnqueueProcAddrTable( pDdiTable->pfnMemUnmap = nullptr; pDdiTable->pfnUSMMemcpy = nullptr; pDdiTable->pfnUSMPrefetch = nullptr; + pDdiTable->pfnUSMAdvise = nullptr; pDdiTable->pfnUSMFill2D = nullptr; pDdiTable->pfnUSMMemcpy2D = nullptr; pDdiTable->pfnDeviceGlobalVariableWrite = nullptr; From 67f2bf88e7032dbca15b8f62e29628c064ce82f0 Mon Sep 17 00:00:00 2001 From: Brandon Yates Date: Mon, 10 Apr 2023 07:22:52 -0400 Subject: [PATCH 3/4] formatting Signed-off-by: Brandon Yates --- .../ur/adapters/level_zero/ur_level_zero.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero.cpp b/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero.cpp index 504dabcd1bbae..1c15ea9d736eb 100644 --- a/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero.cpp +++ b/sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero.cpp @@ -680,7 +680,8 @@ ur_result_t urDeviceGetInfo( SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_FMA; } if (ZE_DEVICE_FP_FLAG_ROUNDED_DIVIDE_SQRT & ZeSingleFPCapabilities) { - SingleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; + SingleFPValue |= + UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; } return ReturnValue(uint64_t{SingleFPValue}); } @@ -734,7 +735,8 @@ ur_result_t urDeviceGetInfo( DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_FMA; } if (ZE_DEVICE_FP_FLAG_ROUNDED_DIVIDE_SQRT & ZeDoubleFPCapabilities) { - DoubleFPValue |= UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; + DoubleFPValue |= + UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; } return ReturnValue(uint64_t{DoubleFPValue}); } From c27e698ddca8e70113dba706effc22aa0f1aa71a Mon Sep 17 00:00:00 2001 From: Brandon Yates Date: Tue, 11 Apr 2023 12:33:13 -0400 Subject: [PATCH 4/4] Update to new version to fix rhel build Signed-off-by: Brandon Yates --- sycl/plugins/unified_runtime/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sycl/plugins/unified_runtime/CMakeLists.txt b/sycl/plugins/unified_runtime/CMakeLists.txt index 3ce3334a0713f..345d950fea27e 100755 --- a/sycl/plugins/unified_runtime/CMakeLists.txt +++ b/sycl/plugins/unified_runtime/CMakeLists.txt @@ -4,7 +4,7 @@ if (NOT DEFINED UNIFIED_RUNTIME_LIBRARY OR NOT DEFINED UNIFIED_RUNTIME_INCLUDE_D include(FetchContent) set(UNIFIED_RUNTIME_REPO "https://github.com/oneapi-src/unified-runtime.git") - set(UNIFIED_RUNTIME_TAG 7d22f806c45872dd6326a123915fe3c75be25b0e) + set(UNIFIED_RUNTIME_TAG 74843ea0800e6fb7ce0f82e0ef991fc258f4b9bd) message(STATUS "Will fetch Unified Runtime from ${UNIFIED_RUNTIME_REPO}") FetchContent_Declare(unified-runtime