Skip to content

Commit a1f7e52

Browse files
committed
Don't pass the host device around
1 parent 3341f1a commit a1f7e52

File tree

5 files changed

+7
-13
lines changed

5 files changed

+7
-13
lines changed

unified-runtime/source/adapters/offload/context.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,9 @@
2020
struct ur_context_handle_t_ : RefCounted {
2121
ur_context_handle_t_(ur_device_handle_t hDevice) : Device{hDevice} {
2222
urDeviceRetain(Device);
23-
// For convenience, store the host device in the context
24-
OffloadHost = Adapter.HostDevice;
2523
}
2624
~ur_context_handle_t_() { urDeviceRelease(Device); }
2725

2826
ur_device_handle_t Device;
2927
std::unordered_map<void *, ol_alloc_type_t> AllocTypeMap;
30-
ol_device_handle_t OffloadHost;
3128
};

unified-runtime/source/adapters/offload/enqueue.cpp

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemBufferRead(
105105

106106
void *DevPtr = std::get<BufferMem>(hBuffer->Mem).Ptr;
107107

108-
olMemcpy(hQueue->OffloadQueue, pDst, hQueue->Context->OffloadHost,
109-
DevPtr + offset, hQueue->OffloadDevice, size,
110-
phEvent ? &EventOut : nullptr);
108+
olMemcpy(hQueue->OffloadQueue, pDst, Adapter.HostDevice, DevPtr + offset,
109+
hQueue->OffloadDevice, size, phEvent ? &EventOut : nullptr);
111110

112111
if (blockingRead) {
113112
olWaitQueue(hQueue->OffloadQueue);
@@ -137,10 +136,9 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemBufferWrite(
137136
void *DevPtr = std::get<BufferMem>(hBuffer->Mem).Ptr;
138137

139138
// TODO: olMemcpy src should be const
140-
auto Res =
141-
olMemcpy(hQueue->OffloadQueue, DevPtr + offset, hQueue->OffloadDevice,
142-
const_cast<void *>(pSrc), hQueue->Context->OffloadHost, size,
143-
phEvent ? &EventOut : nullptr);
139+
auto Res = olMemcpy(hQueue->OffloadQueue, DevPtr + offset,
140+
hQueue->OffloadDevice, const_cast<void *>(pSrc),
141+
Adapter.HostDevice, size, phEvent ? &EventOut : nullptr);
144142
if (Res) {
145143
return offloadResultToUR(Res);
146144
}

unified-runtime/source/adapters/offload/memory.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <ur/ur.hpp>
1414
#include <ur_api.h>
1515

16+
#include "adapter.hpp"
1617
#include "context.hpp"
1718
#include "device.hpp"
1819
#include "memory.hpp"
@@ -59,7 +60,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urMemBufferCreate(
5960

6061
if (PerformInitialCopy) {
6162
auto Res = olMemcpy(nullptr, Ptr, OffloadDevice, HostPtr,
62-
hContext->OffloadHost, size, nullptr);
63+
Adapter.HostDevice, size, nullptr);
6364
if (Res) {
6465
return offloadResultToUR(Res);
6566
}

unified-runtime/source/adapters/offload/queue.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ UR_APIEXPORT ur_result_t UR_APICALL urQueueCreate(
3131
}
3232

3333
Queue->OffloadDevice = hDevice->OffloadDevice;
34-
Queue->Context = hContext;
3534

3635
*phQueue = Queue;
3736

unified-runtime/source/adapters/offload/queue.hpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,4 @@
1818
struct ur_queue_handle_t_ : RefCounted {
1919
ol_queue_handle_t OffloadQueue;
2020
ol_device_handle_t OffloadDevice;
21-
ur_context_handle_t Context;
2221
};

0 commit comments

Comments
 (0)