From b29bd53d066339df935d2e0da24a7761f7e10ad7 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Mon, 25 Jul 2022 08:07:09 -0700 Subject: [PATCH 01/15] [SYCL] Honor memory allocation properties Signed-off-by: Sergey V Maslov --- sycl/source/detail/usm/usm_impl.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/sycl/source/detail/usm/usm_impl.cpp b/sycl/source/detail/usm/usm_impl.cpp index 4b2237b51e037..85acf03673b1e 100644 --- a/sycl/source/detail/usm/usm_impl.cpp +++ b/sycl/source/detail/usm/usm_impl.cpp @@ -437,28 +437,32 @@ void *malloc(size_t Size, const queue &Q, alloc Kind, void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, alloc Kind, - const detail::code_location CL) { + const detail::code_location CL, + const property_list &PropList) { void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, CL); + RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, CL, + PropList); } else { - RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, CL); + RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, CL, + PropList); } return RetVal; } void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind, const property_list &, + const context &Ctxt, alloc Kind, + const property_list &PropList, const detail::code_location CL) { - return aligned_alloc(Alignment, Size, Dev, Ctxt, Kind, CL); + return aligned_alloc(Alignment, Size, Dev, Ctxt, Kind, CL, PropList); } void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, const detail::code_location CL) { return aligned_alloc(Alignment, Size, Q.get_device(), Q.get_context(), Kind, - CL); + CL, property_list{}); } void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, @@ -771,15 +775,15 @@ __SYCL_EXPORT void *aligned_alloc(size_t Alignment, size_t Size, __SYCL_EXPORT void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, - alloc Kind, const property_list &) { + alloc Kind, const property_list &PropList) { return aligned_alloc(Alignment, Size, Dev, Ctxt, Kind, - detail::code_location{}); + detail::code_location{}, PropList); } __SYCL_EXPORT void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind) { return aligned_alloc(Alignment, Size, Q.get_device(), Q.get_context(), Kind, - detail::code_location{}); + detail::code_location{}, property_list{}); } __SYCL_EXPORT void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, From 9f4e57a5208a08593d9ec9684cfba1d52da600de Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Tue, 26 Jul 2022 23:17:14 -0700 Subject: [PATCH 02/15] Proper handling of optional last code location argument Signed-off-by: Sergey V Maslov --- sycl/source/detail/usm/usm_impl.cpp | 574 ++++++++++------------------ 1 file changed, 198 insertions(+), 376 deletions(-) mode change 100644 => 100755 sycl/source/detail/usm/usm_impl.cpp diff --git a/sycl/source/detail/usm/usm_impl.cpp b/sycl/source/detail/usm/usm_impl.cpp old mode 100644 new mode 100755 index 85acf03673b1e..75777da820bbb --- a/sycl/source/detail/usm/usm_impl.cpp +++ b/sycl/source/detail/usm/usm_impl.cpp @@ -47,7 +47,7 @@ namespace usm { void *alignedAllocHost(size_t Alignment, size_t Size, const context &Ctxt, alloc Kind, const detail::code_location &CL, - const property_list &PropList = {}) { + const property_list &PropList) { XPTI_CREATE_TRACEPOINT(CL); void *RetVal = nullptr; if (Size == 0) @@ -115,7 +115,7 @@ void *alignedAllocHost(size_t Alignment, size_t Size, const context &Ctxt, void *alignedAlloc(size_t Alignment, size_t Size, const context &Ctxt, const device &Dev, alloc Kind, const detail::code_location &CL, - const property_list &PropList = {}) { + const property_list &PropList) { XPTI_CREATE_TRACEPOINT(CL); void *RetVal = nullptr; if (Size == 0) @@ -232,213 +232,254 @@ void free(void *Ptr, const context &Ctxt, const detail::code_location &CL) { } } -// For ABI compatibility -// TODO remove once ABI breakages are allowed. -__SYCL_EXPORT void *alignedAllocHost(size_t Alignment, size_t Size, - const context &Ctxt, alloc Kind) { - return alignedAllocHost(Alignment, Size, Ctxt, Kind, detail::code_location{}); -} - -__SYCL_EXPORT void free(void *Ptr, const context &Ctxt) { - detail::usm::free(Ptr, Ctxt, detail::code_location{}); -} - -__SYCL_EXPORT void *alignedAlloc(size_t Alignment, size_t Size, - const context &Ctxt, const device &Dev, - alloc Kind) { - return alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, - detail::code_location{}); -} - } // namespace usm } // namespace detail void *malloc_device(size_t Size, const device &Dev, const context &Ctxt, - const detail::code_location CL) { - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, CL); -} - -void *malloc_device(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList, - const detail::code_location CL) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, CL, PropList); } -void *malloc_device(size_t Size, const queue &Q, - const detail::code_location CL) { - return malloc_device(Size, Q.get_device(), Q.get_context(), CL); -} - -void *malloc_device(size_t Size, const queue &Q, const property_list &PropList, - const detail::code_location CL) { - return malloc_device(Size, Q.get_device(), Q.get_context(), PropList, CL); +void *malloc_device(size_t Size, const queue &Q, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), alloc::device, CL, + PropList); } void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, - const detail::code_location CL) { + const context &Ctxt, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, - CL); -} - -void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, const property_list &, - const detail::code_location CL) { - return aligned_alloc_device(Alignment, Size, Dev, Ctxt, CL); -} - -void *aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q, - const detail::code_location CL) { - return aligned_alloc_device(Alignment, Size, Q.get_device(), Q.get_context(), - CL); + CL, PropList); } void *aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList, - const detail::code_location CL) { - return aligned_alloc_device(Alignment, Size, Q.get_device(), Q.get_context(), - PropList, CL); + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::device, + CL, PropList); } -void free(void *ptr, const context &Ctxt, const detail::code_location CL) { +void free(void *ptr, const context &Ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif return detail::usm::free(ptr, Ctxt, CL); } -void free(void *ptr, const queue &Q, const detail::code_location CL) { - return free(ptr, Q.get_context(), CL); -} - -/// -// Restricted USM -/// -void *malloc_host(size_t Size, const context &Ctxt, - const detail::code_location CL) { - return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, CL); +void free(void *ptr, const queue &Q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::free(ptr, Q.get_context(), CL); } void *malloc_host(size_t Size, const context &Ctxt, - const property_list &PropList, - const detail::code_location CL) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, CL, PropList); } -void *malloc_host(size_t Size, const queue &Q, const detail::code_location CL) { - return malloc_host(Size, Q.get_context(), CL); -} - -void *malloc_host(size_t Size, const queue &Q, const property_list &PropList, - const detail::code_location CL) { - return malloc_host(Size, Q.get_context(), PropList, CL); -} - -void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt, - const detail::code_location CL) { - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, CL); +void *malloc_host(size_t Size, const queue &Q, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, CL, + PropList); } void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList, - const detail::code_location CL) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, CL, PropList); } -void *malloc_shared(size_t Size, const queue &Q, - const detail::code_location CL) { - return malloc_shared(Size, Q.get_device(), Q.get_context(), CL); -} - -void *malloc_shared(size_t Size, const queue &Q, const property_list &PropList, - const detail::code_location CL) { - return malloc_shared(Size, Q.get_device(), Q.get_context(), PropList, CL); -} - -void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, - const detail::code_location CL) { - return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, CL); +void *malloc_shared(size_t Size, const queue &Q, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), alloc::shared, CL, + PropList); } void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, - const property_list &PropList, - const detail::code_location CL) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, CL, PropList); } void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, - const detail::code_location CL) { - return aligned_alloc_host(Alignment, Size, Q.get_context(), CL); -} - -void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList, - const detail::code_location CL) { - return aligned_alloc_host(Alignment, Size, Q.get_context(), PropList, CL); -} - -void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, - const detail::code_location CL) { - return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, - CL); + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), alloc::host, CL, + PropList); } void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, const property_list &PropList, - const detail::code_location CL) { + const context &Ctxt, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, CL, PropList); } void *aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, - const detail::code_location CL) { - return aligned_alloc_shared(Alignment, Size, Q.get_device(), Q.get_context(), - CL); -} - -void *aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList, - const detail::code_location CL) { - return aligned_alloc_shared(Alignment, Size, Q.get_device(), Q.get_context(), - PropList, CL); + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::shared, + CL, PropList); } // single form void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, - const detail::code_location CL) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, CL); + RetVal = detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, CL, PropList); } else { - RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, CL); + RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, CL, PropList); } return RetVal; } -void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, - const property_list &, const detail::code_location CL) { - return malloc(Size, Dev, Ctxt, Kind, CL); -} void *malloc(size_t Size, const queue &Q, alloc Kind, - const detail::code_location CL) { - return malloc(Size, Q.get_device(), Q.get_context(), Kind, CL); -} + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + void *RetVal = nullptr; -void *malloc(size_t Size, const queue &Q, alloc Kind, - const property_list &PropList, const detail::code_location CL) { - return malloc(Size, Q.get_device(), Q.get_context(), Kind, PropList, CL); + if (Kind == alloc::host) { + RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, CL, PropList); + } else { + RetVal = detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), Kind, CL, PropList); + } + + return RetVal; } void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, alloc Kind, - const detail::code_location CL, - const property_list &PropList) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif void *RetVal = nullptr; if (Kind == alloc::host) { @@ -452,24 +493,27 @@ void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, return RetVal; } -void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind, - const property_list &PropList, - const detail::code_location CL) { - return aligned_alloc(Alignment, Size, Dev, Ctxt, Kind, CL, PropList); -} - void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, - const detail::code_location CL) { - return aligned_alloc(Alignment, Size, Q.get_device(), Q.get_context(), Kind, - CL, property_list{}); -} + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + void *RetVal = nullptr; -void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, - const property_list &PropList, - const detail::code_location CL) { - return aligned_alloc(Alignment, Size, Q.get_device(), Q.get_context(), Kind, - PropList, CL); + if (Kind == alloc::host) { + RetVal = detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), Kind, CL, + PropList); + } else { + RetVal = detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), Kind, CL, + PropList); + } + + return RetVal; } // Pointer queries @@ -569,227 +613,5 @@ device get_pointer_device(const void *Ptr, const context &Ctxt) { PI_ERROR_INVALID_OPERATION); } -// For ABI compatibility - -__SYCL_EXPORT void *malloc_device(size_t Size, const device &Dev, - const context &Ctxt) { - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, - detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_device(size_t Size, const device &Dev, - const context &Ctxt, const property_list &) { - return malloc_device(Size, Dev, Ctxt, detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_device(size_t Size, const queue &Q) { - return malloc_device(Size, Q.get_device(), Q.get_context(), - detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_device(size_t Size, const queue &Q, - const property_list &PropList) { - return malloc_device(Size, Q.get_device(), Q.get_context(), PropList, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_device(size_t Alignment, size_t Size, - const device &Dev, - const context &Ctxt) { - return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_device(size_t Alignment, size_t Size, - const device &Dev, const context &Ctxt, - const property_list &) { - return aligned_alloc_device(Alignment, Size, Dev, Ctxt, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_device(size_t Alignment, size_t Size, - const queue &Q) { - return aligned_alloc_device(Alignment, Size, Q.get_device(), Q.get_context(), - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_device(size_t Alignment, size_t Size, - const queue &Q, - const property_list &PropList) { - return aligned_alloc_device(Alignment, Size, Q.get_device(), Q.get_context(), - PropList, detail::code_location{}); -} - -__SYCL_EXPORT void free(void *ptr, const context &Ctxt) { - return detail::usm::free(ptr, Ctxt, detail::code_location{}); -} - -__SYCL_EXPORT void free(void *ptr, const queue &Q) { - return free(ptr, Q.get_context(), detail::code_location{}); -} - -/// -// Restricted USM -/// -__SYCL_EXPORT void *malloc_host(size_t Size, const context &Ctxt) { - return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, - detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_host(size_t Size, const context &Ctxt, - const property_list &) { - return malloc_host(Size, Ctxt, detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_host(size_t Size, const queue &Q) { - return malloc_host(Size, Q.get_context(), detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_host(size_t Size, const queue &Q, - const property_list &PropList) { - return malloc_host(Size, Q.get_context(), PropList, detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_shared(size_t Size, const device &Dev, - const context &Ctxt) { - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, - detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_shared(size_t Size, const device &Dev, - const context &Ctxt, const property_list &) { - return malloc_shared(Size, Dev, Ctxt, detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_shared(size_t Size, const queue &Q) { - return malloc_shared(Size, Q.get_device(), Q.get_context(), - detail::code_location{}); -} - -__SYCL_EXPORT void *malloc_shared(size_t Size, const queue &Q, - const property_list &PropList) { - return malloc_shared(Size, Q.get_device(), Q.get_context(), PropList, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_host(size_t Alignment, size_t Size, - const context &Ctxt) { - return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_host(size_t Alignment, size_t Size, - const context &Ctxt, - const property_list &) { - return aligned_alloc_host(Alignment, Size, Ctxt, detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_host(size_t Alignment, size_t Size, - const queue &Q) { - return aligned_alloc_host(Alignment, Size, Q.get_context(), - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_host(size_t Alignment, size_t Size, - const queue &Q, - const property_list &PropList) { - return aligned_alloc_host(Alignment, Size, Q.get_context(), PropList, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_shared(size_t Alignment, size_t Size, - const device &Dev, - const context &Ctxt) { - return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_shared(size_t Alignment, size_t Size, - const device &Dev, const context &Ctxt, - const property_list &) { - return aligned_alloc_shared(Alignment, Size, Dev, Ctxt, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_shared(size_t Alignment, size_t Size, - const queue &Q) { - return aligned_alloc_shared(Alignment, Size, Q.get_device(), Q.get_context(), - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc_shared(size_t Alignment, size_t Size, - const queue &Q, - const property_list &PropList) { - return aligned_alloc_shared(Alignment, Size, Q.get_device(), Q.get_context(), - PropList, detail::code_location{}); -} - -// single form - -__SYCL_EXPORT void *malloc(size_t Size, const device &Dev, const context &Ctxt, - alloc Kind) { - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, - detail::code_location{}); - } else { - RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, - detail::code_location{}); - } - - return RetVal; -} - -__SYCL_EXPORT void *malloc(size_t Size, const device &Dev, const context &Ctxt, - alloc Kind, const property_list &) { - return malloc(Size, Dev, Ctxt, Kind, detail::code_location{}); -} - -__SYCL_EXPORT void *malloc(size_t Size, const queue &Q, alloc Kind) { - return malloc(Size, Q.get_device(), Q.get_context(), Kind, - detail::code_location{}); -} - -__SYCL_EXPORT void *malloc(size_t Size, const queue &Q, alloc Kind, - const property_list &PropList) { - return malloc(Size, Q.get_device(), Q.get_context(), Kind, PropList, - detail::code_location{}); -} - -__SYCL_EXPORT void *aligned_alloc(size_t Alignment, size_t Size, - const device &Dev, const context &Ctxt, - alloc Kind) { - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, - detail::code_location{}); - } else { - RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, - detail::code_location{}); - } - - return RetVal; -} - -__SYCL_EXPORT void *aligned_alloc(size_t Alignment, size_t Size, - const device &Dev, const context &Ctxt, - alloc Kind, const property_list &PropList) { - return aligned_alloc(Alignment, Size, Dev, Ctxt, Kind, - detail::code_location{}, PropList); -} - -__SYCL_EXPORT void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, - alloc Kind) { - return aligned_alloc(Alignment, Size, Q.get_device(), Q.get_context(), Kind, - detail::code_location{}, property_list{}); -} - -__SYCL_EXPORT void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, - alloc Kind, const property_list &PropList) { - return aligned_alloc(Alignment, Size, Q.get_device(), Q.get_context(), Kind, - PropList, detail::code_location{}); -} } // namespace sycl } // __SYCL_INLINE_NAMESPACE(cl) From c31b349376882f14b2f2841802f7c475f61ffbce Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Tue, 26 Jul 2022 23:17:44 -0700 Subject: [PATCH 03/15] clang-format Signed-off-by: Sergey V Maslov --- sycl/source/detail/usm/usm_impl.cpp | 212 +++++++++++++++------------- 1 file changed, 113 insertions(+), 99 deletions(-) mode change 100755 => 100644 sycl/source/detail/usm/usm_impl.cpp diff --git a/sycl/source/detail/usm/usm_impl.cpp b/sycl/source/detail/usm/usm_impl.cpp old mode 100755 new mode 100644 index 75777da820bbb..aede3257f8b2b --- a/sycl/source/detail/usm/usm_impl.cpp +++ b/sycl/source/detail/usm/usm_impl.cpp @@ -235,193 +235,204 @@ void free(void *Ptr, const context &Ctxt, const detail::code_location &CL) { } // namespace usm } // namespace detail -void *malloc_device(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList = {} +void * +malloc_device(size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, CL, PropList); } -void *malloc_device(size_t Size, const queue &Q, const property_list &PropList = {} +void * +malloc_device(size_t Size, const queue &Q, const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif - return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), alloc::device, CL, - PropList); + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + alloc::device, CL, PropList); } -void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, const property_list &PropList = {} +void *aligned_alloc_device( + size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, CL, PropList); } -void *aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList = {} +void *aligned_alloc_device( + size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif - return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::device, - CL, PropList); + return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), alloc::device, CL, PropList); } void free(void *ptr, const context &Ctxt #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif return detail::usm::free(ptr, Ctxt, CL); } void free(void *ptr, const queue &Q #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif return detail::usm::free(ptr, Q.get_context(), CL); } -void *malloc_host(size_t Size, const context &Ctxt, - const property_list &PropList = {} +void * +malloc_host(size_t Size, const context &Ctxt, const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, CL, PropList); } -void *malloc_host(size_t Size, const queue &Q, const property_list &PropList = {} +void * +malloc_host(size_t Size, const queue &Q, const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif - return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, CL, - PropList); + return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, + CL, PropList); } -void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList = {} +void * +malloc_shared(size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, CL, PropList); } -void *malloc_shared(size_t Size, const queue &Q, const property_list &PropList = {} +void * +malloc_shared(size_t Size, const queue &Q, const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif - return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), alloc::shared, CL, - PropList); + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + alloc::shared, CL, PropList); } -void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, - const property_list &PropList = {} +void *aligned_alloc_host( + size_t Alignment, size_t Size, const context &Ctxt, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, CL, PropList); } -void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList = {} +void *aligned_alloc_host( + size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif - return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), alloc::host, CL, - PropList); + return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), + alloc::host, CL, PropList); } -void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, const property_list &PropList = {} +void *aligned_alloc_shared( + size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, CL, PropList); } -void *aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList = {} +void *aligned_alloc_shared( + size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif - return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::shared, - CL, PropList); + return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), alloc::shared, CL, PropList); } // single form @@ -429,12 +440,12 @@ void *aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif void *RetVal = nullptr; @@ -447,38 +458,40 @@ void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, return RetVal; } - void *malloc(size_t Size, const queue &Q, alloc Kind, const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, CL, PropList); + RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, CL, + PropList); } else { - RetVal = detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), Kind, CL, PropList); + RetVal = detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + Kind, CL, PropList); } return RetVal; } -void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind, - const property_list &PropList = {} +void * +aligned_alloc(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, alloc Kind, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif void *RetVal = nullptr; @@ -493,24 +506,25 @@ void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, return RetVal; } -void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, - const property_list &PropList = {} +void * +aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, + const property_list &PropList = {} #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL = detail::code_location::current() #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; + const detail::code_location &CL = {}; #endif void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), Kind, CL, - PropList); + RetVal = detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), + Kind, CL, PropList); } else { - RetVal = detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), Kind, CL, - PropList); + RetVal = detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), Kind, CL, PropList); } return RetVal; From 43968c1c4b7849cc952b720cb5d59150e456c390 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Wed, 27 Jul 2022 03:23:03 -0700 Subject: [PATCH 04/15] Duplicate entries for optional argument property_list, and update headers Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm.hpp | 350 +++++++++++++++------- sycl/include/sycl/usm/usm_allocator.hpp | 11 +- sycl/source/detail/usm/usm_impl.cpp | 383 +++++++++++++++++++----- 3 files changed, 553 insertions(+), 191 deletions(-) mode change 100644 => 100755 sycl/include/sycl/usm/usm_allocator.hpp diff --git a/sycl/include/sycl/usm.hpp b/sycl/include/sycl/usm.hpp index 885b4baf71b21..8012aa9639d33 100644 --- a/sycl/include/sycl/usm.hpp +++ b/sycl/include/sycl/usm.hpp @@ -19,135 +19,269 @@ namespace sycl { /// // Explicit USM /// -__SYCL_EXPORT void *malloc_device( - size_t size, const device &dev, const context &ctxt, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_device( - size_t size, const device &dev, const context &ctxt, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_device( - size_t size, const queue &q, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_device( - size_t size, const queue &q, const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); +__SYCL_EXPORT void * +malloc_device(size_t size, const device &dev, const context &ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_device(size_t size, const device &dev, const context &ctxt, + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_device(size_t size, const queue &q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_device(size_t size, const queue &q, const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_device( - size_t alignment, size_t size, const device &dev, const context &ctxt, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const device &dev, const context &ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_device( size_t alignment, size_t size, const device &dev, const context &ctxt, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_device( - size_t alignment, size_t size, const queue &q, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const queue &q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_device( - size_t alignment, size_t size, const queue &q, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const queue &q, const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void -free(void *ptr, const context &ctxt, - const detail::code_location CodeLoc = detail::code_location::current()); +free(void *ptr, const context &ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void -free(void *ptr, const queue &q, - const detail::code_location CodeLoc = detail::code_location::current()); +free(void *ptr, const queue &q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); /// // Restricted USM /// -__SYCL_EXPORT void *malloc_host( - size_t size, const context &ctxt, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_host( - size_t size, const context &ctxt, const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_host( - size_t size, const queue &q, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_host( - size_t size, const queue &q, const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); +__SYCL_EXPORT void * +malloc_host(size_t size, const context &ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_host(size_t size, const context &ctxt, const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_host(size_t size, const queue &q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_host(size_t size, const queue &q, const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); -__SYCL_EXPORT void *malloc_shared( - size_t size, const device &dev, const context &ctxt, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_shared( - size_t size, const device &dev, const context &ctxt, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_shared( - size_t size, const queue &q, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *malloc_shared( - size_t size, const queue &q, const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); +__SYCL_EXPORT void * +malloc_shared(size_t size, const device &dev, const context &ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_shared(size_t size, const device &dev, const context &ctxt, + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_shared(size_t size, const queue &q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +malloc_shared(size_t size, const queue &q, const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_host( - size_t alignment, size_t size, const context &ctxt, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const context &ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_host( size_t alignment, size_t size, const context &ctxt, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_host( - size_t alignment, size_t size, const queue &q, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const queue &q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_host( - size_t alignment, size_t size, const queue &q, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const queue &q, const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_shared( - size_t alignment, size_t size, const device &dev, const context &ctxt, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const device &dev, const context &ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_shared( size_t alignment, size_t size, const device &dev, const context &ctxt, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_shared( - size_t alignment, size_t size, const queue &q, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const queue &q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void *aligned_alloc_shared( - size_t alignment, size_t size, const queue &q, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); + size_t alignment, size_t size, const queue &q, const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); /// // single form /// __SYCL_EXPORT void * -malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind, - const detail::code_location CodeLoc = detail::code_location::current()); +malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void * malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void * -malloc(size_t size, const queue &q, usm::alloc kind, - const detail::code_location CodeLoc = detail::code_location::current()); +malloc(size_t size, const queue &q, usm::alloc kind +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); __SYCL_EXPORT void * malloc(size_t size, const queue &q, usm::alloc kind, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); -__SYCL_EXPORT void *aligned_alloc( - size_t alignment, size_t size, const device &dev, const context &ctxt, - usm::alloc kind, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *aligned_alloc( - size_t alignment, size_t size, const device &dev, const context &ctxt, - usm::alloc kind, const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *aligned_alloc( - size_t alignment, size_t size, const queue &q, usm::alloc kind, - const detail::code_location CodeLoc = detail::code_location::current()); -__SYCL_EXPORT void *aligned_alloc( - size_t alignment, size_t size, const queue &q, usm::alloc kind, - const property_list &propList, - const detail::code_location CodeLoc = detail::code_location::current()); +__SYCL_EXPORT void * +aligned_alloc(size_t alignment, size_t size, const device &dev, + const context &ctxt, usm::alloc kind +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +aligned_alloc(size_t alignment, size_t size, const device &dev, + const context &ctxt, usm::alloc kind, + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +aligned_alloc(size_t alignment, size_t size, const queue &q, usm::alloc kind +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); +__SYCL_EXPORT void * +aligned_alloc(size_t alignment, size_t size, const queue &q, usm::alloc kind, + const property_list &propList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL = detail::code_location::current() +#endif +); /// // Template forms @@ -156,7 +290,7 @@ template T *malloc_device( size_t Count, const device &Dev, const context &Ctxt, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return static_cast(aligned_alloc_device(alignof(T), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); } @@ -164,7 +298,7 @@ T *malloc_device( template T *malloc_device( size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } @@ -173,7 +307,7 @@ template T *aligned_alloc_device( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return static_cast(aligned_alloc_device(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); @@ -183,7 +317,7 @@ template T *aligned_alloc_device( size_t Alignment, size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return aligned_alloc_device(Alignment, Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } @@ -191,7 +325,7 @@ T *aligned_alloc_device( template T *malloc_host( size_t Count, const context &Ctxt, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return static_cast(aligned_alloc_host(alignof(T), Count * sizeof(T), Ctxt, PropList, CodeLoc)); } @@ -199,7 +333,7 @@ T *malloc_host( template T *malloc_host( size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return malloc_host(Count, Q.get_context(), PropList, CodeLoc); } @@ -207,7 +341,7 @@ template T *malloc_shared( size_t Count, const device &Dev, const context &Ctxt, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return static_cast(aligned_alloc_shared(alignof(T), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); } @@ -215,7 +349,7 @@ T *malloc_shared( template T *malloc_shared( size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } @@ -224,7 +358,7 @@ template T *aligned_alloc_host( size_t Alignment, size_t Count, const context &Ctxt, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return static_cast(aligned_alloc_host(std ::max(Alignment, alignof(T)), Count * sizeof(T), Ctxt, PropList, CodeLoc)); @@ -234,7 +368,7 @@ template T *aligned_alloc_host( size_t Alignment, size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, CodeLoc); } @@ -243,7 +377,7 @@ template T *aligned_alloc_shared( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return static_cast(aligned_alloc_shared(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); @@ -253,7 +387,7 @@ template T *aligned_alloc_shared( size_t Alignment, size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return aligned_alloc_shared(Alignment, Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } @@ -262,7 +396,7 @@ template T *malloc( size_t Count, const device &Dev, const context &Ctxt, usm::alloc Kind, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return static_cast(aligned_alloc(alignof(T), Count * sizeof(T), Dev, Ctxt, Kind, PropList, CodeLoc)); } @@ -271,7 +405,7 @@ template T *malloc( size_t Count, const queue &Q, usm::alloc Kind, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, CodeLoc); } @@ -280,7 +414,7 @@ template T *aligned_alloc( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, usm::alloc Kind, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return static_cast(aligned_alloc(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, Kind, PropList, CodeLoc)); @@ -290,7 +424,7 @@ template T *aligned_alloc( size_t Alignment, size_t Count, const queue &Q, usm::alloc Kind, const property_list &PropList = {}, - const detail::code_location CodeLoc = detail::code_location::current()) { + const detail::code_location &CodeLoc = detail::code_location::current()) { return aligned_alloc(Alignment, Count, Q.get_device(), Q.get_context(), Kind, PropList, CodeLoc); } diff --git a/sycl/include/sycl/usm/usm_allocator.hpp b/sycl/include/sycl/usm/usm_allocator.hpp old mode 100644 new mode 100755 index 5c3ca1037bfb0..44e44451dc75f --- a/sycl/include/sycl/usm/usm_allocator.hpp +++ b/sycl/include/sycl/usm/usm_allocator.hpp @@ -14,22 +14,13 @@ #include #include #include +#include #include #include __SYCL_INLINE_NAMESPACE(cl) { namespace sycl { - -// Forward declarations. -__SYCL_EXPORT void *aligned_alloc(size_t alignment, size_t size, - const device &dev, const context &ctxt, - usm::alloc kind, - const property_list &propList, - const detail::code_location CodeLoc); -__SYCL_EXPORT void free(void *ptr, const context &ctxt, - const detail::code_location CodeLoc); - template class usm_allocator { public: diff --git a/sycl/source/detail/usm/usm_impl.cpp b/sycl/source/detail/usm/usm_impl.cpp index aede3257f8b2b..5d48b5cafc6a6 100644 --- a/sycl/source/detail/usm/usm_impl.cpp +++ b/sycl/source/detail/usm/usm_impl.cpp @@ -235,12 +235,24 @@ void free(void *Ptr, const context &Ctxt, const detail::code_location &CL) { } // namespace usm } // namespace detail -void * -malloc_device(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList = {} +void *malloc_device(size_t Size, const device &Dev, const context &Ctxt #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, CL, + property_list{}); +} + +void *malloc_device(size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -250,11 +262,23 @@ malloc_device(size_t Size, const device &Dev, const context &Ctxt, PropList); } -void * -malloc_device(size_t Size, const queue &Q, const property_list &PropList = {} +void *malloc_device(size_t Size, const queue &Q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + alloc::device, CL, property_list{}); +} + +void *malloc_device(size_t Size, const queue &Q, const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -264,12 +288,25 @@ malloc_device(size_t Size, const queue &Q, const property_list &PropList = {} alloc::device, CL, PropList); } -void *aligned_alloc_device( - size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList = {} +void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, + CL, property_list{}); +} + +void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -279,12 +316,25 @@ void *aligned_alloc_device( CL, PropList); } -void *aligned_alloc_device( - size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList = {} +void *aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), alloc::device, CL, + property_list{}); +} + +void *aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -297,7 +347,7 @@ void *aligned_alloc_device( void free(void *ptr, const context &Ctxt #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA , - const detail::code_location &CL = detail::code_location::current() + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -309,7 +359,7 @@ void free(void *ptr, const context &Ctxt void free(void *ptr, const queue &Q #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA , - const detail::code_location &CL = detail::code_location::current() + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -318,11 +368,24 @@ void free(void *ptr, const queue &Q return detail::usm::free(ptr, Q.get_context(), CL); } -void * -malloc_host(size_t Size, const context &Ctxt, const property_list &PropList = {} +void *malloc_host(size_t Size, const context &Ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, CL, + property_list{}); +} + +void *malloc_host(size_t Size, const context &Ctxt, + const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -332,11 +395,23 @@ malloc_host(size_t Size, const context &Ctxt, const property_list &PropList = {} PropList); } -void * -malloc_host(size_t Size, const queue &Q, const property_list &PropList = {} +void *malloc_host(size_t Size, const queue &Q #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, + CL, property_list{}); +} + +void *malloc_host(size_t Size, const queue &Q, const property_list &PropList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -346,12 +421,24 @@ malloc_host(size_t Size, const queue &Q, const property_list &PropList = {} CL, PropList); } -void * -malloc_shared(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList = {} +void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, CL, + property_list{}); +} + +void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -361,11 +448,23 @@ malloc_shared(size_t Size, const device &Dev, const context &Ctxt, PropList); } -void * -malloc_shared(size_t Size, const queue &Q, const property_list &PropList = {} +void *malloc_shared(size_t Size, const queue &Q +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + alloc::shared, CL, property_list{}); +} + +void *malloc_shared(size_t Size, const queue &Q, const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -375,12 +474,24 @@ malloc_shared(size_t Size, const queue &Q, const property_list &PropList = {} alloc::shared, CL, PropList); } -void *aligned_alloc_host( - size_t Alignment, size_t Size, const context &Ctxt, - const property_list &PropList = {} +void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, CL, + property_list{}); +} + +void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, + const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -390,12 +501,24 @@ void *aligned_alloc_host( PropList); } -void *aligned_alloc_host( - size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList = {} +void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), + alloc::host, CL, property_list{}); +} + +void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -405,12 +528,25 @@ void *aligned_alloc_host( alloc::host, CL, PropList); } -void *aligned_alloc_shared( - size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList = {} +void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, + CL, property_list{}); +} + +void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -420,12 +556,25 @@ void *aligned_alloc_shared( CL, PropList); } -void *aligned_alloc_shared( - size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList = {} +void *aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), alloc::shared, CL, + property_list{}); +} + +void *aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -438,10 +587,10 @@ void *aligned_alloc_shared( // single form void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, - const property_list &PropList = {} + const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA , - const detail::code_location &CL = detail::code_location::current() + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -458,11 +607,55 @@ void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, return RetVal; } +void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + void *RetVal = nullptr; + + if (Kind == alloc::host) { + RetVal = + detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, CL, property_list{}); + } else { + RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, CL, + property_list{}); + } + + return RetVal; +} + +void *malloc(size_t Size, const queue &Q, alloc Kind +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + void *RetVal = nullptr; + + if (Kind == alloc::host) { + RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, CL, + property_list{}); + } else { + RetVal = detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + Kind, CL, property_list{}); + } + + return RetVal; +} + void *malloc(size_t Size, const queue &Q, alloc Kind, - const property_list &PropList = {} + const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA , - const detail::code_location &CL = detail::code_location::current() + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -481,13 +674,35 @@ void *malloc(size_t Size, const queue &Q, alloc Kind, return RetVal; } -void * -aligned_alloc(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind, - const property_list &PropList = {} +void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, alloc Kind #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + void *RetVal = nullptr; + + if (Kind == alloc::host) { + RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, CL, + property_list{}); + } else { + RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, CL, + property_list{}); + } + + return RetVal; +} + +void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, alloc Kind, + const property_list &PropList +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA @@ -506,12 +721,34 @@ aligned_alloc(size_t Alignment, size_t Size, const device &Dev, return RetVal; } -void * -aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, - const property_list &PropList = {} +void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CL +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CL = {}; +#endif + void *RetVal = nullptr; + + if (Kind == alloc::host) { + RetVal = detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), + Kind, CL, property_list{}); + } else { + RetVal = + detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), Kind, CL, property_list{}); + } + + return RetVal; +} + +void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, + const property_list &PropList #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() + , + const detail::code_location &CL #endif ) { #ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA From c1f507fccccc337839ced3c8a49d0c6701841fe9 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Wed, 27 Jul 2022 03:23:27 -0700 Subject: [PATCH 05/15] chmod sycl/include/sycl/usm/usm_allocator.hpp Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm/usm_allocator.hpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 sycl/include/sycl/usm/usm_allocator.hpp diff --git a/sycl/include/sycl/usm/usm_allocator.hpp b/sycl/include/sycl/usm/usm_allocator.hpp old mode 100755 new mode 100644 From 5c3949e7cac8959a30fbdb72eacf5a2c83404771 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Wed, 27 Jul 2022 03:31:58 -0700 Subject: [PATCH 06/15] clang-format sycl/include/sycl/usm/usm_allocator.hpp Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm/usm_allocator.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 sycl/include/sycl/usm/usm_allocator.hpp diff --git a/sycl/include/sycl/usm/usm_allocator.hpp b/sycl/include/sycl/usm/usm_allocator.hpp old mode 100644 new mode 100755 index 44e44451dc75f..4b5b3c4f5b1d3 --- a/sycl/include/sycl/usm/usm_allocator.hpp +++ b/sycl/include/sycl/usm/usm_allocator.hpp @@ -13,8 +13,8 @@ #include #include #include -#include #include +#include #include #include From e7bbd87782cf1fcf157e7ac7378ffa725602a9f2 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Wed, 27 Jul 2022 03:32:41 -0700 Subject: [PATCH 07/15] clang-format sycl/include/sycl/usm/usm_allocator.hpp Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm/usm_allocator.hpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 sycl/include/sycl/usm/usm_allocator.hpp diff --git a/sycl/include/sycl/usm/usm_allocator.hpp b/sycl/include/sycl/usm/usm_allocator.hpp old mode 100755 new mode 100644 From acaa40243ab1df69a174d0fc8c70274bdb710848 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Wed, 27 Jul 2022 03:49:54 -0700 Subject: [PATCH 08/15] made code_location argument configurable in template functions Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm.hpp | 176 +++++++++++++++++++++++++++++++------- 1 file changed, 144 insertions(+), 32 deletions(-) diff --git a/sycl/include/sycl/usm.hpp b/sycl/include/sycl/usm.hpp index 8012aa9639d33..06e10dd809e3c 100644 --- a/sycl/include/sycl/usm.hpp +++ b/sycl/include/sycl/usm.hpp @@ -289,16 +289,30 @@ aligned_alloc(size_t alignment, size_t size, const queue &q, usm::alloc kind, template T *malloc_device( size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return static_cast(aligned_alloc_device(alignof(T), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); } template T *malloc_device( - size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + size_t Count, const queue &Q, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } @@ -306,8 +320,15 @@ T *malloc_device( template T *aligned_alloc_device( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return static_cast(aligned_alloc_device(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); @@ -316,40 +337,75 @@ T *aligned_alloc_device( template T *aligned_alloc_device( size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return aligned_alloc_device(Alignment, Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } template T *malloc_host( - size_t Count, const context &Ctxt, const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + size_t Count, const context &Ctxt, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return static_cast(aligned_alloc_host(alignof(T), Count * sizeof(T), Ctxt, PropList, CodeLoc)); } template T *malloc_host( - size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + size_t Count, const queue &Q, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return malloc_host(Count, Q.get_context(), PropList, CodeLoc); } template T *malloc_shared( size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return static_cast(aligned_alloc_shared(alignof(T), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); } template T *malloc_shared( - size_t Count, const queue &Q, const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + size_t Count, const queue &Q, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } @@ -357,8 +413,15 @@ T *malloc_shared( template T *aligned_alloc_host( size_t Alignment, size_t Count, const context &Ctxt, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return static_cast(aligned_alloc_host(std ::max(Alignment, alignof(T)), Count * sizeof(T), Ctxt, PropList, CodeLoc)); @@ -367,8 +430,15 @@ T *aligned_alloc_host( template T *aligned_alloc_host( size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, CodeLoc); } @@ -376,8 +446,15 @@ T *aligned_alloc_host( template T *aligned_alloc_shared( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return static_cast(aligned_alloc_shared(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); @@ -386,8 +463,15 @@ T *aligned_alloc_shared( template T *aligned_alloc_shared( size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return aligned_alloc_shared(Alignment, Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } @@ -395,8 +479,15 @@ T *aligned_alloc_shared( template T *malloc( size_t Count, const device &Dev, const context &Ctxt, usm::alloc Kind, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return static_cast(aligned_alloc(alignof(T), Count * sizeof(T), Dev, Ctxt, Kind, PropList, CodeLoc)); } @@ -404,8 +495,15 @@ T *malloc( template T *malloc( size_t Count, const queue &Q, usm::alloc Kind, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, CodeLoc); } @@ -413,8 +511,15 @@ T *malloc( template T *aligned_alloc( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - usm::alloc Kind, const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + usm::alloc Kind, const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return static_cast(aligned_alloc(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, Kind, PropList, CodeLoc)); @@ -423,8 +528,15 @@ T *aligned_alloc( template T *aligned_alloc( size_t Alignment, size_t Count, const queue &Q, usm::alloc Kind, - const property_list &PropList = {}, - const detail::code_location &CodeLoc = detail::code_location::current()) { + const property_list &PropList = {} +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA + , + const detail::code_location &CodeLoc = detail::code_location::current() +#endif +) { +#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA + const detail::code_location &CodeLoc = {}; +#endif return aligned_alloc(Alignment, Count, Q.get_device(), Q.get_context(), Kind, PropList, CodeLoc); } From ce0c81b114e394e892656c16557da23a1c99d086 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Wed, 27 Jul 2022 05:46:12 -0700 Subject: [PATCH 09/15] update symbols dump Signed-off-by: Sergey V Maslov --- sycl/test/abi/sycl_symbols_linux.dump | 105 +++++++++----------------- 1 file changed, 34 insertions(+), 71 deletions(-) diff --git a/sycl/test/abi/sycl_symbols_linux.dump b/sycl/test/abi/sycl_symbols_linux.dump index 149f3f243e254..59af07ee61366 100644 --- a/sycl/test/abi/sycl_symbols_linux.dump +++ b/sycl/test/abi/sycl_symbols_linux.dump @@ -3619,38 +3619,22 @@ _ZN2cl4sycl10level_zero12make_contextERKSt6vectorINS0_6deviceESaIS3_EEm _ZN2cl4sycl10level_zero12make_contextERKSt6vectorINS0_6deviceESaIS3_EEmb _ZN2cl4sycl10level_zero12make_programERKNS0_7contextEm _ZN2cl4sycl10level_zero13make_platformEm -_ZN2cl4sycl11malloc_hostEmRKNS0_5queueE -_ZN2cl4sycl11malloc_hostEmRKNS0_5queueENS0_6detail13code_locationE -_ZN2cl4sycl11malloc_hostEmRKNS0_5queueERKNS0_13property_listE -_ZN2cl4sycl11malloc_hostEmRKNS0_5queueERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl11malloc_hostEmRKNS0_7contextE -_ZN2cl4sycl11malloc_hostEmRKNS0_7contextENS0_6detail13code_locationE -_ZN2cl4sycl11malloc_hostEmRKNS0_7contextERKNS0_13property_listE -_ZN2cl4sycl11malloc_hostEmRKNS0_7contextERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl13aligned_allocEmmRKNS0_5queueENS0_3usm5allocE -_ZN2cl4sycl13aligned_allocEmmRKNS0_5queueENS0_3usm5allocENS0_6detail13code_locationE -_ZN2cl4sycl13aligned_allocEmmRKNS0_5queueENS0_3usm5allocERKNS0_13property_listE -_ZN2cl4sycl13aligned_allocEmmRKNS0_5queueENS0_3usm5allocERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl13aligned_allocEmmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocE -_ZN2cl4sycl13aligned_allocEmmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocENS0_6detail13code_locationE -_ZN2cl4sycl13aligned_allocEmmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocERKNS0_13property_listE -_ZN2cl4sycl13aligned_allocEmmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl13malloc_deviceEmRKNS0_5queueE -_ZN2cl4sycl13malloc_deviceEmRKNS0_5queueENS0_6detail13code_locationE -_ZN2cl4sycl13malloc_deviceEmRKNS0_5queueERKNS0_13property_listE -_ZN2cl4sycl13malloc_deviceEmRKNS0_5queueERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl13malloc_deviceEmRKNS0_6deviceERKNS0_7contextE -_ZN2cl4sycl13malloc_deviceEmRKNS0_6deviceERKNS0_7contextENS0_6detail13code_locationE -_ZN2cl4sycl13malloc_deviceEmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listE -_ZN2cl4sycl13malloc_deviceEmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl13malloc_sharedEmRKNS0_5queueE -_ZN2cl4sycl13malloc_sharedEmRKNS0_5queueENS0_6detail13code_locationE -_ZN2cl4sycl13malloc_sharedEmRKNS0_5queueERKNS0_13property_listE -_ZN2cl4sycl13malloc_sharedEmRKNS0_5queueERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl13malloc_sharedEmRKNS0_6deviceERKNS0_7contextE -_ZN2cl4sycl13malloc_sharedEmRKNS0_6deviceERKNS0_7contextENS0_6detail13code_locationE -_ZN2cl4sycl13malloc_sharedEmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listE -_ZN2cl4sycl13malloc_sharedEmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listENS0_6detail13code_locationE +_ZN2cl4sycl11malloc_hostEmRKNS0_5queueERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl11malloc_hostEmRKNS0_5queueERKNS0_6detail13code_locationE +_ZN2cl4sycl11malloc_hostEmRKNS0_7contextERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl11malloc_hostEmRKNS0_7contextERKNS0_6detail13code_locationE +_ZN2cl4sycl13aligned_allocEmmRKNS0_5queueENS0_3usm5allocERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl13aligned_allocEmmRKNS0_5queueENS0_3usm5allocERKNS0_6detail13code_locationE +_ZN2cl4sycl13aligned_allocEmmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl13aligned_allocEmmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocERKNS0_6detail13code_locationE +_ZN2cl4sycl13malloc_deviceEmRKNS0_5queueERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl13malloc_deviceEmRKNS0_5queueERKNS0_6detail13code_locationE +_ZN2cl4sycl13malloc_deviceEmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl13malloc_deviceEmRKNS0_6deviceERKNS0_7contextERKNS0_6detail13code_locationE +_ZN2cl4sycl13malloc_sharedEmRKNS0_5queueERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl13malloc_sharedEmRKNS0_5queueERKNS0_6detail13code_locationE +_ZN2cl4sycl13malloc_sharedEmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl13malloc_sharedEmRKNS0_6deviceERKNS0_7contextERKNS0_6detail13code_locationE _ZN2cl4sycl13sycl_categoryEv _ZN2cl4sycl14exception_list5ClearEv _ZN2cl4sycl14exception_list8PushBackEONSt15__exception_ptr13exception_ptrE @@ -3658,31 +3642,19 @@ _ZN2cl4sycl14exception_list8PushBackERKNSt15__exception_ptr13exception_ptrE _ZN2cl4sycl14get_kernel_idsEv _ZN2cl4sycl15make_error_codeENS0_4errcE _ZN2cl4sycl16get_pointer_typeEPKvRKNS0_7contextE -_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_5queueE -_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_5queueENS0_6detail13code_locationE -_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_5queueERKNS0_13property_listE -_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_5queueERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_7contextE -_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_7contextENS0_6detail13code_locationE -_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_7contextERKNS0_13property_listE -_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_7contextERKNS0_13property_listENS0_6detail13code_locationE +_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_5queueERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_5queueERKNS0_6detail13code_locationE +_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_7contextERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl18aligned_alloc_hostEmmRKNS0_7contextERKNS0_6detail13code_locationE _ZN2cl4sycl18get_pointer_deviceEPKvRKNS0_7contextE -_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_5queueE -_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_5queueENS0_6detail13code_locationE -_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_5queueERKNS0_13property_listE -_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_5queueERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_6deviceERKNS0_7contextE -_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_6deviceERKNS0_7contextENS0_6detail13code_locationE -_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listE -_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_5queueE -_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_5queueENS0_6detail13code_locationE -_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_5queueERKNS0_13property_listE -_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_5queueERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_6deviceERKNS0_7contextE -_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_6deviceERKNS0_7contextENS0_6detail13code_locationE -_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listE -_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listENS0_6detail13code_locationE +_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_5queueERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_5queueERKNS0_6detail13code_locationE +_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl20aligned_alloc_deviceEmmRKNS0_6deviceERKNS0_7contextERKNS0_6detail13code_locationE +_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_5queueERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_5queueERKNS0_6detail13code_locationE +_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_6deviceERKNS0_7contextERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl20aligned_alloc_sharedEmmRKNS0_6deviceERKNS0_7contextERKNS0_6detail13code_locationE _ZN2cl4sycl3ext5intel12experimental15online_compilerILNS3_15source_languageE0EE7compileIJSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISE_EEEEES8_IhSaIhEERKSE_DpRKT_ _ZN2cl4sycl3ext5intel12experimental15online_compilerILNS3_15source_languageE1EE7compileIJSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISE_EEEEES8_IhSaIhEERKSE_DpRKT_ _ZN2cl4sycl3ext5intel15online_compilerILNS2_15source_languageE0EE7compileIJSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISD_EEEEES7_IhSaIhEERKSD_DpRKT_ @@ -3701,10 +3673,8 @@ _ZN2cl4sycl3ext6oneapi15filter_selectorC2ERKNSt7__cxx1112basic_stringIcSt11char_ _ZN2cl4sycl3ext6oneapi6detail16reduGetMaxWGSizeESt10shared_ptrINS0_6detail10queue_implEEm _ZN2cl4sycl3ext6oneapi6detail17reduComputeWGSizeEmmRm _ZN2cl4sycl3ext6oneapi6detail33reduGetMaxNumConcurrentWorkGroupsESt10shared_ptrINS0_6detail10queue_implEE -_ZN2cl4sycl4freeEPvRKNS0_5queueE -_ZN2cl4sycl4freeEPvRKNS0_5queueENS0_6detail13code_locationE -_ZN2cl4sycl4freeEPvRKNS0_7contextE -_ZN2cl4sycl4freeEPvRKNS0_7contextENS0_6detail13code_locationE +_ZN2cl4sycl4freeEPvRKNS0_5queueERKNS0_6detail13code_locationE +_ZN2cl4sycl4freeEPvRKNS0_7contextERKNS0_6detail13code_locationE _ZN2cl4sycl5INTEL15online_compilerILNS1_15source_languageE0EE7compileIJSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISC_EEEEES6_IhSaIhEERKSC_DpRKT_ _ZN2cl4sycl5INTEL15online_compilerILNS1_15source_languageE1EE7compileIJSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaISC_EEEEES6_IhSaIhEERKSC_DpRKT_ _ZN2cl4sycl5event13get_wait_listEv @@ -3930,9 +3900,6 @@ _ZN2cl4sycl6detail2pi9getPluginILNS0_7backendE2EEERKNS1_6pluginEv _ZN2cl4sycl6detail2pi9getPluginILNS0_7backendE3EEERKNS1_6pluginEv _ZN2cl4sycl6detail2pi9getPluginILNS0_7backendE5EEERKNS1_6pluginEv _ZN2cl4sycl6detail36get_empty_interop_kernel_bundle_implERKNS0_7contextERKSt6vectorINS0_6deviceESaIS6_EE -_ZN2cl4sycl6detail3usm12alignedAllocEmmRKNS0_7contextERKNS0_6deviceENS0_3usm5allocE -_ZN2cl4sycl6detail3usm16alignedAllocHostEmmRKNS0_7contextENS0_3usm5allocE -_ZN2cl4sycl6detail3usm4freeEPvRKNS0_7contextE _ZN2cl4sycl6detail6OSUtil10getDirNameB5cxx11EPKc _ZN2cl4sycl6detail6OSUtil11alignedFreeEPv _ZN2cl4sycl6detail6OSUtil12alignedAllocEmm @@ -3954,14 +3921,10 @@ _ZN2cl4sycl6kernelC1EP10_cl_kernelRKNS0_7contextE _ZN2cl4sycl6kernelC1ESt10shared_ptrINS0_6detail11kernel_implEE _ZN2cl4sycl6kernelC2EP10_cl_kernelRKNS0_7contextE _ZN2cl4sycl6kernelC2ESt10shared_ptrINS0_6detail11kernel_implEE -_ZN2cl4sycl6mallocEmRKNS0_5queueENS0_3usm5allocE -_ZN2cl4sycl6mallocEmRKNS0_5queueENS0_3usm5allocENS0_6detail13code_locationE -_ZN2cl4sycl6mallocEmRKNS0_5queueENS0_3usm5allocERKNS0_13property_listE -_ZN2cl4sycl6mallocEmRKNS0_5queueENS0_3usm5allocERKNS0_13property_listENS0_6detail13code_locationE -_ZN2cl4sycl6mallocEmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocE -_ZN2cl4sycl6mallocEmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocENS0_6detail13code_locationE -_ZN2cl4sycl6mallocEmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocERKNS0_13property_listE -_ZN2cl4sycl6mallocEmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocERKNS0_13property_listENS0_6detail13code_locationE +_ZN2cl4sycl6mallocEmRKNS0_5queueENS0_3usm5allocERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl6mallocEmRKNS0_5queueENS0_3usm5allocERKNS0_6detail13code_locationE +_ZN2cl4sycl6mallocEmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocERKNS0_13property_listERKNS0_6detail13code_locationE +_ZN2cl4sycl6mallocEmRKNS0_6deviceERKNS0_7contextENS0_3usm5allocERKNS0_6detail13code_locationE _ZN2cl4sycl6opencl10make_queueERKNS0_7contextEm _ZN2cl4sycl6opencl11make_deviceEm _ZN2cl4sycl6opencl12make_contextEm From ccaae72569cbfe3701e37668965a3ec301da0040 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Thu, 28 Jul 2022 03:28:18 -0700 Subject: [PATCH 10/15] wrap with readable macros Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm.hpp | 634 ++++++++-------------------- sycl/source/detail/usm/usm_impl.cpp | 449 ++++++-------------- 2 files changed, 312 insertions(+), 771 deletions(-) diff --git a/sycl/include/sycl/usm.hpp b/sycl/include/sycl/usm.hpp index 06e10dd809e3c..287622896fb7f 100644 --- a/sycl/include/sycl/usm.hpp +++ b/sycl/include/sycl/usm.hpp @@ -14,532 +14,270 @@ #include +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA +#define __CODE_LOCATION_METADATA(...) \ + (__VA_ARGS__, \ + const detail::code_location & = detail::code_location::current()) +#define __START_CODE_LOCATION_METADATA_DEFAULT(CL, ...) \ + (__VA_ARGS__, \ + const detail::code_location &CL = detail::code_location::current()) { +#define __START_CODE_LOCATION_METADATA(CL, ...) \ + (__VA_ARGS__, const detail::code_location &CL) { +#else +#define __START_CODE_LOCATION_METADATA(CL, ...) \ + (__VA_ARGS__) { \ + const detail::code_location &CL = {}; +#define __START_CODE_LOCATION_METADATA_DEFAULT(CL, ...) \ + __START_CODE_LOCATION_METADATA(CL, __VA_ARGS__) +#endif +#define __END_CODE_LOCATION_METADATA } + __SYCL_INLINE_NAMESPACE(cl) { namespace sycl { /// // Explicit USM /// -__SYCL_EXPORT void * -malloc_device(size_t size, const device &dev, const context &ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_device(size_t size, const device &dev, const context &ctxt, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_device(size_t size, const queue &q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_device(size_t size, const queue &q, const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void *malloc_device __CODE_LOCATION_METADATA(size_t size, + const device &dev, + const context &ctxt); +__SYCL_EXPORT void *malloc_device +__CODE_LOCATION_METADATA(size_t size, const device &dev, const context &ctxt, + const property_list &propList); +__SYCL_EXPORT void *malloc_device __CODE_LOCATION_METADATA(size_t size, + const queue &q); +__SYCL_EXPORT void *malloc_device __CODE_LOCATION_METADATA( + size_t size, const queue &q, const property_list &propList); -__SYCL_EXPORT void *aligned_alloc_device( - size_t alignment, size_t size, const device &dev, const context &ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_device( - size_t alignment, size_t size, const device &dev, const context &ctxt, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_device( - size_t alignment, size_t size, const queue &q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_device( - size_t alignment, size_t size, const queue &q, const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void *aligned_alloc_device __CODE_LOCATION_METADATA( + size_t alignment, size_t size, const device &dev, const context &ctxt); +__SYCL_EXPORT void *aligned_alloc_device +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const device &dev, + const context &ctxt, const property_list &propList); +__SYCL_EXPORT void *aligned_alloc_device +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q); +__SYCL_EXPORT void *aligned_alloc_device +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q, + const property_list &propList); -__SYCL_EXPORT void -free(void *ptr, const context &ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void -free(void *ptr, const queue &q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void free __CODE_LOCATION_METADATA(void *ptr, + const context &ctxt); +__SYCL_EXPORT void free __CODE_LOCATION_METADATA(void *ptr, const queue &q); /// // Restricted USM /// -__SYCL_EXPORT void * -malloc_host(size_t size, const context &ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_host(size_t size, const context &ctxt, const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_host(size_t size, const queue &q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_host(size_t size, const queue &q, const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void *malloc_host __CODE_LOCATION_METADATA(size_t size, + const context &ctxt); +__SYCL_EXPORT void *malloc_host __CODE_LOCATION_METADATA( + size_t size, const context &ctxt, const property_list &propList); +__SYCL_EXPORT void *malloc_host __CODE_LOCATION_METADATA(size_t size, + const queue &q); +__SYCL_EXPORT void *malloc_host __CODE_LOCATION_METADATA( + size_t size, const queue &q, const property_list &propList); -__SYCL_EXPORT void * -malloc_shared(size_t size, const device &dev, const context &ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_shared(size_t size, const device &dev, const context &ctxt, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_shared(size_t size, const queue &q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc_shared(size_t size, const queue &q, const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void *malloc_shared __CODE_LOCATION_METADATA(size_t size, + const device &dev, + const context &ctxt); +__SYCL_EXPORT void *malloc_shared +__CODE_LOCATION_METADATA(size_t size, const device &dev, const context &ctxt, + const property_list &propList); +__SYCL_EXPORT void *malloc_shared __CODE_LOCATION_METADATA(size_t size, + const queue &q); +__SYCL_EXPORT void *malloc_shared __CODE_LOCATION_METADATA( + size_t size, const queue &q, const property_list &propList); -__SYCL_EXPORT void *aligned_alloc_host( - size_t alignment, size_t size, const context &ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_host( - size_t alignment, size_t size, const context &ctxt, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_host( - size_t alignment, size_t size, const queue &q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_host( - size_t alignment, size_t size, const queue &q, const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void *aligned_alloc_host +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const context &ctxt); +__SYCL_EXPORT void *aligned_alloc_host +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const context &ctxt, + const property_list &propList); +__SYCL_EXPORT void *aligned_alloc_host +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q); +__SYCL_EXPORT void *aligned_alloc_host +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q, + const property_list &propList); -__SYCL_EXPORT void *aligned_alloc_shared( - size_t alignment, size_t size, const device &dev, const context &ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_shared( - size_t alignment, size_t size, const device &dev, const context &ctxt, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_shared( - size_t alignment, size_t size, const queue &q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void *aligned_alloc_shared( - size_t alignment, size_t size, const queue &q, const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void *aligned_alloc_shared __CODE_LOCATION_METADATA( + size_t alignment, size_t size, const device &dev, const context &ctxt); +__SYCL_EXPORT void *aligned_alloc_shared +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const device &dev, + const context &ctxt, const property_list &propList); +__SYCL_EXPORT void *aligned_alloc_shared +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q); +__SYCL_EXPORT void *aligned_alloc_shared +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q, + const property_list &propList); /// // single form /// -__SYCL_EXPORT void * -malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc(size_t size, const queue &q, usm::alloc kind -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -malloc(size_t size, const queue &q, usm::alloc kind, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void *malloc __CODE_LOCATION_METADATA(size_t size, + const device &dev, + const context &ctxt, + usm::alloc kind); +__SYCL_EXPORT void *malloc +__CODE_LOCATION_METADATA(size_t size, const device &dev, const context &ctxt, + usm::alloc kind, const property_list &propList); +__SYCL_EXPORT void *malloc __CODE_LOCATION_METADATA(size_t size, const queue &q, + usm::alloc kind); +__SYCL_EXPORT void *malloc +__CODE_LOCATION_METADATA(size_t size, const queue &q, usm::alloc kind, + const property_list &propList); -__SYCL_EXPORT void * -aligned_alloc(size_t alignment, size_t size, const device &dev, - const context &ctxt, usm::alloc kind -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -aligned_alloc(size_t alignment, size_t size, const device &dev, - const context &ctxt, usm::alloc kind, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -aligned_alloc(size_t alignment, size_t size, const queue &q, usm::alloc kind -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); -__SYCL_EXPORT void * -aligned_alloc(size_t alignment, size_t size, const queue &q, usm::alloc kind, - const property_list &propList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL = detail::code_location::current() -#endif -); +__SYCL_EXPORT void *aligned_alloc __CODE_LOCATION_METADATA(size_t alignment, + size_t size, + const device &dev, + const context &ctxt, + usm::alloc kind); +__SYCL_EXPORT void *aligned_alloc __CODE_LOCATION_METADATA( + size_t alignment, size_t size, const device &dev, const context &ctxt, + usm::alloc kind, const property_list &propList); +__SYCL_EXPORT void *aligned_alloc __CODE_LOCATION_METADATA(size_t alignment, + size_t size, + const queue &q, + usm::alloc kind); +__SYCL_EXPORT void *aligned_alloc +__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q, + usm::alloc kind, const property_list &propList); /// // Template forms /// template -T *malloc_device( - size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif +T *malloc_device __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Count, const device &Dev, const context &Ctxt, + const property_list &PropList = {}) { return static_cast(aligned_alloc_device(alignof(T), Count * sizeof(T), - Dev, Ctxt, PropList, CodeLoc)); + Dev, Ctxt, PropList, CL)); } +__END_CODE_LOCATION_METADATA template -T *malloc_device( - size_t Count, const queue &Q, const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, - CodeLoc); +T *malloc_device __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Count, const queue &Q, const property_list &PropList = {}) { + return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, CL); } +__END_CODE_LOCATION_METADATA template -T *aligned_alloc_device( - size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return static_cast(aligned_alloc_device(max(Alignment, alignof(T)), - Count * sizeof(T), Dev, Ctxt, - PropList, CodeLoc)); +T *aligned_alloc_device __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, + const property_list &PropList = {}) { + return static_cast(aligned_alloc_device( + max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CL)); } +__END_CODE_LOCATION_METADATA template -T *aligned_alloc_device( - size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif +T *aligned_alloc_device __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Alignment, size_t Count, const queue &Q, + const property_list &PropList = {}) { return aligned_alloc_device(Alignment, Count, Q.get_device(), - Q.get_context(), PropList, CodeLoc); + Q.get_context(), PropList, CL); } +__END_CODE_LOCATION_METADATA template -T *malloc_host( - size_t Count, const context &Ctxt, const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return static_cast(aligned_alloc_host(alignof(T), Count * sizeof(T), - Ctxt, PropList, CodeLoc)); +T *malloc_host __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Count, const context &Ctxt, const property_list &PropList = {}) { + return static_cast( + aligned_alloc_host(alignof(T), Count * sizeof(T), Ctxt, PropList, CL)); } +__END_CODE_LOCATION_METADATA template -T *malloc_host( - size_t Count, const queue &Q, const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return malloc_host(Count, Q.get_context(), PropList, CodeLoc); +T *malloc_host __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Count, const queue &Q, const property_list &PropList = {}) { + return malloc_host(Count, Q.get_context(), PropList, CL); } +__END_CODE_LOCATION_METADATA template -T *malloc_shared( - size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif +T *malloc_shared __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Count, const device &Dev, const context &Ctxt, + const property_list &PropList = {}) { return static_cast(aligned_alloc_shared(alignof(T), Count * sizeof(T), - Dev, Ctxt, PropList, CodeLoc)); + Dev, Ctxt, PropList, CL)); } +__END_CODE_LOCATION_METADATA template -T *malloc_shared( - size_t Count, const queue &Q, const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, - CodeLoc); +T *malloc_shared __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Count, const queue &Q, const property_list &PropList = {}) { + return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, CL); } +__END_CODE_LOCATION_METADATA template -T *aligned_alloc_host( - size_t Alignment, size_t Count, const context &Ctxt, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return static_cast(aligned_alloc_host(std ::max(Alignment, alignof(T)), - Count * sizeof(T), Ctxt, PropList, - CodeLoc)); +T *aligned_alloc_host __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Alignment, size_t Count, const context &Ctxt, + const property_list &PropList = {}) { + return static_cast(aligned_alloc_host( + std ::max(Alignment, alignof(T)), Count * sizeof(T), Ctxt, PropList, CL)); } +__END_CODE_LOCATION_METADATA template -T *aligned_alloc_host( - size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, - CodeLoc); +T *aligned_alloc_host __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Alignment, size_t Count, const queue &Q, + const property_list &PropList = {}) { + return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, CL); } +__END_CODE_LOCATION_METADATA template -T *aligned_alloc_shared( - size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return static_cast(aligned_alloc_shared(max(Alignment, alignof(T)), - Count * sizeof(T), Dev, Ctxt, - PropList, CodeLoc)); +T *aligned_alloc_shared __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, + const property_list &PropList = {}) { + return static_cast(aligned_alloc_shared( + max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CL)); } +__END_CODE_LOCATION_METADATA template -T *aligned_alloc_shared( - size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif +T *aligned_alloc_shared __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Alignment, size_t Count, const queue &Q, + const property_list &PropList = {}) { return aligned_alloc_shared(Alignment, Count, Q.get_device(), - Q.get_context(), PropList, CodeLoc); + Q.get_context(), PropList, CL); } +__END_CODE_LOCATION_METADATA template -T *malloc( - size_t Count, const device &Dev, const context &Ctxt, usm::alloc Kind, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif +T *malloc __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Count, const device &Dev, const context &Ctxt, usm::alloc Kind, + const property_list &PropList = {}) { return static_cast(aligned_alloc(alignof(T), Count * sizeof(T), Dev, - Ctxt, Kind, PropList, CodeLoc)); + Ctxt, Kind, PropList, CL)); } +__END_CODE_LOCATION_METADATA template -T *malloc( - size_t Count, const queue &Q, usm::alloc Kind, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif - return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, - CodeLoc); +T *malloc __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Count, const queue &Q, usm::alloc Kind, + const property_list &PropList = {}) { + return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, CL); } +__END_CODE_LOCATION_METADATA template -T *aligned_alloc( - size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - usm::alloc Kind, const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif +T *aligned_alloc __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, + usm::alloc Kind, const property_list &PropList = {}) { return static_cast(aligned_alloc(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, Kind, - PropList, CodeLoc)); + PropList, CL)); } +__END_CODE_LOCATION_METADATA template -T *aligned_alloc( - size_t Alignment, size_t Count, const queue &Q, usm::alloc Kind, - const property_list &PropList = {} -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CodeLoc = detail::code_location::current() -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CodeLoc = {}; -#endif +T *aligned_alloc __START_CODE_LOCATION_METADATA_DEFAULT( + CL, size_t Alignment, size_t Count, const queue &Q, usm::alloc Kind, + const property_list &PropList = {}) { return aligned_alloc(Alignment, Count, Q.get_device(), Q.get_context(), - Kind, PropList, CodeLoc); + Kind, PropList, CL); } +__END_CODE_LOCATION_METADATA // Pointer queries /// Query the allocation type from a USM pointer diff --git a/sycl/source/detail/usm/usm_impl.cpp b/sycl/source/detail/usm/usm_impl.cpp index 5d48b5cafc6a6..fc4b1b45a6021 100644 --- a/sycl/source/detail/usm/usm_impl.cpp +++ b/sycl/source/detail/usm/usm_impl.cpp @@ -235,367 +235,209 @@ void free(void *Ptr, const context &Ctxt, const detail::code_location &CL) { } // namespace usm } // namespace detail -void *malloc_device(size_t Size, const device &Dev, const context &Ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_device __START_CODE_LOCATION_METADATA(CL, size_t Size, + const device &Dev, + const context &Ctxt) { return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *malloc_device(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_device __START_CODE_LOCATION_METADATA( + CL, size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList) { return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *malloc_device(size_t Size, const queue &Q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_device __START_CODE_LOCATION_METADATA(CL, size_t Size, + const queue &Q) { return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), alloc::device, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *malloc_device(size_t Size, const queue &Q, const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_device __START_CODE_LOCATION_METADATA( + CL, size_t Size, const queue &Q, const property_list &PropList) { return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), alloc::device, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_device __START_CODE_LOCATION_METADATA(CL, size_t Alignment, + size_t Size, + const device &Dev, + const context &Ctxt) { return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_device __START_CODE_LOCATION_METADATA( + CL, size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList) { return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_device __START_CODE_LOCATION_METADATA(CL, size_t Alignment, + size_t Size, + const queue &Q) { return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::device, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_device +__START_CODE_LOCATION_METADATA(CL, size_t Alignment, size_t Size, + const queue &Q, const property_list &PropList) { return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::device, CL, PropList); } +__END_CODE_LOCATION_METADATA -void free(void *ptr, const context &Ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void free __START_CODE_LOCATION_METADATA(CL, void *ptr, const context &Ctxt) { return detail::usm::free(ptr, Ctxt, CL); } +__END_CODE_LOCATION_METADATA -void free(void *ptr, const queue &Q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void free __START_CODE_LOCATION_METADATA(CL, void *ptr, const queue &Q) { return detail::usm::free(ptr, Q.get_context(), CL); } +__END_CODE_LOCATION_METADATA -void *malloc_host(size_t Size, const context &Ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_host __START_CODE_LOCATION_METADATA(CL, size_t Size, + const context &Ctxt) { return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *malloc_host(size_t Size, const context &Ctxt, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_host __START_CODE_LOCATION_METADATA( + CL, size_t Size, const context &Ctxt, const property_list &PropList) { return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *malloc_host(size_t Size, const queue &Q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_host __START_CODE_LOCATION_METADATA(CL, size_t Size, + const queue &Q) { return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *malloc_host(size_t Size, const queue &Q, const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_host __START_CODE_LOCATION_METADATA( + CL, size_t Size, const queue &Q, const property_list &PropList) { return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_shared __START_CODE_LOCATION_METADATA(CL, size_t Size, + const device &Dev, + const context &Ctxt) { return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_shared __START_CODE_LOCATION_METADATA( + CL, size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList) { return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *malloc_shared(size_t Size, const queue &Q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_shared __START_CODE_LOCATION_METADATA(CL, size_t Size, + const queue &Q) { return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), alloc::shared, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *malloc_shared(size_t Size, const queue &Q, const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc_shared __START_CODE_LOCATION_METADATA( + CL, size_t Size, const queue &Q, const property_list &PropList) { return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), alloc::shared, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_host __START_CODE_LOCATION_METADATA(CL, size_t Alignment, + size_t Size, + const context &Ctxt) { return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_host __START_CODE_LOCATION_METADATA( + CL, size_t Alignment, size_t Size, const context &Ctxt, + const property_list &PropList) { return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_host __START_CODE_LOCATION_METADATA(CL, size_t Alignment, + size_t Size, + const queue &Q) { return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), alloc::host, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_host +__START_CODE_LOCATION_METADATA(CL, size_t Alignment, size_t Size, + const queue &Q, const property_list &PropList) { return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), alloc::host, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_shared __START_CODE_LOCATION_METADATA(CL, size_t Alignment, + size_t Size, + const device &Dev, + const context &Ctxt) { return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_shared __START_CODE_LOCATION_METADATA( + CL, size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList) { return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, CL, PropList); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_shared __START_CODE_LOCATION_METADATA(CL, size_t Alignment, + size_t Size, + const queue &Q) { return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::shared, CL, property_list{}); } +__END_CODE_LOCATION_METADATA -void *aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc_shared +__START_CODE_LOCATION_METADATA(CL, size_t Alignment, size_t Size, + const queue &Q, const property_list &PropList) { return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::shared, CL, PropList); } +__END_CODE_LOCATION_METADATA // single form -void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc __START_CODE_LOCATION_METADATA(CL, size_t Size, const device &Dev, + const context &Ctxt, alloc Kind, + const property_list &PropList) { void *RetVal = nullptr; if (Kind == alloc::host) { @@ -606,16 +448,10 @@ void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, return RetVal; } +__END_CODE_LOCATION_METADATA -void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc __START_CODE_LOCATION_METADATA(CL, size_t Size, const device &Dev, + const context &Ctxt, alloc Kind) { void *RetVal = nullptr; if (Kind == alloc::host) { @@ -628,16 +464,10 @@ void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind return RetVal; } +__END_CODE_LOCATION_METADATA -void *malloc(size_t Size, const queue &Q, alloc Kind -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc __START_CODE_LOCATION_METADATA(CL, size_t Size, const queue &Q, + alloc Kind) { void *RetVal = nullptr; if (Kind == alloc::host) { @@ -650,17 +480,11 @@ void *malloc(size_t Size, const queue &Q, alloc Kind return RetVal; } +__END_CODE_LOCATION_METADATA -void *malloc(size_t Size, const queue &Q, alloc Kind, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *malloc __START_CODE_LOCATION_METADATA(CL, size_t Size, const queue &Q, + alloc Kind, + const property_list &PropList) { void *RetVal = nullptr; if (Kind == alloc::host) { @@ -673,17 +497,13 @@ void *malloc(size_t Size, const queue &Q, alloc Kind, return RetVal; } +__END_CODE_LOCATION_METADATA -void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc __START_CODE_LOCATION_METADATA(CL, size_t Alignment, + size_t Size, + const device &Dev, + const context &Ctxt, + alloc Kind) { void *RetVal = nullptr; if (Kind == alloc::host) { @@ -696,18 +516,11 @@ void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, return RetVal; } +__END_CODE_LOCATION_METADATA -void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc __START_CODE_LOCATION_METADATA( + CL, size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, + alloc Kind, const property_list &PropList) { void *RetVal = nullptr; if (Kind == alloc::host) { @@ -720,16 +533,11 @@ void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, return RetVal; } +__END_CODE_LOCATION_METADATA -void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc __START_CODE_LOCATION_METADATA(CL, size_t Alignment, + size_t Size, const queue &Q, + alloc Kind) { void *RetVal = nullptr; if (Kind == alloc::host) { @@ -743,17 +551,11 @@ void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind return RetVal; } +__END_CODE_LOCATION_METADATA -void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, - const property_list &PropList -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA - , - const detail::code_location &CL -#endif -) { -#ifdef DISABLE_SYCL_INSTRUMENTATION_METADATA - const detail::code_location &CL = {}; -#endif +void *aligned_alloc __START_CODE_LOCATION_METADATA( + CL, size_t Alignment, size_t Size, const queue &Q, alloc Kind, + const property_list &PropList) { void *RetVal = nullptr; if (Kind == alloc::host) { @@ -766,6 +568,7 @@ void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, return RetVal; } +__END_CODE_LOCATION_METADATA // Pointer queries /// Query the allocation type from a USM pointer From dc7bb2b1eed92159186e7e077b8105d202740e2d Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Thu, 28 Jul 2022 07:54:09 -0700 Subject: [PATCH 11/15] added comments about macros Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sycl/include/sycl/usm.hpp b/sycl/include/sycl/usm.hpp index 287622896fb7f..9e7aa3ca2a277 100644 --- a/sycl/include/sycl/usm.hpp +++ b/sycl/include/sycl/usm.hpp @@ -14,6 +14,12 @@ #include +// The C++ FE may instrument USM calls with code location metadata. +// If it does then that will appear as an extra last argument. +// If it does not then we use dummy default initialized code location. +// The below macros provide the machinery to make code more readable +// whenever this metadata is used. +// #ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA #define __CODE_LOCATION_METADATA(...) \ (__VA_ARGS__, \ From f268e65ae53a1d99121156ff66c2376a7f7cb1a8 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Mon, 1 Aug 2022 08:53:42 -0700 Subject: [PATCH 12/15] address more comments Signed-off-by: Sergey V Maslov --- sycl/include/sycl/detail/common.hpp | 24 ++ sycl/include/sycl/queue.hpp | 32 +-- sycl/include/sycl/usm.hpp | 323 ++++++++++++------------- sycl/source/detail/usm/usm_impl.cpp | 352 +++++++++++++--------------- 4 files changed, 341 insertions(+), 390 deletions(-) diff --git a/sycl/include/sycl/detail/common.hpp b/sycl/include/sycl/detail/common.hpp index 4f6af2cc4090d..9bc3b13613356 100644 --- a/sycl/include/sycl/detail/common.hpp +++ b/sycl/include/sycl/detail/common.hpp @@ -83,6 +83,30 @@ struct code_location { unsigned long MLineNo; unsigned long MColumnNo; }; + +// The C++ FE may instrument user calls with code location metadata. +// If it does then that will appear as an extra last argument. +// Having _TWO_ mid-param #ifdefs makes the functions very difficult to read. +// Here we simplify the &CodeLoc declaration to be _CODELOCPARAM(&CodeLoc) and +// _CODELOCARG(&CodeLoc). + +#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA +#define _CODELOCONLYPARAM(a) \ + const detail::code_location a = detail::code_location::current() +#define _CODELOCPARAM(a) \ + , const detail::code_location a = detail::code_location::current() +#define _CODELOCPARAMDEF(a) , const detail::code_location a + +#define _CODELOCARG(a) +#define _CODELOCFW(a) , a +#else +#define _CODELOCONLYPARAM(a) +#define _CODELOCPARAM(a) + +#define _CODELOCARG(a) const detail::code_location a = {} +#define _CODELOCFW(a) +#endif + } // namespace detail } // namespace sycl } // __SYCL_INLINE_NAMESPACE(cl) diff --git a/sycl/include/sycl/queue.hpp b/sycl/include/sycl/queue.hpp index 3f3f135e653d9..e5f7510d20c4a 100644 --- a/sycl/include/sycl/queue.hpp +++ b/sycl/include/sycl/queue.hpp @@ -32,33 +32,9 @@ #include // having _TWO_ mid-param #ifdefs makes the functions very difficult to read. -// Here we simplify the &CodeLoc declaration to be _CODELOCPARAM(&CodeLoc) and -// _CODELOCARG(&CodeLoc) Similarly, the KernelFunc param is simplified to be +// Here we simplify the KernelFunc param is simplified to be // _KERNELFUNCPARAM(KernelFunc) Once the queue kernel functions are defined, // these macros are #undef immediately. - -// replace _CODELOCPARAM(&CodeLoc) with nothing -// or : , const detail::code_location &CodeLoc = -// detail::code_location::current() -// replace _CODELOCARG(&CodeLoc) with nothing -// or : const detail::code_location &CodeLoc = {} - -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA -#define _CODELOCONLYPARAM(a) \ - const detail::code_location a = detail::code_location::current() -#define _CODELOCPARAM(a) \ - , const detail::code_location a = detail::code_location::current() - -#define _CODELOCARG(a) -#define _CODELOCFW(a) , a -#else -#define _CODELOCONLYPARAM(a) -#define _CODELOCPARAM(a) - -#define _CODELOCARG(a) const detail::code_location a = {} -#define _CODELOCFW(a) -#endif - // replace _KERNELFUNCPARAM(KernelFunc) with KernelType KernelFunc // or const KernelType &KernelFunc #ifdef __SYCL_NONCONST_FUNCTOR__ @@ -1081,11 +1057,7 @@ class __SYCL_EXPORT queue { CodeLoc); } -// Clean up CODELOC and KERNELFUNC macros. -#undef _CODELOCPARAM -#undef _CODELOCONLYPARAM -#undef _CODELOCARG -#undef _CODELOCFW +// Clean KERNELFUNC macros. #undef _KERNELFUNCPARAM /// Returns whether the queue is in order or OoO diff --git a/sycl/include/sycl/usm.hpp b/sycl/include/sycl/usm.hpp index 9e7aa3ca2a277..f84b1f107e808 100644 --- a/sycl/include/sycl/usm.hpp +++ b/sycl/include/sycl/usm.hpp @@ -7,6 +7,7 @@ // ===--------------------------------------------------------------------=== // #pragma once +#include #include #include #include @@ -14,276 +15,254 @@ #include -// The C++ FE may instrument USM calls with code location metadata. -// If it does then that will appear as an extra last argument. -// If it does not then we use dummy default initialized code location. -// The below macros provide the machinery to make code more readable -// whenever this metadata is used. -// -#ifndef DISABLE_SYCL_INSTRUMENTATION_METADATA -#define __CODE_LOCATION_METADATA(...) \ - (__VA_ARGS__, \ - const detail::code_location & = detail::code_location::current()) -#define __START_CODE_LOCATION_METADATA_DEFAULT(CL, ...) \ - (__VA_ARGS__, \ - const detail::code_location &CL = detail::code_location::current()) { -#define __START_CODE_LOCATION_METADATA(CL, ...) \ - (__VA_ARGS__, const detail::code_location &CL) { -#else -#define __START_CODE_LOCATION_METADATA(CL, ...) \ - (__VA_ARGS__) { \ - const detail::code_location &CL = {}; -#define __START_CODE_LOCATION_METADATA_DEFAULT(CL, ...) \ - __START_CODE_LOCATION_METADATA(CL, __VA_ARGS__) -#endif -#define __END_CODE_LOCATION_METADATA } - __SYCL_INLINE_NAMESPACE(cl) { namespace sycl { /// // Explicit USM /// -__SYCL_EXPORT void *malloc_device __CODE_LOCATION_METADATA(size_t size, - const device &dev, - const context &ctxt); -__SYCL_EXPORT void *malloc_device -__CODE_LOCATION_METADATA(size_t size, const device &dev, const context &ctxt, - const property_list &propList); -__SYCL_EXPORT void *malloc_device __CODE_LOCATION_METADATA(size_t size, - const queue &q); -__SYCL_EXPORT void *malloc_device __CODE_LOCATION_METADATA( - size_t size, const queue &q, const property_list &propList); +__SYCL_EXPORT void *malloc_device(size_t size, const device &dev, + const context &ctxt _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +malloc_device(size_t size, const device &dev, const context &ctxt, + const property_list &propList _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *malloc_device(size_t size, + const queue &q _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +malloc_device(size_t size, const queue &q, + const property_list &propList _CODELOCPARAM(&CL)); -__SYCL_EXPORT void *aligned_alloc_device __CODE_LOCATION_METADATA( - size_t alignment, size_t size, const device &dev, const context &ctxt); -__SYCL_EXPORT void *aligned_alloc_device -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const device &dev, - const context &ctxt, const property_list &propList); -__SYCL_EXPORT void *aligned_alloc_device -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q); -__SYCL_EXPORT void *aligned_alloc_device -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q, - const property_list &propList); +__SYCL_EXPORT void * +aligned_alloc_device(size_t alignment, size_t size, const device &dev, + const context &ctxt _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +aligned_alloc_device(size_t alignment, size_t size, const device &dev, + const context &ctxt, + const property_list &propList _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *aligned_alloc_device(size_t alignment, size_t size, + const queue &q _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +aligned_alloc_device(size_t alignment, size_t size, const queue &q, + const property_list &propList _CODELOCPARAM(&CL)); -__SYCL_EXPORT void free __CODE_LOCATION_METADATA(void *ptr, - const context &ctxt); -__SYCL_EXPORT void free __CODE_LOCATION_METADATA(void *ptr, const queue &q); +__SYCL_EXPORT void free(void *ptr, const context &ctxt _CODELOCPARAM(&CL)); +__SYCL_EXPORT void free(void *ptr, const queue &q _CODELOCPARAM(&CL)); /// // Restricted USM /// -__SYCL_EXPORT void *malloc_host __CODE_LOCATION_METADATA(size_t size, - const context &ctxt); -__SYCL_EXPORT void *malloc_host __CODE_LOCATION_METADATA( - size_t size, const context &ctxt, const property_list &propList); -__SYCL_EXPORT void *malloc_host __CODE_LOCATION_METADATA(size_t size, - const queue &q); -__SYCL_EXPORT void *malloc_host __CODE_LOCATION_METADATA( - size_t size, const queue &q, const property_list &propList); +__SYCL_EXPORT void *malloc_host(size_t size, + const context &ctxt _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +malloc_host(size_t size, const context &ctxt, + const property_list &propList _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *malloc_host(size_t size, const queue &q _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +malloc_host(size_t size, const queue &q, + const property_list &propList _CODELOCPARAM(&CL)); -__SYCL_EXPORT void *malloc_shared __CODE_LOCATION_METADATA(size_t size, - const device &dev, - const context &ctxt); -__SYCL_EXPORT void *malloc_shared -__CODE_LOCATION_METADATA(size_t size, const device &dev, const context &ctxt, - const property_list &propList); -__SYCL_EXPORT void *malloc_shared __CODE_LOCATION_METADATA(size_t size, - const queue &q); -__SYCL_EXPORT void *malloc_shared __CODE_LOCATION_METADATA( - size_t size, const queue &q, const property_list &propList); +__SYCL_EXPORT void *malloc_shared(size_t size, const device &dev, + const context &ctxt _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +malloc_shared(size_t size, const device &dev, const context &ctxt, + const property_list &propList _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *malloc_shared(size_t size, + const queue &q _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +malloc_shared(size_t size, const queue &q, + const property_list &propList _CODELOCPARAM(&CL)); -__SYCL_EXPORT void *aligned_alloc_host -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const context &ctxt); -__SYCL_EXPORT void *aligned_alloc_host -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const context &ctxt, - const property_list &propList); -__SYCL_EXPORT void *aligned_alloc_host -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q); -__SYCL_EXPORT void *aligned_alloc_host -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q, - const property_list &propList); +__SYCL_EXPORT void *aligned_alloc_host(size_t alignment, size_t size, + const context &ctxt _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +aligned_alloc_host(size_t alignment, size_t size, const context &ctxt, + const property_list &propList _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *aligned_alloc_host(size_t alignment, size_t size, + const queue &q _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +aligned_alloc_host(size_t alignment, size_t size, const queue &q, + const property_list &propList _CODELOCPARAM(&CL)); -__SYCL_EXPORT void *aligned_alloc_shared __CODE_LOCATION_METADATA( - size_t alignment, size_t size, const device &dev, const context &ctxt); -__SYCL_EXPORT void *aligned_alloc_shared -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const device &dev, - const context &ctxt, const property_list &propList); -__SYCL_EXPORT void *aligned_alloc_shared -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q); -__SYCL_EXPORT void *aligned_alloc_shared -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q, - const property_list &propList); +__SYCL_EXPORT void * +aligned_alloc_shared(size_t alignment, size_t size, const device &dev, + const context &ctxt _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +aligned_alloc_shared(size_t alignment, size_t size, const device &dev, + const context &ctxt, + const property_list &propList _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *aligned_alloc_shared(size_t alignment, size_t size, + const queue &q _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +aligned_alloc_shared(size_t alignment, size_t size, const queue &q, + const property_list &propList _CODELOCPARAM(&CL)); /// // single form /// -__SYCL_EXPORT void *malloc __CODE_LOCATION_METADATA(size_t size, - const device &dev, - const context &ctxt, - usm::alloc kind); -__SYCL_EXPORT void *malloc -__CODE_LOCATION_METADATA(size_t size, const device &dev, const context &ctxt, - usm::alloc kind, const property_list &propList); -__SYCL_EXPORT void *malloc __CODE_LOCATION_METADATA(size_t size, const queue &q, - usm::alloc kind); -__SYCL_EXPORT void *malloc -__CODE_LOCATION_METADATA(size_t size, const queue &q, usm::alloc kind, - const property_list &propList); +__SYCL_EXPORT void *malloc(size_t size, const device &dev, const context &ctxt, + usm::alloc kind _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *malloc(size_t size, const device &dev, const context &ctxt, + usm::alloc kind, + const property_list &propList _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *malloc(size_t size, const queue &q, + usm::alloc kind _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *malloc(size_t size, const queue &q, usm::alloc kind, + const property_list &propList _CODELOCPARAM(&CL)); -__SYCL_EXPORT void *aligned_alloc __CODE_LOCATION_METADATA(size_t alignment, - size_t size, - const device &dev, - const context &ctxt, - usm::alloc kind); -__SYCL_EXPORT void *aligned_alloc __CODE_LOCATION_METADATA( - size_t alignment, size_t size, const device &dev, const context &ctxt, - usm::alloc kind, const property_list &propList); -__SYCL_EXPORT void *aligned_alloc __CODE_LOCATION_METADATA(size_t alignment, - size_t size, - const queue &q, - usm::alloc kind); -__SYCL_EXPORT void *aligned_alloc -__CODE_LOCATION_METADATA(size_t alignment, size_t size, const queue &q, - usm::alloc kind, const property_list &propList); +__SYCL_EXPORT void *aligned_alloc(size_t alignment, size_t size, + const device &dev, const context &ctxt, + usm::alloc kind _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +aligned_alloc(size_t alignment, size_t size, const device &dev, + const context &ctxt, usm::alloc kind, + const property_list &propList _CODELOCPARAM(&CL)); +__SYCL_EXPORT void *aligned_alloc(size_t alignment, size_t size, const queue &q, + usm::alloc kind _CODELOCPARAM(&CL)); +__SYCL_EXPORT void * +aligned_alloc(size_t alignment, size_t size, const queue &q, usm::alloc kind, + const property_list &propList _CODELOCPARAM(&CL)); /// // Template forms /// template -T *malloc_device __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {}) { +T *malloc_device( + size_t Count, const device &Dev, const context &Ctxt, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return static_cast(aligned_alloc_device(alignof(T), Count * sizeof(T), Dev, Ctxt, PropList, CL)); } -__END_CODE_LOCATION_METADATA template -T *malloc_device __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Count, const queue &Q, const property_list &PropList = {}) { +T *malloc_device( + size_t Count, const queue &Q, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, CL); } -__END_CODE_LOCATION_METADATA template -T *aligned_alloc_device __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {}) { +T *aligned_alloc_device( + size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return static_cast(aligned_alloc_device( max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CL)); } -__END_CODE_LOCATION_METADATA template -T *aligned_alloc_device __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {}) { +T *aligned_alloc_device( + size_t Alignment, size_t Count, const queue &Q, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return aligned_alloc_device(Alignment, Count, Q.get_device(), Q.get_context(), PropList, CL); } -__END_CODE_LOCATION_METADATA template -T *malloc_host __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Count, const context &Ctxt, const property_list &PropList = {}) { +T *malloc_host( + size_t Count, const context &Ctxt, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return static_cast( aligned_alloc_host(alignof(T), Count * sizeof(T), Ctxt, PropList, CL)); } -__END_CODE_LOCATION_METADATA template -T *malloc_host __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Count, const queue &Q, const property_list &PropList = {}) { +T *malloc_host( + size_t Count, const queue &Q, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return malloc_host(Count, Q.get_context(), PropList, CL); } -__END_CODE_LOCATION_METADATA template -T *malloc_shared __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {}) { +T *malloc_shared( + size_t Count, const device &Dev, const context &Ctxt, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return static_cast(aligned_alloc_shared(alignof(T), Count * sizeof(T), Dev, Ctxt, PropList, CL)); } -__END_CODE_LOCATION_METADATA template -T *malloc_shared __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Count, const queue &Q, const property_list &PropList = {}) { +T *malloc_shared( + size_t Count, const queue &Q, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, CL); } -__END_CODE_LOCATION_METADATA template -T *aligned_alloc_host __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Alignment, size_t Count, const context &Ctxt, - const property_list &PropList = {}) { +T *aligned_alloc_host( + size_t Alignment, size_t Count, const context &Ctxt, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return static_cast(aligned_alloc_host( std ::max(Alignment, alignof(T)), Count * sizeof(T), Ctxt, PropList, CL)); } -__END_CODE_LOCATION_METADATA template -T *aligned_alloc_host __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {}) { +T *aligned_alloc_host( + size_t Alignment, size_t Count, const queue &Q, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, CL); } -__END_CODE_LOCATION_METADATA template -T *aligned_alloc_shared __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {}) { +T *aligned_alloc_shared( + size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return static_cast(aligned_alloc_shared( max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CL)); } -__END_CODE_LOCATION_METADATA template -T *aligned_alloc_shared __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {}) { +T *aligned_alloc_shared( + size_t Alignment, size_t Count, const queue &Q, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return aligned_alloc_shared(Alignment, Count, Q.get_device(), Q.get_context(), PropList, CL); } -__END_CODE_LOCATION_METADATA template -T *malloc __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Count, const device &Dev, const context &Ctxt, usm::alloc Kind, - const property_list &PropList = {}) { +T *malloc( + size_t Count, const device &Dev, const context &Ctxt, usm::alloc Kind, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return static_cast(aligned_alloc(alignof(T), Count * sizeof(T), Dev, Ctxt, Kind, PropList, CL)); } -__END_CODE_LOCATION_METADATA template -T *malloc __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Count, const queue &Q, usm::alloc Kind, - const property_list &PropList = {}) { +T *malloc( + size_t Count, const queue &Q, usm::alloc Kind, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, CL); } -__END_CODE_LOCATION_METADATA template -T *aligned_alloc __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - usm::alloc Kind, const property_list &PropList = {}) { +T *aligned_alloc( + size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, + usm::alloc Kind, const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return static_cast(aligned_alloc(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, Kind, PropList, CL)); } -__END_CODE_LOCATION_METADATA template -T *aligned_alloc __START_CODE_LOCATION_METADATA_DEFAULT( - CL, size_t Alignment, size_t Count, const queue &Q, usm::alloc Kind, - const property_list &PropList = {}) { +T *aligned_alloc( + size_t Alignment, size_t Count, const queue &Q, usm::alloc Kind, + const property_list &PropList = {} _CODELOCPARAM(&CL)) { + _CODELOCARG(&CL); return aligned_alloc(Alignment, Count, Q.get_device(), Q.get_context(), Kind, PropList, CL); } -__END_CODE_LOCATION_METADATA // Pointer queries /// Query the allocation type from a USM pointer diff --git a/sycl/source/detail/usm/usm_impl.cpp b/sycl/source/detail/usm/usm_impl.cpp index fc4b1b45a6021..b1ef498e07bc7 100644 --- a/sycl/source/detail/usm/usm_impl.cpp +++ b/sycl/source/detail/usm/usm_impl.cpp @@ -46,8 +46,8 @@ namespace detail { namespace usm { void *alignedAllocHost(size_t Alignment, size_t Size, const context &Ctxt, - alloc Kind, const detail::code_location &CL, - const property_list &PropList) { + alloc Kind, const property_list &PropList, + const detail::code_location &CL) { XPTI_CREATE_TRACEPOINT(CL); void *RetVal = nullptr; if (Size == 0) @@ -113,9 +113,8 @@ void *alignedAllocHost(size_t Alignment, size_t Size, const context &Ctxt, } void *alignedAlloc(size_t Alignment, size_t Size, const context &Ctxt, - const device &Dev, alloc Kind, - const detail::code_location &CL, - const property_list &PropList) { + const device &Dev, alloc Kind, const property_list &PropList, + const detail::code_location &CL) { XPTI_CREATE_TRACEPOINT(CL); void *RetVal = nullptr; if (Size == 0) @@ -235,340 +234,317 @@ void free(void *Ptr, const context &Ctxt, const detail::code_location &CL) { } // namespace usm } // namespace detail -void *malloc_device __START_CODE_LOCATION_METADATA(CL, size_t Size, - const device &Dev, - const context &Ctxt) { - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, CL, - property_list{}); +void *malloc_device(size_t Size, const device &Dev, + const context &Ctxt _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *malloc_device __START_CODE_LOCATION_METADATA( - CL, size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList) { - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, CL, - PropList); +void *malloc_device(size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, PropList, + CL); } -__END_CODE_LOCATION_METADATA -void *malloc_device __START_CODE_LOCATION_METADATA(CL, size_t Size, - const queue &Q) { +void *malloc_device(size_t Size, const queue &Q _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - alloc::device, CL, property_list{}); + alloc::device, property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *malloc_device __START_CODE_LOCATION_METADATA( - CL, size_t Size, const queue &Q, const property_list &PropList) { +void *malloc_device(size_t Size, const queue &Q, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - alloc::device, CL, PropList); + alloc::device, PropList, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_device __START_CODE_LOCATION_METADATA(CL, size_t Alignment, - size_t Size, - const device &Dev, - const context &Ctxt) { +void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, - CL, property_list{}); + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_device __START_CODE_LOCATION_METADATA( - CL, size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList) { +void * +aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, - CL, PropList); + PropList, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_device __START_CODE_LOCATION_METADATA(CL, size_t Alignment, - size_t Size, - const queue &Q) { +void *aligned_alloc_device(size_t Alignment, size_t Size, + const queue &Q _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), alloc::device, CL, - property_list{}); + Q.get_device(), alloc::device, + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_device -__START_CODE_LOCATION_METADATA(CL, size_t Alignment, size_t Size, - const queue &Q, const property_list &PropList) { +void * +aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), alloc::device, CL, PropList); + Q.get_device(), alloc::device, PropList, CL); } -__END_CODE_LOCATION_METADATA -void free __START_CODE_LOCATION_METADATA(CL, void *ptr, const context &Ctxt) { +void free(void *ptr, const context &Ctxt _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::free(ptr, Ctxt, CL); } -__END_CODE_LOCATION_METADATA -void free __START_CODE_LOCATION_METADATA(CL, void *ptr, const queue &Q) { +void free(void *ptr, const queue &Q _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::free(ptr, Q.get_context(), CL); } -__END_CODE_LOCATION_METADATA -void *malloc_host __START_CODE_LOCATION_METADATA(CL, size_t Size, - const context &Ctxt) { - return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, CL, - property_list{}); +void *malloc_host(size_t Size, const context &Ctxt _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); + return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *malloc_host __START_CODE_LOCATION_METADATA( - CL, size_t Size, const context &Ctxt, const property_list &PropList) { - return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, CL, - PropList); +void *malloc_host(size_t Size, const context &Ctxt, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); + return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, PropList, + CL); } -__END_CODE_LOCATION_METADATA -void *malloc_host __START_CODE_LOCATION_METADATA(CL, size_t Size, - const queue &Q) { +void *malloc_host(size_t Size, const queue &Q _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, - CL, property_list{}); + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *malloc_host __START_CODE_LOCATION_METADATA( - CL, size_t Size, const queue &Q, const property_list &PropList) { +void *malloc_host(size_t Size, const queue &Q, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, - CL, PropList); + PropList, CL); } -__END_CODE_LOCATION_METADATA -void *malloc_shared __START_CODE_LOCATION_METADATA(CL, size_t Size, - const device &Dev, - const context &Ctxt) { - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, CL, - property_list{}); +void *malloc_shared(size_t Size, const device &Dev, + const context &Ctxt _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *malloc_shared __START_CODE_LOCATION_METADATA( - CL, size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList) { - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, CL, - PropList); +void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, PropList, + CL); } -__END_CODE_LOCATION_METADATA -void *malloc_shared __START_CODE_LOCATION_METADATA(CL, size_t Size, - const queue &Q) { +void *malloc_shared(size_t Size, const queue &Q _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - alloc::shared, CL, property_list{}); + alloc::shared, property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *malloc_shared __START_CODE_LOCATION_METADATA( - CL, size_t Size, const queue &Q, const property_list &PropList) { +void *malloc_shared(size_t Size, const queue &Q, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - alloc::shared, CL, PropList); + alloc::shared, PropList, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_host __START_CODE_LOCATION_METADATA(CL, size_t Alignment, - size_t Size, - const context &Ctxt) { - return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, CL, - property_list{}); +void *aligned_alloc_host(size_t Alignment, size_t Size, + const context &Ctxt _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); + return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_host __START_CODE_LOCATION_METADATA( - CL, size_t Alignment, size_t Size, const context &Ctxt, - const property_list &PropList) { - return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, CL, - PropList); +void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); + return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, + PropList, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_host __START_CODE_LOCATION_METADATA(CL, size_t Alignment, - size_t Size, - const queue &Q) { +void *aligned_alloc_host(size_t Alignment, size_t Size, + const queue &Q _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - alloc::host, CL, property_list{}); + alloc::host, property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_host -__START_CODE_LOCATION_METADATA(CL, size_t Alignment, size_t Size, - const queue &Q, const property_list &PropList) { +void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - alloc::host, CL, PropList); + alloc::host, PropList, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_shared __START_CODE_LOCATION_METADATA(CL, size_t Alignment, - size_t Size, - const device &Dev, - const context &Ctxt) { +void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, - CL, property_list{}); + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_shared __START_CODE_LOCATION_METADATA( - CL, size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList) { +void * +aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, - CL, PropList); + PropList, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_shared __START_CODE_LOCATION_METADATA(CL, size_t Alignment, - size_t Size, - const queue &Q) { +void *aligned_alloc_shared(size_t Alignment, size_t Size, + const queue &Q _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), alloc::shared, CL, - property_list{}); + Q.get_device(), alloc::shared, + property_list{}, CL); } -__END_CODE_LOCATION_METADATA -void *aligned_alloc_shared -__START_CODE_LOCATION_METADATA(CL, size_t Alignment, size_t Size, - const queue &Q, const property_list &PropList) { +void * +aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), alloc::shared, CL, PropList); + Q.get_device(), alloc::shared, PropList, CL); } -__END_CODE_LOCATION_METADATA // single form -void *malloc __START_CODE_LOCATION_METADATA(CL, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind, - const property_list &PropList) { +void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, CL, PropList); + RetVal = detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, PropList, CL); } else { - RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, CL, PropList); + RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, PropList, CL); } return RetVal; } -__END_CODE_LOCATION_METADATA -void *malloc __START_CODE_LOCATION_METADATA(CL, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind) { +void *malloc(size_t Size, const device &Dev, const context &Ctxt, + alloc Kind _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); void *RetVal = nullptr; if (Kind == alloc::host) { RetVal = - detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, CL, property_list{}); + detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, property_list{}, CL); } else { - RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, CL, - property_list{}); + RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, + property_list{}, CL); } return RetVal; } -__END_CODE_LOCATION_METADATA -void *malloc __START_CODE_LOCATION_METADATA(CL, size_t Size, const queue &Q, - alloc Kind) { +void *malloc(size_t Size, const queue &Q, alloc Kind _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, CL, - property_list{}); + RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, + property_list{}, CL); } else { RetVal = detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - Kind, CL, property_list{}); + Kind, property_list{}, CL); } return RetVal; } -__END_CODE_LOCATION_METADATA -void *malloc __START_CODE_LOCATION_METADATA(CL, size_t Size, const queue &Q, - alloc Kind, - const property_list &PropList) { +void *malloc(size_t Size, const queue &Q, alloc Kind, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, CL, - PropList); + RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, + PropList, CL); } else { RetVal = detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - Kind, CL, PropList); + Kind, PropList, CL); } return RetVal; } -__END_CODE_LOCATION_METADATA -void *aligned_alloc __START_CODE_LOCATION_METADATA(CL, size_t Alignment, - size_t Size, - const device &Dev, - const context &Ctxt, - alloc Kind) { +void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, alloc Kind _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, CL, - property_list{}); + RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, + property_list{}, CL); } else { - RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, CL, - property_list{}); + RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, + property_list{}, CL); } return RetVal; } -__END_CODE_LOCATION_METADATA -void *aligned_alloc __START_CODE_LOCATION_METADATA( - CL, size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, - alloc Kind, const property_list &PropList) { +void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, + const context &Ctxt, alloc Kind, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + + _CODELOCARG(&CL); void *RetVal = nullptr; if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, CL, - PropList); + RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, + PropList, CL); } else { - RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, CL, - PropList); + RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, + PropList, CL); } return RetVal; } -__END_CODE_LOCATION_METADATA -void *aligned_alloc __START_CODE_LOCATION_METADATA(CL, size_t Alignment, - size_t Size, const queue &Q, - alloc Kind) { +void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, + alloc Kind _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); void *RetVal = nullptr; if (Kind == alloc::host) { RetVal = detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - Kind, CL, property_list{}); + Kind, property_list{}, CL); } else { RetVal = detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), Kind, CL, property_list{}); + Q.get_device(), Kind, property_list{}, CL); } return RetVal; } -__END_CODE_LOCATION_METADATA -void *aligned_alloc __START_CODE_LOCATION_METADATA( - CL, size_t Alignment, size_t Size, const queue &Q, alloc Kind, - const property_list &PropList) { +void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, + const property_list &PropList _CODELOCPARAMDEF(&CL)) { + _CODELOCARG(&CL); void *RetVal = nullptr; if (Kind == alloc::host) { RetVal = detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - Kind, CL, PropList); + Kind, PropList, CL); } else { RetVal = detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), Kind, CL, PropList); + Q.get_device(), Kind, PropList, CL); } return RetVal; } -__END_CODE_LOCATION_METADATA // Pointer queries /// Query the allocation type from a USM pointer From b28af2624b84a153f64fe11ebab4ca4eef472fbe Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Thu, 4 Aug 2022 02:12:51 -0700 Subject: [PATCH 13/15] update Windows symbols Signed-off-by: Sergey V Maslov --- sycl/test/abi/sycl_symbols_windows.dump | 105 ++++++++---------------- 1 file changed, 34 insertions(+), 71 deletions(-) diff --git a/sycl/test/abi/sycl_symbols_windows.dump b/sycl/test/abi/sycl_symbols_windows.dump index b076b148bd4e7..1ac8659c3b960 100644 --- a/sycl/test/abi/sycl_symbols_windows.dump +++ b/sycl/test/abi/sycl_symbols_windows.dump @@ -1096,41 +1096,23 @@ ?addStream@handler@sycl@cl@@AEAAXAEBV?$shared_ptr@Vstream_impl@detail@sycl@cl@@@std@@@Z ?advise_usm@MemoryManager@detail@sycl@cl@@SAXPEBXV?$shared_ptr@Vqueue_impl@detail@sycl@cl@@@std@@_KW4_pi_mem_advice@@V?$vector@PEAU_pi_event@@V?$allocator@PEAU_pi_event@@@std@@@6@PEAPEAU_pi_event@@@Z ?alignedAlloc@OSUtil@detail@sycl@cl@@SAPEAX_K0@Z -?alignedAlloc@usm@detail@sycl@cl@@YAPEAX_K0AEBVcontext@34@AEBVdevice@34@W4alloc@134@@Z -?alignedAllocHost@usm@detail@sycl@cl@@YAPEAX_K0AEBVcontext@34@W4alloc@134@@Z ?alignedFree@OSUtil@detail@sycl@cl@@SAXPEAX@Z -?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@@Z -?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@AEBVproperty_list@12@@Z -?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@Ucode_location@detail@12@@Z -?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVqueue@12@W4alloc@usm@12@@Z -?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVqueue@12@W4alloc@usm@12@AEBVproperty_list@12@@Z -?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVqueue@12@W4alloc@usm@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVqueue@12@W4alloc@usm@12@Ucode_location@detail@12@@Z -?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@@Z -?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@@Z -?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@Ucode_location@detail@12@@Z -?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVqueue@12@@Z -?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@@Z -?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVqueue@12@Ucode_location@detail@12@@Z -?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVcontext@12@@Z -?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVcontext@12@AEBVproperty_list@12@@Z -?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVcontext@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVcontext@12@Ucode_location@detail@12@@Z -?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVqueue@12@@Z -?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@@Z -?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVqueue@12@Ucode_location@detail@12@@Z -?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@@Z -?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@@Z -?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@Ucode_location@detail@12@@Z -?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVqueue@12@@Z -?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@@Z -?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVqueue@12@Ucode_location@detail@12@@Z +?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@AEBUcode_location@detail@12@@Z +?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVqueue@12@W4alloc@usm@12@AEBUcode_location@detail@12@@Z +?aligned_alloc@sycl@cl@@YAPEAX_K0AEBVqueue@12@W4alloc@usm@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_device@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVcontext@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVcontext@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_host@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBUcode_location@detail@12@@Z +?aligned_alloc_shared@sycl@cl@@YAPEAX_K0AEBVqueue@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z ?allocate@MemoryManager@detail@sycl@cl@@SAPEAXV?$shared_ptr@Vcontext_impl@detail@sycl@cl@@@std@@PEAVSYCLMemObjI@234@_NPEAXV?$vector@V?$shared_ptr@Vevent_impl@detail@sycl@cl@@@std@@V?$allocator@V?$shared_ptr@Vevent_impl@detail@sycl@cl@@@std@@@2@@6@AEAPEAU_pi_event@@@Z ?allocateBufferObject@MemoryManager@detail@sycl@cl@@SAPEAXV?$shared_ptr@Vcontext_impl@detail@sycl@cl@@@std@@PEAX_N_KAEBVproperty_list@34@@Z ?allocateHostMem@SYCLMemObjT@detail@sycl@cl@@UEAAPEAXXZ @@ -2101,11 +2083,8 @@ ?fract@__host_std@cl@@YA?AVhalf@half_impl@detail@sycl@2@V34562@PEAV34562@@Z ?fract@__host_std@cl@@YAMMPEAM@Z ?fract@__host_std@cl@@YANNPEAN@Z -?free@sycl@cl@@YAXPEAXAEBVcontext@12@@Z -?free@sycl@cl@@YAXPEAXAEBVcontext@12@Ucode_location@detail@12@@Z -?free@sycl@cl@@YAXPEAXAEBVqueue@12@@Z -?free@sycl@cl@@YAXPEAXAEBVqueue@12@Ucode_location@detail@12@@Z -?free@usm@detail@sycl@cl@@YAXPEAXAEBVcontext@34@@Z +?free@sycl@cl@@YAXPEAXAEBVcontext@12@AEBUcode_location@detail@12@@Z +?free@sycl@cl@@YAXPEAXAEBVqueue@12@AEBUcode_location@detail@12@@Z ?frexp@__host_std@cl@@YA?AV?$vec@M$00@sycl@2@V342@PEAV?$vec@H$00@42@@Z ?frexp@__host_std@cl@@YA?AV?$vec@M$01@sycl@2@V342@PEAV?$vec@H$01@42@@Z ?frexp@__host_std@cl@@YA?AV?$vec@M$02@sycl@2@V342@PEAV?$vec@H$02@42@@Z @@ -2701,38 +2680,22 @@ ?make_queue@level_zero@sycl@cl@@YA?AVqueue@23@AEBVcontext@23@_K@Z ?make_queue@level_zero@sycl@cl@@YA?AVqueue@23@AEBVcontext@23@_K_N@Z ?make_queue@opencl@sycl@cl@@YA?AVqueue@23@AEBVcontext@23@_K@Z -?malloc@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@@Z -?malloc@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@AEBVproperty_list@12@@Z -?malloc@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?malloc@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@Ucode_location@detail@12@@Z -?malloc@sycl@cl@@YAPEAX_KAEBVqueue@12@W4alloc@usm@12@@Z -?malloc@sycl@cl@@YAPEAX_KAEBVqueue@12@W4alloc@usm@12@AEBVproperty_list@12@@Z -?malloc@sycl@cl@@YAPEAX_KAEBVqueue@12@W4alloc@usm@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?malloc@sycl@cl@@YAPEAX_KAEBVqueue@12@W4alloc@usm@12@Ucode_location@detail@12@@Z -?malloc_device@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@@Z -?malloc_device@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@@Z -?malloc_device@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?malloc_device@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@Ucode_location@detail@12@@Z -?malloc_device@sycl@cl@@YAPEAX_KAEBVqueue@12@@Z -?malloc_device@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@@Z -?malloc_device@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?malloc_device@sycl@cl@@YAPEAX_KAEBVqueue@12@Ucode_location@detail@12@@Z -?malloc_host@sycl@cl@@YAPEAX_KAEBVcontext@12@@Z -?malloc_host@sycl@cl@@YAPEAX_KAEBVcontext@12@AEBVproperty_list@12@@Z -?malloc_host@sycl@cl@@YAPEAX_KAEBVcontext@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?malloc_host@sycl@cl@@YAPEAX_KAEBVcontext@12@Ucode_location@detail@12@@Z -?malloc_host@sycl@cl@@YAPEAX_KAEBVqueue@12@@Z -?malloc_host@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@@Z -?malloc_host@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?malloc_host@sycl@cl@@YAPEAX_KAEBVqueue@12@Ucode_location@detail@12@@Z -?malloc_shared@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@@Z -?malloc_shared@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@@Z -?malloc_shared@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?malloc_shared@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@Ucode_location@detail@12@@Z -?malloc_shared@sycl@cl@@YAPEAX_KAEBVqueue@12@@Z -?malloc_shared@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@@Z -?malloc_shared@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@Ucode_location@detail@12@@Z -?malloc_shared@sycl@cl@@YAPEAX_KAEBVqueue@12@Ucode_location@detail@12@@Z +?malloc@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@AEBUcode_location@detail@12@@Z +?malloc@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@W4alloc@usm@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?malloc@sycl@cl@@YAPEAX_KAEBVqueue@12@W4alloc@usm@12@AEBUcode_location@detail@12@@Z +?malloc@sycl@cl@@YAPEAX_KAEBVqueue@12@W4alloc@usm@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?malloc_device@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@AEBUcode_location@detail@12@@Z +?malloc_device@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?malloc_device@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBUcode_location@detail@12@@Z +?malloc_device@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?malloc_host@sycl@cl@@YAPEAX_KAEBVcontext@12@AEBUcode_location@detail@12@@Z +?malloc_host@sycl@cl@@YAPEAX_KAEBVcontext@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?malloc_host@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBUcode_location@detail@12@@Z +?malloc_host@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?malloc_shared@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@AEBUcode_location@detail@12@@Z +?malloc_shared@sycl@cl@@YAPEAX_KAEBVdevice@12@AEBVcontext@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z +?malloc_shared@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBUcode_location@detail@12@@Z +?malloc_shared@sycl@cl@@YAPEAX_KAEBVqueue@12@AEBVproperty_list@12@AEBUcode_location@detail@12@@Z ?map@MemoryManager@detail@sycl@cl@@SAPEAXPEAVSYCLMemObjI@234@PEAXV?$shared_ptr@Vqueue_impl@detail@sycl@cl@@@std@@W4mode@access@34@IV?$range@$02@34@4V?$id@$02@34@IV?$vector@PEAU_pi_event@@V?$allocator@PEAU_pi_event@@@std@@@7@AEAPEAU_pi_event@@@Z ?maxmag@__host_std@cl@@YA?AV?$vec@M$00@sycl@2@V342@0@Z ?maxmag@__host_std@cl@@YA?AV?$vec@M$01@sycl@2@V342@0@Z From f184627d3b198dd1de1c48923f97d460b8cd0193 Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Tue, 9 Aug 2022 06:03:54 -0700 Subject: [PATCH 14/15] renaming Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm.hpp | 164 +++++++------- sycl/source/detail/usm/usm_impl.cpp | 334 ++++++++++++---------------- 2 files changed, 224 insertions(+), 274 deletions(-) mode change 100644 => 100755 sycl/include/sycl/usm.hpp mode change 100644 => 100755 sycl/source/detail/usm/usm_impl.cpp diff --git a/sycl/include/sycl/usm.hpp b/sycl/include/sycl/usm.hpp old mode 100644 new mode 100755 index f84b1f107e808..9b2ed82e7b109 --- a/sycl/include/sycl/usm.hpp +++ b/sycl/include/sycl/usm.hpp @@ -21,105 +21,105 @@ namespace sycl { // Explicit USM /// __SYCL_EXPORT void *malloc_device(size_t size, const device &dev, - const context &ctxt _CODELOCPARAM(&CL)); + const context &ctxt _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * malloc_device(size_t size, const device &dev, const context &ctxt, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *malloc_device(size_t size, - const queue &q _CODELOCPARAM(&CL)); + const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * malloc_device(size_t size, const queue &q, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_device(size_t alignment, size_t size, const device &dev, - const context &ctxt _CODELOCPARAM(&CL)); + const context &ctxt _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_device(size_t alignment, size_t size, const device &dev, const context &ctxt, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *aligned_alloc_device(size_t alignment, size_t size, - const queue &q _CODELOCPARAM(&CL)); + const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_device(size_t alignment, size_t size, const queue &q, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); -__SYCL_EXPORT void free(void *ptr, const context &ctxt _CODELOCPARAM(&CL)); -__SYCL_EXPORT void free(void *ptr, const queue &q _CODELOCPARAM(&CL)); +__SYCL_EXPORT void free(void *ptr, const context &ctxt _CODELOCPARAM(&CodeLoc)); +__SYCL_EXPORT void free(void *ptr, const queue &q _CODELOCPARAM(&CodeLoc)); /// // Restricted USM /// __SYCL_EXPORT void *malloc_host(size_t size, - const context &ctxt _CODELOCPARAM(&CL)); + const context &ctxt _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * malloc_host(size_t size, const context &ctxt, - const property_list &propList _CODELOCPARAM(&CL)); -__SYCL_EXPORT void *malloc_host(size_t size, const queue &q _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); +__SYCL_EXPORT void *malloc_host(size_t size, const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * malloc_host(size_t size, const queue &q, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *malloc_shared(size_t size, const device &dev, - const context &ctxt _CODELOCPARAM(&CL)); + const context &ctxt _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * malloc_shared(size_t size, const device &dev, const context &ctxt, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *malloc_shared(size_t size, - const queue &q _CODELOCPARAM(&CL)); + const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * malloc_shared(size_t size, const queue &q, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *aligned_alloc_host(size_t alignment, size_t size, - const context &ctxt _CODELOCPARAM(&CL)); + const context &ctxt _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_host(size_t alignment, size_t size, const context &ctxt, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *aligned_alloc_host(size_t alignment, size_t size, - const queue &q _CODELOCPARAM(&CL)); + const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_host(size_t alignment, size_t size, const queue &q, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_shared(size_t alignment, size_t size, const device &dev, - const context &ctxt _CODELOCPARAM(&CL)); + const context &ctxt _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_shared(size_t alignment, size_t size, const device &dev, const context &ctxt, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *aligned_alloc_shared(size_t alignment, size_t size, - const queue &q _CODELOCPARAM(&CL)); + const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_shared(size_t alignment, size_t size, const queue &q, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); /// // single form /// __SYCL_EXPORT void *malloc(size_t size, const device &dev, const context &ctxt, - usm::alloc kind _CODELOCPARAM(&CL)); + usm::alloc kind _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *malloc(size_t size, const queue &q, - usm::alloc kind _CODELOCPARAM(&CL)); + usm::alloc kind _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *malloc(size_t size, const queue &q, usm::alloc kind, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *aligned_alloc(size_t alignment, size_t size, const device &dev, const context &ctxt, - usm::alloc kind _CODELOCPARAM(&CL)); + usm::alloc kind _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc(size_t alignment, size_t size, const device &dev, const context &ctxt, usm::alloc kind, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *aligned_alloc(size_t alignment, size_t size, const queue &q, - usm::alloc kind _CODELOCPARAM(&CL)); + usm::alloc kind _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc(size_t alignment, size_t size, const queue &q, usm::alloc kind, - const property_list &propList _CODELOCPARAM(&CL)); + const property_list &propList _CODELOCPARAM(&CodeLoc)); /// // Template forms @@ -127,141 +127,141 @@ aligned_alloc(size_t alignment, size_t size, const queue &q, usm::alloc kind, template T *malloc_device( size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return static_cast(aligned_alloc_device(alignof(T), Count * sizeof(T), - Dev, Ctxt, PropList, CL)); + Dev, Ctxt, PropList, CodeLoc)); } template T *malloc_device( size_t Count, const queue &Q, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); - return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } template T *aligned_alloc_device( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return static_cast(aligned_alloc_device( - max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CL)); + max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); } template T *aligned_alloc_device( size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return aligned_alloc_device(Alignment, Count, Q.get_device(), - Q.get_context(), PropList, CL); + Q.get_context(), PropList, CodeLoc); } template T *malloc_host( size_t Count, const context &Ctxt, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return static_cast( - aligned_alloc_host(alignof(T), Count * sizeof(T), Ctxt, PropList, CL)); + aligned_alloc_host(alignof(T), Count * sizeof(T), Ctxt, PropList, CodeLoc)); } template T *malloc_host( size_t Count, const queue &Q, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); - return malloc_host(Count, Q.get_context(), PropList, CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + return malloc_host(Count, Q.get_context(), PropList, CodeLoc); } template T *malloc_shared( size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return static_cast(aligned_alloc_shared(alignof(T), Count * sizeof(T), - Dev, Ctxt, PropList, CL)); + Dev, Ctxt, PropList, CodeLoc)); } template T *malloc_shared( size_t Count, const queue &Q, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); - return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); } template T *aligned_alloc_host( size_t Alignment, size_t Count, const context &Ctxt, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return static_cast(aligned_alloc_host( - std ::max(Alignment, alignof(T)), Count * sizeof(T), Ctxt, PropList, CL)); + std ::max(Alignment, alignof(T)), Count * sizeof(T), Ctxt, PropList, CodeLoc)); } template T *aligned_alloc_host( size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); - return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, CodeLoc); } template T *aligned_alloc_shared( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return static_cast(aligned_alloc_shared( - max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CL)); + max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); } template T *aligned_alloc_shared( size_t Alignment, size_t Count, const queue &Q, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return aligned_alloc_shared(Alignment, Count, Q.get_device(), - Q.get_context(), PropList, CL); + Q.get_context(), PropList, CodeLoc); } template T *malloc( size_t Count, const device &Dev, const context &Ctxt, usm::alloc Kind, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return static_cast(aligned_alloc(alignof(T), Count * sizeof(T), Dev, - Ctxt, Kind, PropList, CL)); + Ctxt, Kind, PropList, CodeLoc)); } template T *malloc( size_t Count, const queue &Q, usm::alloc Kind, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); - return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, CodeLoc); } template T *aligned_alloc( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - usm::alloc Kind, const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + usm::alloc Kind, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return static_cast(aligned_alloc(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, Kind, - PropList, CL)); + PropList, CodeLoc)); } template T *aligned_alloc( size_t Alignment, size_t Count, const queue &Q, usm::alloc Kind, - const property_list &PropList = {} _CODELOCPARAM(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return aligned_alloc(Alignment, Count, Q.get_device(), Q.get_context(), - Kind, PropList, CL); + Kind, PropList, CodeLoc); } // Pointer queries diff --git a/sycl/source/detail/usm/usm_impl.cpp b/sycl/source/detail/usm/usm_impl.cpp old mode 100644 new mode 100755 index b1ef498e07bc7..3f1f305f531f2 --- a/sycl/source/detail/usm/usm_impl.cpp +++ b/sycl/source/detail/usm/usm_impl.cpp @@ -24,17 +24,17 @@ // traces using the trace framework #include "xpti/xpti_trace_framework.hpp" -#define XPTI_CREATE_TRACEPOINT(CL) \ +#define XPTI_CREATE_TRACEPOINT(CodeLoc) \ std::unique_ptr _TP(nullptr); \ if (xptiTraceEnabled()) { \ - xpti::payload_t Payload{CL.functionName(), CL.fileName(), \ - static_cast(CL.lineNumber()), \ - static_cast(CL.columnNumber()), nullptr}; \ + xpti::payload_t Payload{CodeLoc.functionName(), CodeLoc.fileName(), \ + static_cast(CodeLoc.lineNumber()), \ + static_cast(CodeLoc.columnNumber()), nullptr}; \ _TP = std::make_unique(&Payload); \ } \ (void)_TP; #else -#define XPTI_CREATE_TRACEPOINT(CL) +#define XPTI_CREATE_TRACEPOINT(CodeLoc) #endif __SYCL_INLINE_NAMESPACE(cl) { @@ -47,8 +47,8 @@ namespace usm { void *alignedAllocHost(size_t Alignment, size_t Size, const context &Ctxt, alloc Kind, const property_list &PropList, - const detail::code_location &CL) { - XPTI_CREATE_TRACEPOINT(CL); + const detail::code_location &CodeLoc) { + XPTI_CREATE_TRACEPOINT(CodeLoc); void *RetVal = nullptr; if (Size == 0) return nullptr; @@ -114,8 +114,8 @@ void *alignedAllocHost(size_t Alignment, size_t Size, const context &Ctxt, void *alignedAlloc(size_t Alignment, size_t Size, const context &Ctxt, const device &Dev, alloc Kind, const property_list &PropList, - const detail::code_location &CL) { - XPTI_CREATE_TRACEPOINT(CL); + const detail::code_location &CodeLoc) { + XPTI_CREATE_TRACEPOINT(CodeLoc); void *RetVal = nullptr; if (Size == 0) return nullptr; @@ -216,8 +216,8 @@ void *alignedAlloc(size_t Alignment, size_t Size, const context &Ctxt, return RetVal; } -void free(void *Ptr, const context &Ctxt, const detail::code_location &CL) { - XPTI_CREATE_TRACEPOINT(CL); +void free(void *Ptr, const context &Ctxt, const detail::code_location &CodeLoc) { + XPTI_CREATE_TRACEPOINT(CodeLoc); if (Ptr == nullptr) return; if (Ctxt.is_host()) { @@ -235,315 +235,265 @@ void free(void *Ptr, const context &Ctxt, const detail::code_location &CL) { } // namespace detail void *malloc_device(size_t Size, const device &Dev, - const context &Ctxt _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const context &Ctxt _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, - property_list{}, CL); + property_list{}, CodeLoc); } void *malloc_device(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::device, PropList, - CL); + CodeLoc); } -void *malloc_device(size_t Size, const queue &Q _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); +void *malloc_device(size_t Size, const queue &Q _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - alloc::device, property_list{}, CL); + alloc::device, property_list{}, CodeLoc); } void *malloc_device(size_t Size, const queue &Q, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - alloc::device, PropList, CL); + alloc::device, PropList, CodeLoc); } void *aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const context &Ctxt _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, - property_list{}, CL); + property_list{}, CodeLoc); } void * aligned_alloc_device(size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::device, - PropList, CL); + PropList, CodeLoc); } void *aligned_alloc_device(size_t Alignment, size_t Size, - const queue &Q _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const queue &Q _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::device, - property_list{}, CL); + property_list{}, CodeLoc); } void * aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), alloc::device, PropList, CL); + Q.get_device(), alloc::device, PropList, CodeLoc); } -void free(void *ptr, const context &Ctxt _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - return detail::usm::free(ptr, Ctxt, CL); +void free(void *ptr, const context &Ctxt _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + return detail::usm::free(ptr, Ctxt, CodeLoc); } -void free(void *ptr, const queue &Q _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - return detail::usm::free(ptr, Q.get_context(), CL); +void free(void *ptr, const queue &Q _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + return detail::usm::free(ptr, Q.get_context(), CodeLoc); } -void *malloc_host(size_t Size, const context &Ctxt _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); +void *malloc_host(size_t Size, const context &Ctxt _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, - property_list{}, CL); + property_list{}, CodeLoc); } void *malloc_host(size_t Size, const context &Ctxt, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(0, Size, Ctxt, alloc::host, PropList, - CL); + CodeLoc); } -void *malloc_host(size_t Size, const queue &Q _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); +void *malloc_host(size_t Size, const queue &Q _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, - property_list{}, CL); + property_list{}, CodeLoc); } void *malloc_host(size_t Size, const queue &Q, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(0, Size, Q.get_context(), alloc::host, - PropList, CL); + PropList, CodeLoc); } void *malloc_shared(size_t Size, const device &Dev, - const context &Ctxt _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const context &Ctxt _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, - property_list{}, CL); + property_list{}, CodeLoc); } void *malloc_shared(size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, alloc::shared, PropList, - CL); + CodeLoc); } -void *malloc_shared(size_t Size, const queue &Q _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); +void *malloc_shared(size_t Size, const queue &Q _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - alloc::shared, property_list{}, CL); + alloc::shared, property_list{}, CodeLoc); } void *malloc_shared(size_t Size, const queue &Q, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - alloc::shared, PropList, CL); + alloc::shared, PropList, CodeLoc); } void *aligned_alloc_host(size_t Alignment, size_t Size, - const context &Ctxt _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const context &Ctxt _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, - property_list{}, CL); + property_list{}, CodeLoc); } void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, - PropList, CL); + PropList, CodeLoc); } void *aligned_alloc_host(size_t Alignment, size_t Size, - const queue &Q _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const queue &Q _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - alloc::host, property_list{}, CL); + alloc::host, property_list{}, CodeLoc); } void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - alloc::host, PropList, CL); + alloc::host, PropList, CodeLoc); } void *aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const context &Ctxt _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, - property_list{}, CL); + property_list{}, CodeLoc); } void * aligned_alloc_shared(size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, alloc::shared, - PropList, CL); + PropList, CodeLoc); } void *aligned_alloc_shared(size_t Alignment, size_t Size, - const queue &Q _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const queue &Q _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), Q.get_device(), alloc::shared, - property_list{}, CL); + property_list{}, CodeLoc); } void * aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), alloc::shared, PropList, CL); + Q.get_device(), alloc::shared, PropList, CodeLoc); } // single form void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, PropList, CL); - } else { - RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, PropList, CL); - } - - return RetVal; + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + if (Kind == alloc::host) + return detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, PropList, CodeLoc); + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, PropList, CodeLoc); } void *malloc(size_t Size, const device &Dev, const context &Ctxt, - alloc Kind _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = - detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, property_list{}, CL); - } else { - RetVal = detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, - property_list{}, CL); - } - - return RetVal; + alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + if (Kind == alloc::host) + return detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, property_list{}, CodeLoc); + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, + property_list{}, CodeLoc); } -void *malloc(size_t Size, const queue &Q, alloc Kind _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, - property_list{}, CL); - } else { - RetVal = detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - Kind, property_list{}, CL); - } - - return RetVal; +void *malloc(size_t Size, const queue &Q, alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + if (Kind == alloc::host) + return detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, + property_list{}, CodeLoc); +return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + Kind, property_list{}, CodeLoc); } void *malloc(size_t Size, const queue &Q, alloc Kind, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, - PropList, CL); - } else { - RetVal = detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - Kind, PropList, CL); - } - - return RetVal; + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + if (Kind == alloc::host) + return detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, + PropList, CodeLoc); + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + Kind, PropList, CodeLoc); } void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, - property_list{}, CL); - } else { - RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, - property_list{}, CL); - } + const context &Ctxt, alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + if (Kind == alloc::host) + return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, + property_list{}, CodeLoc); - return RetVal; +return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, + property_list{}, CodeLoc); } void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, const context &Ctxt, alloc Kind, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - - _CODELOCARG(&CL); - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, - PropList, CL); - } else { - RetVal = detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, - PropList, CL); - } - - return RetVal; + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + if (Kind == alloc::host) + return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, + PropList, CodeLoc); + return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, + PropList, CodeLoc); } void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, - alloc Kind _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - Kind, property_list{}, CL); - } else { - RetVal = - detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), Kind, property_list{}, CL); - } - - return RetVal; + alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + if (Kind == alloc::host) + return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), + Kind, property_list{}, CodeLoc); +return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), Kind, property_list{}, CodeLoc); } void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, - const property_list &PropList _CODELOCPARAMDEF(&CL)) { - _CODELOCARG(&CL); - void *RetVal = nullptr; - - if (Kind == alloc::host) { - RetVal = detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - Kind, PropList, CL); - } else { - RetVal = detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), Kind, PropList, CL); - } - - return RetVal; + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { + _CODELOCARG(&CodeLoc); + if (Kind == alloc::host) + return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), + Kind, PropList, CodeLoc); +return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), Kind, PropList, CodeLoc); } // Pointer queries From 58adc019ff25c311740f960e136be84457b55d7b Mon Sep 17 00:00:00 2001 From: Sergey V Maslov Date: Tue, 9 Aug 2022 06:07:06 -0700 Subject: [PATCH 15/15] format Signed-off-by: Sergey V Maslov --- sycl/include/sycl/usm.hpp | 63 ++++++++++++--------- sycl/source/detail/usm/usm_impl.cpp | 87 ++++++++++++++++------------- 2 files changed, 87 insertions(+), 63 deletions(-) mode change 100755 => 100644 sycl/include/sycl/usm.hpp mode change 100755 => 100644 sycl/source/detail/usm/usm_impl.cpp diff --git a/sycl/include/sycl/usm.hpp b/sycl/include/sycl/usm.hpp old mode 100755 new mode 100644 index 9b2ed82e7b109..8020b26831299 --- a/sycl/include/sycl/usm.hpp +++ b/sycl/include/sycl/usm.hpp @@ -38,8 +38,9 @@ __SYCL_EXPORT void * aligned_alloc_device(size_t alignment, size_t size, const device &dev, const context &ctxt, const property_list &propList _CODELOCPARAM(&CodeLoc)); -__SYCL_EXPORT void *aligned_alloc_device(size_t alignment, size_t size, - const queue &q _CODELOCPARAM(&CodeLoc)); +__SYCL_EXPORT void * +aligned_alloc_device(size_t alignment, size_t size, + const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_device(size_t alignment, size_t size, const queue &q, const property_list &propList _CODELOCPARAM(&CodeLoc)); @@ -55,7 +56,8 @@ __SYCL_EXPORT void *malloc_host(size_t size, __SYCL_EXPORT void * malloc_host(size_t size, const context &ctxt, const property_list &propList _CODELOCPARAM(&CodeLoc)); -__SYCL_EXPORT void *malloc_host(size_t size, const queue &q _CODELOCPARAM(&CodeLoc)); +__SYCL_EXPORT void *malloc_host(size_t size, + const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * malloc_host(size_t size, const queue &q, const property_list &propList _CODELOCPARAM(&CodeLoc)); @@ -71,8 +73,9 @@ __SYCL_EXPORT void * malloc_shared(size_t size, const queue &q, const property_list &propList _CODELOCPARAM(&CodeLoc)); -__SYCL_EXPORT void *aligned_alloc_host(size_t alignment, size_t size, - const context &ctxt _CODELOCPARAM(&CodeLoc)); +__SYCL_EXPORT void * +aligned_alloc_host(size_t alignment, size_t size, + const context &ctxt _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_host(size_t alignment, size_t size, const context &ctxt, const property_list &propList _CODELOCPARAM(&CodeLoc)); @@ -89,8 +92,9 @@ __SYCL_EXPORT void * aligned_alloc_shared(size_t alignment, size_t size, const device &dev, const context &ctxt, const property_list &propList _CODELOCPARAM(&CodeLoc)); -__SYCL_EXPORT void *aligned_alloc_shared(size_t alignment, size_t size, - const queue &q _CODELOCPARAM(&CodeLoc)); +__SYCL_EXPORT void * +aligned_alloc_shared(size_t alignment, size_t size, + const queue &q _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void * aligned_alloc_shared(size_t alignment, size_t size, const queue &q, const property_list &propList _CODELOCPARAM(&CodeLoc)); @@ -100,13 +104,14 @@ aligned_alloc_shared(size_t alignment, size_t size, const queue &q, /// __SYCL_EXPORT void *malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind _CODELOCPARAM(&CodeLoc)); -__SYCL_EXPORT void *malloc(size_t size, const device &dev, const context &ctxt, - usm::alloc kind, - const property_list &propList _CODELOCPARAM(&CodeLoc)); +__SYCL_EXPORT void * +malloc(size_t size, const device &dev, const context &ctxt, usm::alloc kind, + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *malloc(size_t size, const queue &q, usm::alloc kind _CODELOCPARAM(&CodeLoc)); -__SYCL_EXPORT void *malloc(size_t size, const queue &q, usm::alloc kind, - const property_list &propList _CODELOCPARAM(&CodeLoc)); +__SYCL_EXPORT void * +malloc(size_t size, const queue &q, usm::alloc kind, + const property_list &propList _CODELOCPARAM(&CodeLoc)); __SYCL_EXPORT void *aligned_alloc(size_t alignment, size_t size, const device &dev, const context &ctxt, @@ -138,7 +143,8 @@ T *malloc_device( size_t Count, const queue &Q, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); - return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); + return malloc_device(Count, Q.get_device(), Q.get_context(), PropList, + CodeLoc); } template @@ -146,8 +152,9 @@ T *aligned_alloc_device( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); - return static_cast(aligned_alloc_device( - max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); + return static_cast(aligned_alloc_device(max(Alignment, alignof(T)), + Count * sizeof(T), Dev, Ctxt, + PropList, CodeLoc)); } template @@ -164,8 +171,8 @@ T *malloc_host( size_t Count, const context &Ctxt, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); - return static_cast( - aligned_alloc_host(alignof(T), Count * sizeof(T), Ctxt, PropList, CodeLoc)); + return static_cast(aligned_alloc_host(alignof(T), Count * sizeof(T), + Ctxt, PropList, CodeLoc)); } template @@ -190,7 +197,8 @@ T *malloc_shared( size_t Count, const queue &Q, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); - return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, CodeLoc); + return malloc_shared(Count, Q.get_device(), Q.get_context(), PropList, + CodeLoc); } template @@ -198,8 +206,9 @@ T *aligned_alloc_host( size_t Alignment, size_t Count, const context &Ctxt, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); - return static_cast(aligned_alloc_host( - std ::max(Alignment, alignof(T)), Count * sizeof(T), Ctxt, PropList, CodeLoc)); + return static_cast(aligned_alloc_host(std ::max(Alignment, alignof(T)), + Count * sizeof(T), Ctxt, PropList, + CodeLoc)); } template @@ -207,7 +216,8 @@ T *aligned_alloc_host( size_t Alignment, size_t Count, const queue &Q, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); - return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, CodeLoc); + return aligned_alloc_host(Alignment, Count, Q.get_context(), PropList, + CodeLoc); } template @@ -215,8 +225,9 @@ T *aligned_alloc_shared( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); - return static_cast(aligned_alloc_shared( - max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, PropList, CodeLoc)); + return static_cast(aligned_alloc_shared(max(Alignment, alignof(T)), + Count * sizeof(T), Dev, Ctxt, + PropList, CodeLoc)); } template @@ -242,13 +253,15 @@ T *malloc( size_t Count, const queue &Q, usm::alloc Kind, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); - return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, CodeLoc); + return malloc(Count, Q.get_device(), Q.get_context(), Kind, PropList, + CodeLoc); } template T *aligned_alloc( size_t Alignment, size_t Count, const device &Dev, const context &Ctxt, - usm::alloc Kind, const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { + usm::alloc Kind, + const property_list &PropList = {} _CODELOCPARAM(&CodeLoc)) { _CODELOCARG(&CodeLoc); return static_cast(aligned_alloc(max(Alignment, alignof(T)), Count * sizeof(T), Dev, Ctxt, Kind, diff --git a/sycl/source/detail/usm/usm_impl.cpp b/sycl/source/detail/usm/usm_impl.cpp old mode 100755 new mode 100644 index 3f1f305f531f2..3d0d4abde2166 --- a/sycl/source/detail/usm/usm_impl.cpp +++ b/sycl/source/detail/usm/usm_impl.cpp @@ -24,12 +24,13 @@ // traces using the trace framework #include "xpti/xpti_trace_framework.hpp" -#define XPTI_CREATE_TRACEPOINT(CodeLoc) \ +#define XPTI_CREATE_TRACEPOINT(CodeLoc) \ std::unique_ptr _TP(nullptr); \ if (xptiTraceEnabled()) { \ - xpti::payload_t Payload{CodeLoc.functionName(), CodeLoc.fileName(), \ - static_cast(CodeLoc.lineNumber()), \ - static_cast(CodeLoc.columnNumber()), nullptr}; \ + xpti::payload_t Payload{CodeLoc.functionName(), CodeLoc.fileName(), \ + static_cast(CodeLoc.lineNumber()), \ + static_cast(CodeLoc.columnNumber()), \ + nullptr}; \ _TP = std::make_unique(&Payload); \ } \ (void)_TP; @@ -216,7 +217,8 @@ void *alignedAlloc(size_t Alignment, size_t Size, const context &Ctxt, return RetVal; } -void free(void *Ptr, const context &Ctxt, const detail::code_location &CodeLoc) { +void free(void *Ptr, const context &Ctxt, + const detail::code_location &CodeLoc) { XPTI_CREATE_TRACEPOINT(CodeLoc); if (Ptr == nullptr) return; @@ -290,7 +292,8 @@ aligned_alloc_device(size_t Alignment, size_t Size, const queue &Q, const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), alloc::device, PropList, CodeLoc); + Q.get_device(), alloc::device, PropList, + CodeLoc); } void free(void *ptr, const context &Ctxt _CODELOCPARAMDEF(&CodeLoc)) { @@ -363,8 +366,9 @@ void *aligned_alloc_host(size_t Alignment, size_t Size, property_list{}, CodeLoc); } -void *aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, - const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { +void * +aligned_alloc_host(size_t Alignment, size_t Size, const context &Ctxt, + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, alloc::host, PropList, CodeLoc); @@ -377,8 +381,9 @@ void *aligned_alloc_host(size_t Alignment, size_t Size, alloc::host, property_list{}, CodeLoc); } -void *aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, - const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { +void * +aligned_alloc_host(size_t Alignment, size_t Size, const queue &Q, + const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), alloc::host, PropList, CodeLoc); @@ -413,7 +418,8 @@ aligned_alloc_shared(size_t Alignment, size_t Size, const queue &Q, const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), alloc::shared, PropList, CodeLoc); + Q.get_device(), alloc::shared, PropList, + CodeLoc); } // single form @@ -422,7 +428,8 @@ void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind, const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); if (Kind == alloc::host) - return detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, PropList, CodeLoc); + return detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, PropList, + CodeLoc); return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, PropList, CodeLoc); } @@ -430,18 +437,20 @@ void *malloc(size_t Size, const device &Dev, const context &Ctxt, alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); if (Kind == alloc::host) - return detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, property_list{}, CodeLoc); - return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, - property_list{}, CodeLoc); + return detail::usm::alignedAllocHost(0, Size, Ctxt, Kind, property_list{}, + CodeLoc); + return detail::usm::alignedAlloc(0, Size, Ctxt, Dev, Kind, property_list{}, + CodeLoc); } -void *malloc(size_t Size, const queue &Q, alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { +void *malloc(size_t Size, const queue &Q, + alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); if (Kind == alloc::host) return detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, - property_list{}, CodeLoc); -return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - Kind, property_list{}, CodeLoc); + property_list{}, CodeLoc); + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + Kind, property_list{}, CodeLoc); } void *malloc(size_t Size, const queue &Q, alloc Kind, @@ -449,20 +458,21 @@ void *malloc(size_t Size, const queue &Q, alloc Kind, _CODELOCARG(&CodeLoc); if (Kind == alloc::host) return detail::usm::alignedAllocHost(0, Size, Q.get_context(), Kind, - PropList, CodeLoc); - return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), - Kind, PropList, CodeLoc); + PropList, CodeLoc); + return detail::usm::alignedAlloc(0, Size, Q.get_context(), Q.get_device(), + Kind, PropList, CodeLoc); } void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, - const context &Ctxt, alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { + const context &Ctxt, + alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); if (Kind == alloc::host) return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, - property_list{}, CodeLoc); + property_list{}, CodeLoc); -return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, - property_list{}, CodeLoc); + return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, + property_list{}, CodeLoc); } void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, @@ -470,30 +480,31 @@ void *aligned_alloc(size_t Alignment, size_t Size, const device &Dev, const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); if (Kind == alloc::host) - return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, - PropList, CodeLoc); - return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, - PropList, CodeLoc); + return detail::usm::alignedAllocHost(Alignment, Size, Ctxt, Kind, PropList, + CodeLoc); + return detail::usm::alignedAlloc(Alignment, Size, Ctxt, Dev, Kind, PropList, + CodeLoc); } void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); if (Kind == alloc::host) - return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - Kind, property_list{}, CodeLoc); -return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), Kind, property_list{}, CodeLoc); + return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), Kind, + property_list{}, CodeLoc); + return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), Kind, property_list{}, + CodeLoc); } void *aligned_alloc(size_t Alignment, size_t Size, const queue &Q, alloc Kind, const property_list &PropList _CODELOCPARAMDEF(&CodeLoc)) { _CODELOCARG(&CodeLoc); if (Kind == alloc::host) - return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), - Kind, PropList, CodeLoc); -return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), - Q.get_device(), Kind, PropList, CodeLoc); + return detail::usm::alignedAllocHost(Alignment, Size, Q.get_context(), Kind, + PropList, CodeLoc); + return detail::usm::alignedAlloc(Alignment, Size, Q.get_context(), + Q.get_device(), Kind, PropList, CodeLoc); } // Pointer queries