@@ -2867,11 +2867,9 @@ pi_result cuda_piEnqueueEventsWait(pi_queue command_queue,
2867
2867
}
2868
2868
2869
2869
if (event) {
2870
- auto new_event =
2871
- _pi_event::make_native (PI_COMMAND_TYPE_MARKER, command_queue);
2872
- new_event->start ();
2873
- new_event->record ();
2874
- *event = new_event;
2870
+ *event = _pi_event::make_native (PI_COMMAND_TYPE_MARKER, command_queue);
2871
+ (*event)->start ();
2872
+ (*event)->record ();
2875
2873
}
2876
2874
2877
2875
return PI_SUCCESS;
@@ -3281,7 +3279,6 @@ pi_result cuda_piEnqueueMemBufferFill(pi_queue command_queue, pi_mem buffer,
3281
3279
return PI_ERROR_UNKNOWN;
3282
3280
}
3283
3281
}
3284
-
3285
3282
// / \TODO Not implemented in CUDA, requires untie from OpenCL
3286
3283
pi_result cuda_piEnqueueMemImageRead (
3287
3284
pi_queue command_queue, pi_mem image, pi_bool blocking_read,
@@ -3359,6 +3356,12 @@ pi_result cuda_piEnqueueMemBufferMap(pi_queue command_queue, pi_mem buffer,
3359
3356
ret_err = cuda_piEnqueueMemBufferRead (
3360
3357
command_queue, buffer, blocking_map, offset, size, hostPtr,
3361
3358
num_events_in_wait_list, event_wait_list, retEvent);
3359
+ } else {
3360
+ if (retEvent) {
3361
+ *retEvent =
3362
+ _pi_event::make_native (PI_COMMAND_TYPE_MEM_BUFFER_MAP, command_queue);
3363
+ (*retEvent)->record ();
3364
+ }
3362
3365
}
3363
3366
3364
3367
return ret_err;
@@ -3372,7 +3375,7 @@ pi_result cuda_piEnqueueMemUnmap(pi_queue command_queue, pi_mem memobj,
3372
3375
pi_uint32 num_events_in_wait_list,
3373
3376
const pi_event *event_wait_list,
3374
3377
pi_event *retEvent) {
3375
- pi_result ret_err = PI_INVALID_OPERATION ;
3378
+ pi_result ret_err = PI_SUCCESS ;
3376
3379
3377
3380
assert (mapped_ptr != nullptr );
3378
3381
assert (memobj != nullptr );
@@ -3385,6 +3388,12 @@ pi_result cuda_piEnqueueMemUnmap(pi_queue command_queue, pi_mem memobj,
3385
3388
command_queue, memobj, true , memobj->get_map_offset (mapped_ptr),
3386
3389
memobj->get_size (), mapped_ptr, num_events_in_wait_list, event_wait_list,
3387
3390
retEvent);
3391
+ } else {
3392
+ if (retEvent) {
3393
+ *retEvent = _pi_event::make_native (PI_COMMAND_TYPE_MEM_BUFFER_UNMAP,
3394
+ command_queue);
3395
+ (*retEvent)->record ();
3396
+ }
3388
3397
}
3389
3398
3390
3399
memobj->unmap (mapped_ptr);
0 commit comments