6
6
7
7
extern " C" int syclPlatformCreate (syclPlatform_t *obj,
8
8
ze_driver_handle_t driver) {
9
- auto sycl_platform = sycl::ext::oneapi::level_zero::make_platform ((pi_native_handle) driver);
9
+ auto sycl_platform =
10
+ sycl::make_platform<sycl::backend::ext_oneapi_level_zero>(driver);
10
11
*obj = new syclPlatform_st ({sycl_platform});
11
12
return 0 ;
12
13
}
@@ -19,7 +20,7 @@ extern "C" int syclPlatformDestroy(syclPlatform_t obj) {
19
20
extern " C" int syclDeviceCreate (syclDevice_t *obj, syclPlatform_t platform,
20
21
ze_device_handle_t device) {
21
22
auto sycl_device =
22
- sycl::ext::oneapi::level_zero::make_device (platform-> val , (pi_native_handle) device);
23
+ sycl::make_device<sycl::backend::ext_oneapi_level_zero>( device);
23
24
*obj = new syclDevice_st ({sycl_device});
24
25
return 0 ;
25
26
}
@@ -35,9 +36,15 @@ extern "C" int syclContextCreate(syclContext_t *obj, syclDevice_t *devices,
35
36
std::vector<sycl::device> sycl_devices (ndevices);
36
37
for (size_t i = 0 ; i < ndevices; i++)
37
38
sycl_devices[i] = devices[i]->val ;
39
+ auto sycl_ownership =
40
+ keep_ownership ? sycl::ext::oneapi::level_zero::ownership::keep
41
+ : sycl::ext::oneapi::level_zero::ownership::transfer;
42
+ sycl::backend_input_t <sycl::backend::ext_oneapi_level_zero, sycl::context>
43
+ sycl_context_input = {context, sycl_devices, sycl_ownership};
38
44
39
45
auto sycl_context =
40
- sycl::ext::oneapi::level_zero::make_context (sycl_devices, (pi_native_handle) context, keep_ownership);
46
+ sycl::make_context<sycl::backend::ext_oneapi_level_zero>(
47
+ sycl_context_input);
41
48
*obj = new syclContext_st ({sycl_context});
42
49
return 0 ;
43
50
}
@@ -51,7 +58,15 @@ extern "C" int syclQueueCreate(syclQueue_t *obj, syclContext_t context,
51
58
syclDevice_t device,
52
59
ze_command_queue_handle_t queue,
53
60
int keep_ownership) {
54
- auto sycl_queue = sycl::ext::oneapi::level_zero::make_queue (context->val , device->val , (pi_native_handle) queue, false , keep_ownership, {});
61
+ auto sycl_ownership =
62
+ keep_ownership ? sycl::ext::oneapi::level_zero::ownership::keep
63
+ : sycl::ext::oneapi::level_zero::ownership::transfer;
64
+ auto sycl_queue_input =
65
+ sycl::backend_input_t <sycl::backend::ext_oneapi_level_zero,
66
+ sycl::queue>{queue, device->val , sycl_ownership};
67
+
68
+ auto sycl_queue = sycl::make_queue<sycl::backend::ext_oneapi_level_zero>(
69
+ sycl_queue_input, context->val );
55
70
*obj = new syclQueue_st ({sycl_queue});
56
71
return 0 ;
57
72
}
@@ -63,9 +78,17 @@ extern "C" int syclQueueDestroy(syclQueue_t obj) {
63
78
64
79
extern " C" int syclEventCreate (syclEvent_t *obj, syclContext_t context,
65
80
ze_event_handle_t event, int keep_ownership) {
66
- auto sycl_event = sycl::ext::oneapi::level_zero::make_event (context->val , (pi_native_handle) event, keep_ownership);
67
- *obj = new syclEvent_st ({sycl_event});
68
- return 0 ;
81
+ auto sycl_ownership =
82
+ keep_ownership ? sycl::ext::oneapi::level_zero::ownership::keep
83
+ : sycl::ext::oneapi::level_zero::ownership::transfer;
84
+ auto sycl_event_input =
85
+ sycl::backend_input_t <sycl::backend::ext_oneapi_level_zero,
86
+ sycl::event>{event, sycl_ownership};
87
+
88
+ auto sycl_event = sycl::make_event<sycl::backend::ext_oneapi_level_zero>(
89
+ sycl_event_input, context->val );
90
+ *obj = new syclEvent_st ({sycl_event});
91
+ return 0 ;
69
92
}
70
93
71
94
extern " C" int syclEventDestroy (syclEvent_t obj) {
0 commit comments