Skip to content

Commit 230d19e

Browse files
committed
[L0 v2] make umf error handling less verbose
1 parent b01b4a2 commit 230d19e

File tree

1 file changed

+15
-25
lines changed
  • source/adapters/level_zero/v2

1 file changed

+15
-25
lines changed

source/adapters/level_zero/v2/usm.cpp

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
#include <umf/pools/pool_proxy.h>
2020
#include <umf/providers/provider_level_zero.h>
2121

22+
static inline void UMF_CALL_THROWS(umf_result_t res) {
23+
if (res != UMF_RESULT_SUCCESS) {
24+
throw res;
25+
}
26+
}
27+
2228
namespace umf {
2329
ur_result_t getProviderNativeError(const char *providerName,
2430
int32_t nativeError) {
@@ -85,31 +91,18 @@ static umf::pool_unique_handle_t
8591
makePool(usm::umf_disjoint_pool_config_t *poolParams,
8692
usm::pool_descriptor poolDescriptor) {
8793
umf_level_zero_memory_provider_params_handle_t params = NULL;
88-
umf_result_t umf_ret = umfLevelZeroMemoryProviderParamsCreate(&params);
89-
if (umf_ret != UMF_RESULT_SUCCESS) {
90-
throw umf::umf2urResult(umf_ret);
91-
}
92-
93-
umf_ret = umfLevelZeroMemoryProviderParamsSetContext(
94-
params, poolDescriptor.hContext->getZeHandle());
95-
if (umf_ret != UMF_RESULT_SUCCESS) {
96-
throw umf::umf2urResult(umf_ret);
97-
};
94+
UMF_CALL_THROWS(umfLevelZeroMemoryProviderParamsCreate(&params));
95+
UMF_CALL_THROWS(umfLevelZeroMemoryProviderParamsSetContext(
96+
params, poolDescriptor.hContext->getZeHandle()));
9897

9998
ze_device_handle_t level_zero_device_handle =
10099
poolDescriptor.hDevice ? poolDescriptor.hDevice->ZeDevice : nullptr;
101100

102-
umf_ret = umfLevelZeroMemoryProviderParamsSetDevice(params,
103-
level_zero_device_handle);
104-
if (umf_ret != UMF_RESULT_SUCCESS) {
105-
throw umf::umf2urResult(umf_ret);
106-
}
101+
UMF_CALL_THROWS(umfLevelZeroMemoryProviderParamsSetDevice(
102+
params, level_zero_device_handle));
107103

108-
umf_ret = umfLevelZeroMemoryProviderParamsSetMemoryType(
109-
params, urToUmfMemoryType(poolDescriptor.type));
110-
if (umf_ret != UMF_RESULT_SUCCESS) {
111-
throw umf::umf2urResult(umf_ret);
112-
}
104+
UMF_CALL_THROWS(umfLevelZeroMemoryProviderParamsSetMemoryType(
105+
params, urToUmfMemoryType(poolDescriptor.type)));
113106

114107
std::vector<ze_device_handle_t> residentZeHandles;
115108

@@ -122,11 +115,8 @@ makePool(usm::umf_disjoint_pool_config_t *poolParams,
122115
residentZeHandles.push_back(device->ZeDevice);
123116
}
124117

125-
umf_ret = umfLevelZeroMemoryProviderParamsSetResidentDevices(
126-
params, residentZeHandles.data(), residentZeHandles.size());
127-
if (umf_ret != UMF_RESULT_SUCCESS) {
128-
throw umf::umf2urResult(umf_ret);
129-
}
118+
UMF_CALL_THROWS(umfLevelZeroMemoryProviderParamsSetResidentDevices(
119+
params, residentZeHandles.data(), residentZeHandles.size()));
130120
}
131121

132122
auto [ret, provider] =

0 commit comments

Comments
 (0)