Skip to content

Commit aa384ae

Browse files
committed
[SYCL][CUDA] Missing return event on map/unmap
Signed-off-by: Ruyman Reyes <[email protected]>
1 parent 1757da8 commit aa384ae

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

sycl/plugins/cuda/pi_cuda.cpp

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3359,6 +3359,13 @@ pi_result cuda_piEnqueueMemBufferMap(pi_queue command_queue, pi_mem buffer,
33593359
ret_err = cuda_piEnqueueMemBufferRead(
33603360
command_queue, buffer, blocking_map, offset, size, hostPtr,
33613361
num_events_in_wait_list, event_wait_list, retEvent);
3362+
} else {
3363+
if (retEvent) {
3364+
auto new_event =
3365+
_pi_event::make_native(PI_COMMAND_TYPE_MEM_BUFFER_MAP, command_queue);
3366+
new_event->record();
3367+
*retEvent = new_event;
3368+
}
33623369
}
33633370

33643371
return ret_err;
@@ -3372,7 +3379,7 @@ pi_result cuda_piEnqueueMemUnmap(pi_queue command_queue, pi_mem memobj,
33723379
pi_uint32 num_events_in_wait_list,
33733380
const pi_event *event_wait_list,
33743381
pi_event *retEvent) {
3375-
pi_result ret_err = PI_INVALID_OPERATION;
3382+
pi_result ret_err = PI_SUCCESS;
33763383

33773384
assert(mapped_ptr != nullptr);
33783385
assert(memobj != nullptr);
@@ -3385,6 +3392,13 @@ pi_result cuda_piEnqueueMemUnmap(pi_queue command_queue, pi_mem memobj,
33853392
command_queue, memobj, true, memobj->get_map_offset(mapped_ptr),
33863393
memobj->get_size(), mapped_ptr, num_events_in_wait_list, event_wait_list,
33873394
retEvent);
3395+
} else {
3396+
if (retEvent) {
3397+
auto new_event = _pi_event::make_native(PI_COMMAND_TYPE_MEM_BUFFER_UNMAP,
3398+
command_queue);
3399+
new_event->record();
3400+
*retEvent = new_event;
3401+
}
33883402
}
33893403

33903404
memobj->unmap(mapped_ptr);

0 commit comments

Comments
 (0)