Skip to content

Commit

Permalink
[SYCL][Graph] Bump UR hash
Browse files Browse the repository at this point in the history
  • Loading branch information
EwanC committed Oct 2, 2024
1 parent ce0dc32 commit 22ded4c
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 64 deletions.
10 changes: 2 additions & 8 deletions sycl/cmake/modules/FetchUnifiedRuntime.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,8 @@ if(SYCL_UR_USE_FETCH_CONTENT)
CACHE PATH "Path to external '${name}' adapter source dir" FORCE)
endfunction()

set(UNIFIED_RUNTIME_REPO "https://github.com/oneapi-src/unified-runtime.git")
# commit 0247d0966ca8c5d1e3245f375e48e6c997bed9af
# Merge: 675dd292 04ffc909
# Author: aarongreig <aaron.greig@codeplay.com>
# Date: Tue Oct 1 17:10:58 2024 +0100
# Merge pull request #2154 from npmiller/fix-graph-exce
# [CUDA][HIP] Fix exceptions throwing from adapter
set(UNIFIED_RUNTIME_TAG 0247d0966ca8c5d1e3245f375e48e6c997bed9af)
set(UNIFIED_RUNTIME_REPO "https://github.com/Bensuo/unified-runtime.git")
set(UNIFIED_RUNTIME_TAG ewan/ur_dyn_events)

set(UMF_BUILD_EXAMPLES OFF CACHE INTERNAL "EXAMPLES")
# Due to the use of dependentloadflag and no installer for UMF and hwloc we need
Expand Down
100 changes: 50 additions & 50 deletions sycl/source/detail/memory_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1343,11 +1343,11 @@ void MemoryManager::ext_oneapi_copyD2D_cmd_buffer(
}

if (1 == DimDst && 1 == DimSrc) {
Adapter->call<UrApiKind::urCommandBufferAppendMemBufferCopyExp>(
CommandBuffer, sycl::detail::ur::cast<ur_mem_handle_t>(SrcMem),
sycl::detail::ur::cast<ur_mem_handle_t>(DstMem), SrcXOffBytes,
DstXOffBytes, SrcAccessRangeWidthBytes, Deps.size(), Deps.data(),
OutSyncPoint);
Adapter->call(urCommandBufferAppendMemBufferCopyExp, CommandBuffer,
sycl::detail::ur::cast<ur_mem_handle_t>(SrcMem),
sycl::detail::ur::cast<ur_mem_handle_t>(DstMem), SrcXOffBytes,
DstXOffBytes, SrcAccessRangeWidthBytes, Deps.size(),
Deps.data(), 0, nullptr, OutSyncPoint, nullptr, nullptr);
} else {
// passing 0 for pitches not allowed. Because clEnqueueCopyBufferRect will
// calculate both src and dest pitch using region[0], which is not correct
Expand All @@ -1369,11 +1369,12 @@ void MemoryManager::ext_oneapi_copyD2D_cmd_buffer(
SrcAccessRange[SrcPos.YTerm],
SrcAccessRange[SrcPos.ZTerm]};

Adapter->call<UrApiKind::urCommandBufferAppendMemBufferCopyRectExp>(
CommandBuffer, sycl::detail::ur::cast<ur_mem_handle_t>(SrcMem),
sycl::detail::ur::cast<ur_mem_handle_t>(DstMem), SrcOrigin, DstOrigin,
Region, SrcRowPitch, SrcSlicePitch, DstRowPitch, DstSlicePitch,
Deps.size(), Deps.data(), OutSyncPoint);
Adapter->call(urCommandBufferAppendMemBufferCopyRectExp, CommandBuffer,
sycl::detail::ur::cast<ur_mem_handle_t>(SrcMem),
sycl::detail::ur::cast<ur_mem_handle_t>(DstMem), SrcOrigin,
DstOrigin, Region, SrcRowPitch, SrcSlicePitch, DstRowPitch,
DstSlicePitch, Deps.size(), Deps.data(), 0, nullptr,
OutSyncPoint, nullptr, nullptr);
}
}

Expand Down Expand Up @@ -1407,11 +1408,11 @@ void MemoryManager::ext_oneapi_copyD2H_cmd_buffer(
}

