File tree Expand file tree Collapse file tree 3 files changed +8
-19
lines changed
source/adapters/level_zero/v2 Expand file tree Collapse file tree 3 files changed +8
-19
lines changed Original file line number Diff line number Diff line change 12
12
#include " ze_api.h"
13
13
14
14
namespace v2 {
15
- void ur_event::attachZeHandle (event_allocation event) {
16
- type = event.type ;
17
- zeEvent = std::move (event.borrow );
18
- }
19
-
20
- event_borrowed ur_event::detachZeHandle () {
15
+ void ur_event::reset () {
21
16
// consider make an abstraction for regular/counter based
22
17
// events if there's more of this type of conditions
23
18
if (type == event_type::EVENT_REGULAR) {
24
19
zeEventHostReset (zeEvent.get ());
25
20
}
26
- auto e = std::move (zeEvent);
27
- zeEvent = nullptr ;
28
-
29
- return e;
30
21
}
31
22
32
23
ze_event_handle_t ur_event::getZeEvent () { return zeEvent.get (); }
33
24
25
+ ur_event::ur_event (event_allocation eventAllocation)
26
+ : type(eventAllocation.type), zeEvent(std::move(eventAllocation.borrow)) {}
27
+
34
28
} // namespace v2
Original file line number Diff line number Diff line change @@ -21,9 +21,9 @@ namespace v2 {
21
21
22
22
class ur_event {
23
23
public:
24
- void attachZeHandle (event_allocation);
25
- event_borrowed detachZeHandle ();
24
+ ur_event (event_allocation eventAllocation);
26
25
26
+ void reset ();
27
27
ze_event_handle_t getZeEvent ();
28
28
29
29
private:
Original file line number Diff line number Diff line change @@ -18,25 +18,20 @@ ur_event *event_pool::allocate() {
18
18
if (freelist.empty ()) {
19
19
auto start = events.size ();
20
20
auto end = start + EVENTS_BURST;
21
- events.resize (end);
22
21
for (; start < end; ++start) {
22
+ events.emplace_back (provider->allocate ());
23
23
freelist.push_back (&events.at (start));
24
24
}
25
25
}
26
26
27
27
auto event = freelist.back ();
28
-
29
- auto ZeEvent = provider->allocate ();
30
- event->attachZeHandle (std::move (ZeEvent));
31
-
32
28
freelist.pop_back ();
33
29
34
30
return event;
35
31
}
36
32
37
33
void event_pool::free (ur_event *event) {
38
- auto _ = event->detachZeHandle ();
39
-
34
+ event->reset ();
40
35
freelist.push_back (event);
41
36
}
42
37
You can’t perform that action at this time.
0 commit comments