19
19
#include < umf/pools/pool_proxy.h>
20
20
#include < umf/providers/provider_level_zero.h>
21
21
22
+ static inline void UMF_CALL_THROWS (umf_result_t res) {
23
+ if (res != UMF_RESULT_SUCCESS) {
24
+ throw res;
25
+ }
26
+ }
27
+
22
28
namespace umf {
23
29
ur_result_t getProviderNativeError (const char *providerName,
24
30
int32_t nativeError) {
@@ -85,31 +91,18 @@ static umf::pool_unique_handle_t
85
91
makePool (usm::umf_disjoint_pool_config_t *poolParams,
86
92
usm::pool_descriptor poolDescriptor) {
87
93
umf_level_zero_memory_provider_params_handle_t params = NULL ;
88
- umf_result_t umf_ret = umfLevelZeroMemoryProviderParamsCreate (¶ms);
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 (¶ms));
95
+ UMF_CALL_THROWS (umfLevelZeroMemoryProviderParamsSetContext (
96
+ params, poolDescriptor.hContext ->getZeHandle ()));
98
97
99
98
ze_device_handle_t level_zero_device_handle =
100
99
poolDescriptor.hDevice ? poolDescriptor.hDevice ->ZeDevice : nullptr ;
101
100
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));
107
103
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 )));
113
106
114
107
std::vector<ze_device_handle_t > residentZeHandles;
115
108
@@ -122,11 +115,8 @@ makePool(usm::umf_disjoint_pool_config_t *poolParams,
122
115
residentZeHandles.push_back (device->ZeDevice );
123
116
}
124
117
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 ()));
130
120
}
131
121
132
122
auto [ret, provider] =
0 commit comments