if (1 == DimDst && 1 == DimSrc) {
ur_result_t Result =
Adapter->call_nocheck<UrApiKind::urCommandBufferAppendMemBufferReadExp>(
CommandBuffer, sycl::detail::ur::cast<ur_mem_handle_t>(SrcMem),
SrcXOffBytes, SrcAccessRangeWidthBytes, DstMem + DstXOffBytes,
Deps.size(), Deps.data(), OutSyncPoint);
ur_result_t Result = Adapter->call_nocheck(
urCommandBufferAppendMemBufferReadExp, CommandBuffer,
sycl::detail::ur::cast<ur_mem_handle_t>(SrcMem), SrcXOffBytes,
SrcAccessRangeWidthBytes, DstMem + DstXOffBytes, Deps.size(),
Deps.data(), 0, nullptr, OutSyncPoint, nullptr, nullptr);

if (Result == UR_RESULT_ERROR_UNSUPPORTED_FEATURE) {
throw sycl::exception(
Expand All @@ -1436,12 +1437,12 @@ void MemoryManager::ext_oneapi_copyD2H_cmd_buffer(
SrcAccessRange[SrcPos.YTerm],
SrcAccessRange[SrcPos.ZTerm]};

ur_result_t Result = Adapter->call_nocheck<
UrApiKind::urCommandBufferAppendMemBufferReadRectExp>(
CommandBuffer, sycl::detail::ur::cast<ur_mem_handle_t>(SrcMem),
BufferOffset, HostOffset, RectRegion, BufferRowPitch, BufferSlicePitch,
HostRowPitch, HostSlicePitch, DstMem, Deps.size(), Deps.data(),
OutSyncPoint);
ur_result_t Result = Adapter->call_nocheck(
urCommandBufferAppendMemBufferReadRectExp, CommandBuffer,
sycl::detail::ur::cast<ur_mem_handle_t>(SrcMem), BufferOffset,
HostOffset, RectRegion, BufferRowPitch, BufferSlicePitch, HostRowPitch,
HostSlicePitch, DstMem, Deps.size(), Deps.data(), 0, nullptr,
OutSyncPoint, nullptr, nullptr);
if (Result == UR_RESULT_ERROR_UNSUPPORTED_FEATURE) {
throw sycl::exception(
sycl::make_error_code(sycl::errc::feature_not_supported),
Expand Down Expand Up @@ -1482,12 +1483,11 @@ void MemoryManager::ext_oneapi_copyH2D_cmd_buffer(
}

if (1 == DimDst && 1 == DimSrc) {
ur_result_t Result =
Adapter
->call_nocheck<UrApiKind::urCommandBufferAppendMemBufferWriteExp>(
CommandBuffer, sycl::detail::ur::cast<ur_mem_handle_t>(DstMem),
DstXOffBytes, DstAccessRangeWidthBytes, SrcMem + SrcXOffBytes,
Deps.size(), Deps.data(), OutSyncPoint);
ur_result_t Result = Adapter->call_nocheck(
urCommandBufferAppendMemBufferWriteExp, CommandBuffer,
sycl::detail::ur::cast<ur_mem_handle_t>(DstMem), DstXOffBytes,
DstAccessRangeWidthBytes, SrcMem + SrcXOffBytes, Deps.size(),
Deps.data(), 0, nullptr, OutSyncPoint, nullptr, nullptr);

if (Result == UR_RESULT_ERROR_UNSUPPORTED_FEATURE) {
throw sycl::exception(
Expand All @@ -1512,12 +1512,12 @@ void MemoryManager::ext_oneapi_copyH2D_cmd_buffer(
DstAccessRange[DstPos.YTerm],
DstAccessRange[DstPos.ZTerm]};

ur_result_t Result = Adapter->call_nocheck<
UrApiKind::urCommandBufferAppendMemBufferWriteRectExp>(
CommandBuffer, sycl::detail::ur::cast<ur_mem_handle_t>(DstMem),
BufferOffset, HostOffset, RectRegion, BufferRowPitch, BufferSlicePitch,
HostRowPitch, HostSlicePitch, SrcMem, Deps.size(), Deps.data(),
OutSyncPoint);
ur_result_t Result = Adapter->call_nocheck(
urCommandBufferAppendMemBufferWriteRectExp, CommandBuffer,
sycl::detail::ur::cast<ur_mem_handle_t>(DstMem), BufferOffset,
HostOffset, RectRegion, BufferRowPitch, BufferSlicePitch, HostRowPitch,
HostSlicePitch, SrcMem, Deps.size(), Deps.data(), 0, nullptr,
OutSyncPoint, nullptr, nullptr);

if (Result == UR_RESULT_ERROR_UNSUPPORTED_FEATURE) {
throw sycl::exception(
Expand All @@ -1539,10 +1539,9 @@ void MemoryManager::ext_oneapi_copy_usm_cmd_buffer(
"NULL pointer argument in memory copy operation.");

const AdapterPtr &Adapter = Context->getAdapter();
ur_result_t Result =
Adapter->call_nocheck<UrApiKind::urCommandBufferAppendUSMMemcpyExp>(
CommandBuffer, DstMem, SrcMem, Len, Deps.size(), Deps.data(),
OutSyncPoint);
ur_result_t Result = Adapter->call_nocheck(
urCommandBufferAppendUSMMemcpyExp, CommandBuffer, DstMem, SrcMem, Len,
Deps.size(), Deps.data(), 0, nullptr, OutSyncPoint, nullptr, nullptr);
if (Result == UR_RESULT_ERROR_UNSUPPORTED_FEATURE) {
throw sycl::exception(
sycl::make_error_code(sycl::errc::feature_not_supported),
Expand All @@ -1564,9 +1563,9 @@ void MemoryManager::ext_oneapi_fill_usm_cmd_buffer(
"NULL pointer argument in memory fill operation.");

const AdapterPtr &Adapter = Context->getAdapter();
Adapter->call<UrApiKind::urCommandBufferAppendUSMFillExp>(
CommandBuffer, DstMem, Pattern.data(), Pattern.size(), Len, Deps.size(),
Deps.data(), OutSyncPoint);
Adapter->call(urCommandBufferAppendUSMFillExp, CommandBuffer, DstMem,
Pattern.data(), Pattern.size(), Len, Deps.size(), Deps.data(), 0,
nullptr, OutSyncPoint, nullptr, nullptr);
}

void MemoryManager::ext_oneapi_fill_cmd_buffer(
Expand Down Expand Up @@ -1594,10 +1593,11 @@ void MemoryManager::ext_oneapi_fill_cmd_buffer(
size_t RangeMultiplier = AccessRange[0] * AccessRange[1] * AccessRange[2];

if (RangesUsable && OffsetUsable) {
Adapter->call<UrApiKind::urCommandBufferAppendMemBufferFillExp>(
CommandBuffer, ur::cast<ur_mem_handle_t>(Mem), Pattern, PatternSize,
AccessOffset[0] * ElementSize, RangeMultiplier * ElementSize,
Deps.size(), Deps.data(), OutSyncPoint);
Adapter->call(urCommandBufferAppendMemBufferFillExp, CommandBuffer,
ur::cast<ur_mem_handle_t>(Mem), Pattern, PatternSize,
AccessOffset[0] * ElementSize, RangeMultiplier * ElementSize,
Deps.size(), Deps.data(), 0, nullptr, OutSyncPoint, nullptr,
nullptr);
return;
}
// The sycl::handler uses a parallel_for kernel in the case of unusable
Expand All @@ -1612,9 +1612,9 @@ void MemoryManager::ext_oneapi_prefetch_usm_cmd_buffer(
std::vector<ur_exp_command_buffer_sync_point_t> Deps,
ur_exp_command_buffer_sync_point_t *OutSyncPoint) {
const AdapterPtr &Adapter = Context->getAdapter();
Adapter->call<UrApiKind::urCommandBufferAppendUSMPrefetchExp>(
CommandBuffer, Mem, Length, ur_usm_migration_flags_t(0), Deps.size(),
Deps.data(), OutSyncPoint);
Adapter->call(urCommandBufferAppendUSMPrefetchExp, CommandBuffer, Mem, Length,
ur_usm_migration_flags_t(0), Deps.size(), Deps.data(), 0,
nullptr, OutSyncPoint, nullptr, nullptr);
}

void MemoryManager::ext_oneapi_advise_usm_cmd_buffer(
Expand All @@ -1624,9 +1624,9 @@ void MemoryManager::ext_oneapi_advise_usm_cmd_buffer(
std::vector<ur_exp_command_buffer_sync_point_t> Deps,
ur_exp_command_buffer_sync_point_t *OutSyncPoint) {
const AdapterPtr &Adapter = Context->getAdapter();
Adapter->call<UrApiKind::urCommandBufferAppendUSMAdviseExp>(
CommandBuffer, Mem, Length, Advice, Deps.size(), Deps.data(),
OutSyncPoint);
Adapter->call(urCommandBufferAppendUSMAdviseExp, CommandBuffer, Mem, Length,
Advice, Deps.size(), Deps.data(), 0, nullptr, OutSyncPoint,
nullptr, nullptr);
}

void MemoryManager::copy_image_bindless(
Expand Down
11 changes: 5 additions & 6 deletions sycl/source/detail/scheduler/commands.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2535,12 +2535,11 @@ ur_result_t enqueueImpCommandBufferKernel(
LocalSize = RequiredWGSize;
}

ur_result_t Res =
Adapter->call_nocheck<UrApiKind::urCommandBufferAppendKernelLaunchExp>(
CommandBuffer, UrKernel, NDRDesc.Dims, &NDRDesc.GlobalOffset[0],
&NDRDesc.GlobalSize[0], LocalSize, 0, nullptr, SyncPoints.size(),
SyncPoints.size() ? SyncPoints.data() : nullptr, OutSyncPoint,
OutCommand);
ur_result_t Res = Adapter->call_nocheck(
urCommandBufferAppendKernelLaunchExp, CommandBuffer, UrKernel,
NDRDesc.Dims, &NDRDesc.GlobalOffset[0], &NDRDesc.GlobalSize[0], LocalSize,
SyncPoints.size(), SyncPoints.size() ? SyncPoints.data() : nullptr, 0,
nullptr, OutSyncPoint, nullptr, OutCommand);

if (!SyclKernelImpl && !Kernel) {
Adapter->call<UrApiKind::urKernelRelease>(UrKernel);
Expand Down

0 comments on commit 22ded4c

Please sign in to comment.