From 07115f552e9e67607ec0948dc6bb44dbb7a3ae61 Mon Sep 17 00:00:00 2001 From: Denis Kabanov Date: Wed, 21 Jul 2021 12:51:09 +0300 Subject: [PATCH 1/8] [SYCL][NFS] Fix name collisions Correcting the definition of some macros causes name collisions if they are defined prior to including of CL/sycl.hpp. --- clang/lib/Basic/SourceManager.cpp | 6 +++--- clang/lib/Serialization/ASTWriter.cpp | 2 +- clang/test/CodeGenCXX/vla-lambda-capturing.cpp | 2 +- sycl/include/CL/sycl/detail/buffer_impl.hpp | 2 +- sycl/include/CL/sycl/detail/cg.hpp | 4 ++-- sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp | 2 +- sycl/include/CL/sycl/handler.hpp | 2 +- sycl/source/detail/memory_manager.cpp | 10 +++++----- sycl/source/detail/scheduler/commands.cpp | 6 +++--- sycl/source/detail/scheduler/graph_builder.cpp | 2 +- sycl/source/handler.cpp | 2 +- sycl/unittests/scheduler/LinkedAllocaDependencies.cpp | 2 +- 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index 2c8036aaf36af..5d882a280c116 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/lib/Basic/SourceManager.cpp @@ -469,7 +469,7 @@ SourceManager::AllocateLoadedSLocEntries(unsigned NumSLocEntries, llvm::MemoryBufferRef SourceManager::getFakeBufferForRecovery() const { if (!FakeBufferForRecovery) FakeBufferForRecovery = - llvm::MemoryBuffer::getMemBuffer("<<>"); + llvm::MemoryBuffer::getMemBuffer("<<>"); return *FakeBufferForRecovery; } @@ -1165,7 +1165,7 @@ const char *SourceManager::getCharacterData(SourceLocation SL, if (Invalid) *Invalid = true; - return "<<<>>>"; + return "<<<>>>"; } llvm::Optional Buffer = Entry.getFile().getContentCache().getBufferOrNone(Diag, getFileManager(), @@ -1173,7 +1173,7 @@ const char *SourceManager::getCharacterData(SourceLocation SL, if (Invalid) *Invalid = !Buffer; return Buffer ? Buffer->getBufferStart() + LocInfo.second - : "<<<>>>"; + : "<<<>>>"; } /// getColumnNumber - Return the column # for the specified file position. diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index ca169c010555c..50d2236b142c3 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -2024,7 +2024,7 @@ void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr, llvm::Optional Buffer = Content->getBufferOrNone(PP.getDiagnostics(), PP.getFileManager()); if (!Buffer) - Buffer = llvm::MemoryBufferRef("<<>>", ""); + Buffer = llvm::MemoryBufferRef("<<>>", ""); StringRef Blob(Buffer->getBufferStart(), Buffer->getBufferSize() + 1); emitBlob(Stream, Blob, SLocBufferBlobCompressedAbbrv, SLocBufferBlobAbbrv); diff --git a/clang/test/CodeGenCXX/vla-lambda-capturing.cpp b/clang/test/CodeGenCXX/vla-lambda-capturing.cpp index 7a101addddcb6..fe4079273645f 100644 --- a/clang/test/CodeGenCXX/vla-lambda-capturing.cpp +++ b/clang/test/CodeGenCXX/vla-lambda-capturing.cpp @@ -36,7 +36,7 @@ void g(intptr_t n) { // CHECK: [[N_ADDR:%.+]] = getelementptr inbounds [[CAP_TYPE1]], [[CAP_TYPE1]]* [[THIS]], i{{.+}} 0, i{{.+}} 0 // CHECK: [[N:%.+]] = load [[INTPTR_T]], [[INTPTR_T]]* [[N_ADDR]] // CHECK: [[BUFFER_ADDR:%.+]] = getelementptr inbounds [[CAP_TYPE1]], [[CAP_TYPE1]]* [[THIS]], i{{.+}} 0, i{{.+}} 1 -// CHECK: [[BUFFER:%.+]] = load [[INTPTR_T]]*, [[INTPTR_T]]** [[BUFFER_ADDR]] +// CHECK: [[__SYCL_BUFFER:%.+]] = load [[INTPTR_T]]*, [[INTPTR_T]]** [[BUFFER_ADDR]] // CHECK: call i{{.+}}* @llvm.stacksave() // CHECK: alloca [[INTPTR_T]], [[INTPTR_T]] [[N]] // CHECK: call void @llvm.stackrestore( diff --git a/sycl/include/CL/sycl/detail/buffer_impl.hpp b/sycl/include/CL/sycl/detail/buffer_impl.hpp index 718095f7ab5c1..4c1e5a7ea04ce 100644 --- a/sycl/include/CL/sycl/detail/buffer_impl.hpp +++ b/sycl/include/CL/sycl/detail/buffer_impl.hpp @@ -147,7 +147,7 @@ class __SYCL_EXPORT buffer_impl final : public SYCLMemObjT { void *allocateMem(ContextImplPtr Context, bool InitFromUserData, void *HostPtr, RT::PiEvent &OutEventToWait) override; - MemObjType getType() const override { return MemObjType::BUFFER; } + MemObjType getType() const override { return MemObjType::__SYCL_BUFFER; } ~buffer_impl() { try { diff --git a/sycl/include/CL/sycl/detail/cg.hpp b/sycl/include/CL/sycl/detail/cg.hpp index 5ead1e07c8ec1..34cc55b86021d 100644 --- a/sycl/include/CL/sycl/detail/cg.hpp +++ b/sycl/include/CL/sycl/detail/cg.hpp @@ -157,7 +157,7 @@ class CG { COPY_ACC_TO_ACC = 4, BARRIER = 5, BARRIER_WAITLIST = 6, - FILL = 7, + __SYCL_FILL = 7, UPDATE_HOST = 8, RUN_ON_HOST_INTEL = 9, COPY_USM = 10, @@ -322,7 +322,7 @@ class CGFill : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(FILL, std::move(ArgsStorage), std::move(AccStorage), + : CG(__SYCL_FILL, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPattern(std::move(Pattern)), MPtr((Requirement *)Ptr) {} diff --git a/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp b/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp index 01f453f151e54..e9c88e097e778 100644 --- a/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp +++ b/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp @@ -29,7 +29,7 @@ class SYCLMemObjI { public: virtual ~SYCLMemObjI() = default; - enum MemObjType { BUFFER = 0, IMAGE = 1, UNDEFINED = 2 }; + enum MemObjType { __SYCL_BUFFER = 0, IMAGE = 1, UNDEFINED = 2 }; virtual MemObjType getType() const = 0; diff --git a/sycl/include/CL/sycl/handler.hpp b/sycl/include/CL/sycl/handler.hpp index 39412ceb4179c..8eafa1e2e86af 100644 --- a/sycl/include/CL/sycl/handler.hpp +++ b/sycl/include/CL/sycl/handler.hpp @@ -2235,7 +2235,7 @@ class __SYCL_EXPORT handler { "Invalid accessor target for the fill method."); if (!MIsHost && (((Dims == 1) && isConstOrGlobal(AccessTarget)) || isImageOrImageArray(AccessTarget))) { - setType(detail::CG::FILL); + setType(detail::CG::__SYCL_FILL); detail::AccessorBaseHost *AccBase = (detail::AccessorBaseHost *)&Dst; detail::AccessorImplPtr AccImpl = detail::getSyclObjImpl(*AccBase); diff --git a/sycl/source/detail/memory_manager.cpp b/sycl/source/detail/memory_manager.cpp index fca46fa2b0282..9f9e308f9094f 100644 --- a/sycl/source/detail/memory_manager.cpp +++ b/sycl/source/detail/memory_manager.cpp @@ -253,7 +253,7 @@ void prepTermPositions(TermPositions &pos, int Dimensions, // 3 ==> {depth, height, width} // Some callers schedule 0 as DimDst/DimSrc. - if (Type == detail::SYCLMemObjI::MemObjType::BUFFER) { + if (Type == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { if (Dimensions == 3) { pos.XTerm = 2, pos.YTerm = 1, pos.ZTerm = 0; } else if (Dimensions == 2) { @@ -294,7 +294,7 @@ void copyH2D(SYCLMemObjI *SYCLMemObj, char *SrcMem, QueueImplPtr, size_t DstSzWidthBytes = DstSize[DstPos.XTerm] * DstElemSize; size_t SrcSzWidthBytes = SrcSize[SrcPos.XTerm] * SrcElemSize; - if (MemType == detail::SYCLMemObjI::MemObjType::BUFFER) { + if (MemType == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { if (1 == DimDst && 1 == DimSrc) { Plugin.call( Queue, DstMem, @@ -372,7 +372,7 @@ void copyD2H(SYCLMemObjI *SYCLMemObj, RT::PiMem SrcMem, QueueImplPtr SrcQueue, size_t DstSzWidthBytes = DstSize[DstPos.XTerm] * DstElemSize; size_t SrcSzWidthBytes = SrcSize[SrcPos.XTerm] * SrcElemSize; - if (MemType == detail::SYCLMemObjI::MemObjType::BUFFER) { + if (MemType == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { if (1 == DimDst && 1 == DimSrc) { Plugin.call( Queue, SrcMem, @@ -441,7 +441,7 @@ void copyD2D(SYCLMemObjI *SYCLMemObj, RT::PiMem SrcMem, QueueImplPtr SrcQueue, size_t DstSzWidthBytes = DstSize[DstPos.XTerm] * DstElemSize; size_t SrcSzWidthBytes = SrcSize[SrcPos.XTerm] * SrcElemSize; - if (MemType == detail::SYCLMemObjI::MemObjType::BUFFER) { + if (MemType == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { if (1 == DimDst && 1 == DimSrc) { Plugin.call( Queue, SrcMem, DstMem, SrcXOffBytes, DstXOffBytes, @@ -567,7 +567,7 @@ void MemoryManager::fill(SYCLMemObjI *SYCLMemObj, void *Mem, QueueImplPtr Queue, assert(SYCLMemObj && "The SYCLMemObj is nullptr"); const detail::plugin &Plugin = Queue->getPlugin(); - if (SYCLMemObj->getType() == detail::SYCLMemObjI::MemObjType::BUFFER) { + if (SYCLMemObj->getType() == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { if (Dim == 1) { Plugin.call( Queue->getHandleRef(), pi::cast(Mem), Pattern, PatternSize, diff --git a/sycl/source/detail/scheduler/commands.cpp b/sycl/source/detail/scheduler/commands.cpp index 8e1b17f5ff920..2190666aadde1 100644 --- a/sycl/source/detail/scheduler/commands.cpp +++ b/sycl/source/detail/scheduler/commands.cpp @@ -1247,7 +1247,7 @@ void UpdateHostRequirementCommand::printDot(std::ostream &Stream) const { Stream << "ID = " << this << "\\n"; Stream << "UPDATE REQ ON " << deviceToString(MQueue->get_device()) << "\\n"; bool IsReqOnBuffer = - MDstReq.MSYCLMemObj->getType() == SYCLMemObjI::MemObjType::BUFFER; + MDstReq.MSYCLMemObj->getType() == SYCLMemObjI::MemObjType::__SYCL_BUFFER; Stream << "TYPE: " << (IsReqOnBuffer ? "Buffer" : "Image") << "\\n"; if (IsReqOnBuffer) Stream << "Is sub buffer: " << std::boolalpha << MDstReq.MIsSubBuffer @@ -1457,7 +1457,7 @@ static std::string cgTypeToString(detail::CG::CGTYPE Type) { case detail::CG::UPDATE_HOST: return "update_host"; break; - case detail::CG::FILL: + case detail::CG::__SYCL_FILL: return "fill"; break; case detail::CG::COPY_ACC_TO_ACC: @@ -1860,7 +1860,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::FILL: { + case CG::CGTYPE::__SYCL_FILL: { CGFill *Fill = (CGFill *)MCommandGroup.get(); Requirement *Req = (Requirement *)(Fill->getReqToFill()); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); diff --git a/sycl/source/detail/scheduler/graph_builder.cpp b/sycl/source/detail/scheduler/graph_builder.cpp index 102e28a3b9e33..6b507a0d9df20 100644 --- a/sycl/source/detail/scheduler/graph_builder.cpp +++ b/sycl/source/detail/scheduler/graph_builder.cpp @@ -709,7 +709,7 @@ AllocaCommandBase *Scheduler::GraphBuilder::getOrCreateAllocaForReq( // If it is not the first allocation, try to setup a link // FIXME: Temporary limitation, linked alloca commands for an image is // not supported because map operation is not implemented for an image. - if (Req->MSYCLMemObj->getType() == SYCLMemObjI::MemObjType::BUFFER) + if (Req->MSYCLMemObj->getType() == SYCLMemObjI::MemObjType::__SYCL_BUFFER) // Current limitation is to setup link between current allocation and // new one. There could be situations when we could setup link with // "not" current allocation, but it will require memory copy. diff --git a/sycl/source/handler.cpp b/sycl/source/handler.cpp index b3bb8911b3aa7..9973f8f5f262e 100644 --- a/sycl/source/handler.cpp +++ b/sycl/source/handler.cpp @@ -158,7 +158,7 @@ event handler::finalize() { std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::FILL: + case detail::CG::__SYCL_FILL: CommandGroup.reset(new detail::CGFill( std::move(MPattern), MDstPtr, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), diff --git a/sycl/unittests/scheduler/LinkedAllocaDependencies.cpp b/sycl/unittests/scheduler/LinkedAllocaDependencies.cpp index aa10bb446c32c..871903f0c70dc 100644 --- a/sycl/unittests/scheduler/LinkedAllocaDependencies.cpp +++ b/sycl/unittests/scheduler/LinkedAllocaDependencies.cpp @@ -22,7 +22,7 @@ class MemObjMock : public cl::sycl::detail::SYCLMemObjI { ~MemObjMock() = default; - MemObjType getType() const override { return MemObjType::BUFFER; } + MemObjType getType() const override { return MemObjType::__SYCL_BUFFER; } void *allocateMem(ContextImplPtr, bool, void *, cl::sycl::detail::pi::PiEvent &) { From 9b615268e9ce7525591d8ea3dce794fb8a0682ac Mon Sep 17 00:00:00 2001 From: Denis Kabanov Date: Wed, 21 Jul 2021 17:14:28 +0300 Subject: [PATCH 2/8] [SYCL][NFC] Fix name collisions Correcting the definition of some macros causes name collisions if they are defined prior to including of CL/sycl.hpp. --- clang/lib/Basic/SourceManager.cpp | 6 +- clang/lib/Serialization/ASTWriter.cpp | 2 +- .../test/CodeGenCXX/vla-lambda-capturing.cpp | 2 +- sycl/include/CL/sycl/detail/cg.hpp | 40 ++++++------ sycl/include/CL/sycl/detail/image_impl.hpp | 2 +- .../include/CL/sycl/detail/sycl_mem_obj_i.hpp | 2 +- .../include/CL/sycl/detail/sycl_mem_obj_t.hpp | 2 +- sycl/include/CL/sycl/handler.hpp | 52 ++++++++-------- sycl/source/detail/scheduler/commands.cpp | 62 +++++++++---------- .../source/detail/scheduler/graph_builder.cpp | 6 +- sycl/source/detail/scheduler/scheduler.cpp | 8 +-- sycl/source/handler.cpp | 40 ++++++------ .../check_simple_name_collisions.cpp | 25 ++++++++ .../scheduler/StreamInitDependencyOnHost.cpp | 6 +- 14 files changed, 140 insertions(+), 115 deletions(-) create mode 100644 sycl/test/regression/check_simple_name_collisions.cpp diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index 5d882a280c116..2c8036aaf36af 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/lib/Basic/SourceManager.cpp @@ -469,7 +469,7 @@ SourceManager::AllocateLoadedSLocEntries(unsigned NumSLocEntries, llvm::MemoryBufferRef SourceManager::getFakeBufferForRecovery() const { if (!FakeBufferForRecovery) FakeBufferForRecovery = - llvm::MemoryBuffer::getMemBuffer("<<>"); + llvm::MemoryBuffer::getMemBuffer("<<>"); return *FakeBufferForRecovery; } @@ -1165,7 +1165,7 @@ const char *SourceManager::getCharacterData(SourceLocation SL, if (Invalid) *Invalid = true; - return "<<<>>>"; + return "<<<>>>"; } llvm::Optional Buffer = Entry.getFile().getContentCache().getBufferOrNone(Diag, getFileManager(), @@ -1173,7 +1173,7 @@ const char *SourceManager::getCharacterData(SourceLocation SL, if (Invalid) *Invalid = !Buffer; return Buffer ? Buffer->getBufferStart() + LocInfo.second - : "<<<>>>"; + : "<<<>>>"; } /// getColumnNumber - Return the column # for the specified file position. diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 50d2236b142c3..ca169c010555c 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -2024,7 +2024,7 @@ void ASTWriter::WriteSourceManagerBlock(SourceManager &SourceMgr, llvm::Optional Buffer = Content->getBufferOrNone(PP.getDiagnostics(), PP.getFileManager()); if (!Buffer) - Buffer = llvm::MemoryBufferRef("<<>>", ""); + Buffer = llvm::MemoryBufferRef("<<>>", ""); StringRef Blob(Buffer->getBufferStart(), Buffer->getBufferSize() + 1); emitBlob(Stream, Blob, SLocBufferBlobCompressedAbbrv, SLocBufferBlobAbbrv); diff --git a/clang/test/CodeGenCXX/vla-lambda-capturing.cpp b/clang/test/CodeGenCXX/vla-lambda-capturing.cpp index fe4079273645f..7a101addddcb6 100644 --- a/clang/test/CodeGenCXX/vla-lambda-capturing.cpp +++ b/clang/test/CodeGenCXX/vla-lambda-capturing.cpp @@ -36,7 +36,7 @@ void g(intptr_t n) { // CHECK: [[N_ADDR:%.+]] = getelementptr inbounds [[CAP_TYPE1]], [[CAP_TYPE1]]* [[THIS]], i{{.+}} 0, i{{.+}} 0 // CHECK: [[N:%.+]] = load [[INTPTR_T]], [[INTPTR_T]]* [[N_ADDR]] // CHECK: [[BUFFER_ADDR:%.+]] = getelementptr inbounds [[CAP_TYPE1]], [[CAP_TYPE1]]* [[THIS]], i{{.+}} 0, i{{.+}} 1 -// CHECK: [[__SYCL_BUFFER:%.+]] = load [[INTPTR_T]]*, [[INTPTR_T]]** [[BUFFER_ADDR]] +// CHECK: [[BUFFER:%.+]] = load [[INTPTR_T]]*, [[INTPTR_T]]** [[BUFFER_ADDR]] // CHECK: call i{{.+}}* @llvm.stacksave() // CHECK: alloca [[INTPTR_T]], [[INTPTR_T]] [[N]] // CHECK: call void @llvm.stackrestore( diff --git a/sycl/include/CL/sycl/detail/cg.hpp b/sycl/include/CL/sycl/detail/cg.hpp index 34cc55b86021d..a4ceea17705d0 100644 --- a/sycl/include/CL/sycl/detail/cg.hpp +++ b/sycl/include/CL/sycl/detail/cg.hpp @@ -150,22 +150,22 @@ class CG { /// Type of the command group. enum CGTYPE : unsigned int { - NONE = 0, - KERNEL = 1, - COPY_ACC_TO_PTR = 2, - COPY_PTR_TO_ACC = 3, - COPY_ACC_TO_ACC = 4, - BARRIER = 5, - BARRIER_WAITLIST = 6, + __SYCL_NONE = 0, + __SYCL_KERNEL = 1, + __SYCL_COPY_ACC_TO_PTR = 2, + __SYCL_COPY_PTR_TO_ACC = 3, + __SYCL_COPY_ACC_TO_ACC = 4, + __SYCL_BARRIER = 5, + __SYCL_BARRIER_WAITLIST = 6, __SYCL_FILL = 7, - UPDATE_HOST = 8, - RUN_ON_HOST_INTEL = 9, - COPY_USM = 10, - FILL_USM = 11, - PREFETCH_USM = 12, - CODEPLAY_INTEROP_TASK = 13, - CODEPLAY_HOST_TASK = 14, - ADVISE_USM = 15, + __SYCL_UPDATE_HOST = 8, + __SYCL_RUN_ON_HOST_INTEL = 9, + __SYCL_COPY_USM = 10, + __SYCL_FILL_USM = 11, + __SYCL_PREFETCH_USM = 12, + __SYCL_CODEPLAY_INTEROP_TASK = 13, + __SYCL_CODEPLAY_HOST_TASK = 14, + __SYCL_ADVISE_USM = 15, }; CG(CGTYPE Type, std::vector> ArgsStorage, @@ -263,7 +263,7 @@ class CGExecKernel : public CG { MSyclKernel(std::move(SyclKernel)), MArgs(std::move(Args)), MKernelName(std::move(KernelName)), MOSModuleHandle(OSModuleHandle), MStreams(std::move(Streams)) { - assert((getType() == RUN_ON_HOST_INTEL || getType() == KERNEL) && + assert((getType() == __SYCL_RUN_ON_HOST_INTEL || getType() == __SYCL_KERNEL) && "Wrong type of exec kernel CG."); } @@ -340,7 +340,7 @@ class CGUpdateHost : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(UPDATE_HOST, std::move(ArgsStorage), std::move(AccStorage), + : CG(__SYCL_UPDATE_HOST, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPtr((Requirement *)Ptr) {} @@ -362,7 +362,7 @@ class CGCopyUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(COPY_USM, std::move(ArgsStorage), std::move(AccStorage), + : CG(__SYCL_COPY_USM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MSrc(Src), MDst(Dst), MLength(Length) {} @@ -386,7 +386,7 @@ class CGFillUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(FILL_USM, std::move(ArgsStorage), std::move(AccStorage), + : CG(__SYCL_FILL_USM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPattern(std::move(Pattern)), MDst(DstPtr), MLength(Length) {} @@ -408,7 +408,7 @@ class CGPrefetchUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(PREFETCH_USM, std::move(ArgsStorage), std::move(AccStorage), + : CG(__SYCL_PREFETCH_USM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MDst(DstPtr), MLength(Length) {} diff --git a/sycl/include/CL/sycl/detail/image_impl.hpp b/sycl/include/CL/sycl/detail/image_impl.hpp index 46b08ac3d5995..bb6df7b062689 100644 --- a/sycl/include/CL/sycl/detail/image_impl.hpp +++ b/sycl/include/CL/sycl/detail/image_impl.hpp @@ -211,7 +211,7 @@ class __SYCL_EXPORT image_impl final : public SYCLMemObjT { void *allocateMem(ContextImplPtr Context, bool InitFromUserData, void *HostPtr, RT::PiEvent &OutEventToWait) override; - MemObjType getType() const override { return MemObjType::IMAGE; } + MemObjType getType() const override { return MemObjType::__SYCL_IMAGE; } // This utility api is currently used by accessor to get the element size of // the image. Element size is dependent on num of channels and channel type. diff --git a/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp b/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp index e9c88e097e778..a26a2af9d1c4c 100644 --- a/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp +++ b/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp @@ -29,7 +29,7 @@ class SYCLMemObjI { public: virtual ~SYCLMemObjI() = default; - enum MemObjType { __SYCL_BUFFER = 0, IMAGE = 1, UNDEFINED = 2 }; + enum MemObjType { __SYCL_BUFFER = 0, __SYCL_IMAGE = 1, __SYCL_UNDEFINED = 2 }; virtual MemObjType getType() const = 0; diff --git a/sycl/include/CL/sycl/detail/sycl_mem_obj_t.hpp b/sycl/include/CL/sycl/detail/sycl_mem_obj_t.hpp index e5f6ab0f2941e..04bd1ec05251b 100644 --- a/sycl/include/CL/sycl/detail/sycl_mem_obj_t.hpp +++ b/sycl/include/CL/sycl/detail/sycl_mem_obj_t.hpp @@ -294,7 +294,7 @@ class __SYCL_EXPORT SYCLMemObjT : public SYCLMemObjI { throw runtime_error("Not implemented", PI_INVALID_OPERATION); } - __SYCL_DLL_LOCAL MemObjType getType() const override { return UNDEFINED; } + __SYCL_DLL_LOCAL MemObjType getType() const override { return __SYCL_UNDEFINED; } ContextImplPtr getInteropContext() const override { return MInteropContext; } diff --git a/sycl/include/CL/sycl/handler.hpp b/sycl/include/CL/sycl/handler.hpp index 8eafa1e2e86af..82253db2bec8b 100644 --- a/sycl/include/CL/sycl/handler.hpp +++ b/sycl/include/CL/sycl/handler.hpp @@ -354,7 +354,7 @@ class __SYCL_EXPORT handler { } void throwIfActionIsCreated() { - if (detail::CG::NONE != getType()) + if (detail::CG::__SYCL_NONE != getType()) throw sycl::runtime_error("Attempt to set multiple actions for the " "command group. Command group must consist of " "a single kernel or explicit memory operation.", @@ -850,7 +850,7 @@ class __SYCL_EXPORT handler { MNDRDesc.set(std::move(NumWorkItems)); StoreLambda( std::move(KernelFunc)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); #endif } } @@ -869,7 +869,7 @@ class __SYCL_EXPORT handler { MKernel = detail::getSyclObjImpl(std::move(Kernel)); detail::checkValueRange(NumWorkItems); MNDRDesc.set(std::move(NumWorkItems)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); extractArgsAndReqs(); MKernelName = getKernelName(); } @@ -1068,7 +1068,7 @@ class __SYCL_EXPORT handler { MHostTask.reset(new detail::HostTask(std::move(Func))); - setType(detail::CG::CODEPLAY_HOST_TASK); + setType(detail::CG::__SYCL_CODEPLAY_HOST_TASK); } public: @@ -1215,7 +1215,7 @@ class __SYCL_EXPORT handler { MNDRDesc.set(range<1>{1}); StoreLambda(KernelFunc); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); #endif } @@ -1259,7 +1259,7 @@ class __SYCL_EXPORT handler { MArgs = std::move(MAssociatedAccesors); MHostKernel.reset( new detail::HostKernel(std::move(Func))); - setType(detail::CG::RUN_ON_HOST_INTEL); + setType(detail::CG::__SYCL_RUN_ON_HOST_INTEL); } template @@ -1322,7 +1322,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NumWorkItems, WorkItemOffset); MNDRDesc.set(std::move(NumWorkItems), std::move(WorkItemOffset)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); #endif } @@ -1353,7 +1353,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(ExecutionRange); MNDRDesc.set(std::move(ExecutionRange)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); #endif } @@ -1685,7 +1685,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NumWorkGroups); MNDRDesc.setNumWorkGroups(NumWorkGroups); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); #endif // __SYCL_DEVICE_ONLY__ } @@ -1720,7 +1720,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(ExecRange); MNDRDesc.set(std::move(ExecRange)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); #endif // __SYCL_DEVICE_ONLY__ } @@ -1737,7 +1737,7 @@ class __SYCL_EXPORT handler { // known constant MNDRDesc.set(range<1>{1}); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); extractArgsAndReqs(); MKernelName = getKernelName(); } @@ -1771,7 +1771,7 @@ class __SYCL_EXPORT handler { MKernel = detail::getSyclObjImpl(std::move(Kernel)); detail::checkValueRange(NumWorkItems, WorkItemOffset); MNDRDesc.set(std::move(NumWorkItems), std::move(WorkItemOffset)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); extractArgsAndReqs(); MKernelName = getKernelName(); } @@ -1790,7 +1790,7 @@ class __SYCL_EXPORT handler { MKernel = detail::getSyclObjImpl(std::move(Kernel)); detail::checkValueRange(NDRange); MNDRDesc.set(std::move(NDRange)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); extractArgsAndReqs(); MKernelName = getKernelName(); } @@ -1813,7 +1813,7 @@ class __SYCL_EXPORT handler { // known constant MNDRDesc.set(range<1>{1}); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); if (!MIsHost && !lambdaAndKernelHaveEqualName()) { extractArgsAndReqs(); MKernelName = getKernelName(); @@ -1830,7 +1830,7 @@ class __SYCL_EXPORT handler { template void interop_task(FuncT Func) { MInteropTask.reset(new detail::InteropTask(std::move(Func))); - setType(detail::CG::CODEPLAY_INTEROP_TASK); + setType(detail::CG::__SYCL_CODEPLAY_INTEROP_TASK); } /// Defines and invokes a SYCL kernel function for the specified range. @@ -1855,7 +1855,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NumWorkItems); MNDRDesc.set(std::move(NumWorkItems)); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); if (!MIsHost && !lambdaAndKernelHaveEqualName()) { extractArgsAndReqs(); MKernelName = getKernelName(); @@ -1891,7 +1891,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NumWorkItems, WorkItemOffset); MNDRDesc.set(std::move(NumWorkItems), std::move(WorkItemOffset)); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); if (!MIsHost && !lambdaAndKernelHaveEqualName()) { extractArgsAndReqs(); MKernelName = getKernelName(); @@ -1926,7 +1926,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NDRange); MNDRDesc.set(std::move(NDRange)); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); if (!MIsHost && !lambdaAndKernelHaveEqualName()) { extractArgsAndReqs(); MKernelName = getKernelName(); @@ -1966,7 +1966,7 @@ class __SYCL_EXPORT handler { MNDRDesc.setNumWorkGroups(NumWorkGroups); MKernel = detail::getSyclObjImpl(std::move(Kernel)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); #endif // __SYCL_DEVICE_ONLY__ } @@ -2006,7 +2006,7 @@ class __SYCL_EXPORT handler { MNDRDesc.set(std::move(ExecRange)); MKernel = detail::getSyclObjImpl(std::move(Kernel)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::KERNEL); + setType(detail::CG::__SYCL_KERNEL); #endif // __SYCL_DEVICE_ONLY__ } @@ -2089,7 +2089,7 @@ class __SYCL_EXPORT handler { return; } #endif - setType(detail::CG::COPY_ACC_TO_PTR); + setType(detail::CG::__SYCL_COPY_ACC_TO_PTR); detail::AccessorBaseHost *AccBase = (detail::AccessorBaseHost *)&Src; detail::AccessorImplPtr AccImpl = detail::getSyclObjImpl(*AccBase); @@ -2128,7 +2128,7 @@ class __SYCL_EXPORT handler { return; } #endif - setType(detail::CG::COPY_PTR_TO_ACC); + setType(detail::CG::__SYCL_COPY_PTR_TO_ACC); detail::AccessorBaseHost *AccBase = (detail::AccessorBaseHost *)&Dst; detail::AccessorImplPtr AccImpl = detail::getSyclObjImpl(*AccBase); @@ -2173,7 +2173,7 @@ class __SYCL_EXPORT handler { "The destination accessor does not fit the copied memory."); if (copyAccToAccHelper(Src, Dst)) return; - setType(detail::CG::COPY_ACC_TO_ACC); + setType(detail::CG::__SYCL_COPY_ACC_TO_ACC); detail::AccessorBaseHost *AccBaseSrc = (detail::AccessorBaseHost *)&Src; detail::AccessorImplPtr AccImplSrc = detail::getSyclObjImpl(*AccBaseSrc); @@ -2203,7 +2203,7 @@ class __SYCL_EXPORT handler { throwIfActionIsCreated(); static_assert(isValidTargetForExplicitOp(AccessTarget), "Invalid accessor target for the update_host method."); - setType(detail::CG::UPDATE_HOST); + setType(detail::CG::__SYCL_UPDATE_HOST); detail::AccessorBaseHost *AccBase = (detail::AccessorBaseHost *)&Acc; detail::AccessorImplPtr AccImpl = detail::getSyclObjImpl(*AccBase); @@ -2280,7 +2280,7 @@ class __SYCL_EXPORT handler { /// complete state. void barrier() { throwIfActionIsCreated(); - setType(detail::CG::BARRIER); + setType(detail::CG::__SYCL_BARRIER); } /// Prevents any commands submitted afterward to this queue from executing @@ -2368,7 +2368,7 @@ class __SYCL_EXPORT handler { /// Type of the command group, e.g. kernel, fill. Can also encode version. /// Use getType and setType methods to access this variable unless /// manipulations with version are required - detail::CG::CGTYPE MCGType = detail::CG::NONE; + detail::CG::CGTYPE MCGType = detail::CG::__SYCL_NONE; /// Pointer to the source host memory or accessor(depending on command type). void *MSrcPtr = nullptr; /// Pointer to the dest host memory or accessor(depends on command type). diff --git a/sycl/source/detail/scheduler/commands.cpp b/sycl/source/detail/scheduler/commands.cpp index 2190666aadde1..dabbc704038c9 100644 --- a/sycl/source/detail/scheduler/commands.cpp +++ b/sycl/source/detail/scheduler/commands.cpp @@ -203,7 +203,7 @@ class DispatchHostTask { void operator()() const { waitForEvents(); - assert(MThisCmd->getCG().getType() == CG::CGTYPE::CODEPLAY_HOST_TASK); + assert(MThisCmd->getCG().getType() == CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK); CGHostTask &HostTask = static_cast(MThisCmd->getCG()); @@ -1217,13 +1217,13 @@ AllocaCommandBase *ExecCGCommand::getAllocaForReq(Requirement *Req) { } std::vector ExecCGCommand::getStreams() const { - if (MCommandGroup->getType() == CG::KERNEL) + if (MCommandGroup->getType() == CG::__SYCL_KERNEL) return ((CGExecKernel *)MCommandGroup.get())->getStreams(); return {}; } void ExecCGCommand::clearStreams() { - if (MCommandGroup->getType() == CG::KERNEL) + if (MCommandGroup->getType() == CG::__SYCL_KERNEL) ((CGExecKernel *)MCommandGroup.get())->clearStreams(); } @@ -1451,34 +1451,34 @@ void UpdateHostRequirementCommand::emitInstrumentationData() { static std::string cgTypeToString(detail::CG::CGTYPE Type) { switch (Type) { - case detail::CG::KERNEL: + case detail::CG::__SYCL_KERNEL: return "Kernel"; break; - case detail::CG::UPDATE_HOST: + case detail::CG::__SYCL_UPDATE_HOST: return "update_host"; break; case detail::CG::__SYCL_FILL: return "fill"; break; - case detail::CG::COPY_ACC_TO_ACC: + case detail::CG::__SYCL_COPY_ACC_TO_ACC: return "copy acc to acc"; break; - case detail::CG::COPY_ACC_TO_PTR: + case detail::CG::__SYCL_COPY_ACC_TO_PTR: return "copy acc to ptr"; break; - case detail::CG::COPY_PTR_TO_ACC: + case detail::CG::__SYCL_COPY_PTR_TO_ACC: return "copy ptr to acc"; break; - case detail::CG::COPY_USM: + case detail::CG::__SYCL_COPY_USM: return "copy usm"; break; - case detail::CG::FILL_USM: + case detail::CG::__SYCL_FILL_USM: return "fill usm"; break; - case detail::CG::PREFETCH_USM: + case detail::CG::__SYCL_PREFETCH_USM: return "prefetch usm"; break; - case detail::CG::CODEPLAY_HOST_TASK: + case detail::CG::__SYCL_CODEPLAY_HOST_TASK: return "host task"; break; default: @@ -1504,7 +1504,7 @@ void ExecCGCommand::emitInstrumentationData() { bool HasSourceInfo = false; std::string KernelName, FromSource; switch (MCommandGroup->getType()) { - case detail::CG::KERNEL: { + case detail::CG::__SYCL_KERNEL: { auto KernelCG = reinterpret_cast(MCommandGroup.get()); @@ -1591,7 +1591,7 @@ void ExecCGCommand::printDot(std::ostream &Stream) const { Stream << "EXEC CG ON " << deviceToString(MQueue->get_device()) << "\\n"; switch (MCommandGroup->getType()) { - case detail::CG::KERNEL: { + case detail::CG::__SYCL_KERNEL: { auto KernelCG = reinterpret_cast(MCommandGroup.get()); Stream << "Kernel name: "; @@ -1798,7 +1798,7 @@ void DispatchNativeKernel(void *Blob) { } cl_int ExecCGCommand::enqueueImp() { - if (getCG().getType() != CG::CGTYPE::CODEPLAY_HOST_TASK) + if (getCG().getType() != CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK) waitForPreparedHostEvents(); std::vector EventImpls = MPreparedDepsEvents; auto RawEvents = getPiEvents(EventImpls); @@ -1807,11 +1807,11 @@ cl_int ExecCGCommand::enqueueImp() { switch (MCommandGroup->getType()) { - case CG::CGTYPE::UPDATE_HOST: { + case CG::CGTYPE::__SYCL_UPDATE_HOST: { throw runtime_error("Update host should be handled by the Scheduler.", PI_INVALID_OPERATION); } - case CG::CGTYPE::COPY_ACC_TO_PTR: { + case CG::CGTYPE::__SYCL_COPY_ACC_TO_PTR: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *Req = (Requirement *)Copy->getSrc(); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); @@ -1826,7 +1826,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::COPY_PTR_TO_ACC: { + case CG::CGTYPE::__SYCL_COPY_PTR_TO_ACC: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *Req = (Requirement *)(Copy->getDst()); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); @@ -1843,7 +1843,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::COPY_ACC_TO_ACC: { + case CG::CGTYPE::__SYCL_COPY_ACC_TO_ACC: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *ReqSrc = (Requirement *)(Copy->getSrc()); Requirement *ReqDst = (Requirement *)(Copy->getDst()); @@ -1873,7 +1873,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::RUN_ON_HOST_INTEL: { + case CG::CGTYPE::__SYCL_RUN_ON_HOST_INTEL: { CGExecKernel *HostTask = (CGExecKernel *)MCommandGroup.get(); // piEnqueueNativeKernel takes arguments blob which is passes to user @@ -1944,7 +1944,7 @@ cl_int ExecCGCommand::enqueueImp() { "Enqueueing run_on_host_intel task has failed.", Error); } } - case CG::CGTYPE::KERNEL: { + case CG::CGTYPE::__SYCL_KERNEL: { CGExecKernel *ExecKernel = (CGExecKernel *)MCommandGroup.get(); NDRDescT &NDRDesc = ExecKernel->MNDRDesc; @@ -2061,21 +2061,21 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::COPY_USM: { + case CG::CGTYPE::__SYCL_COPY_USM: { CGCopyUSM *Copy = (CGCopyUSM *)MCommandGroup.get(); MemoryManager::copy_usm(Copy->getSrc(), MQueue, Copy->getLength(), Copy->getDst(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::FILL_USM: { + case CG::CGTYPE::__SYCL_FILL_USM: { CGFillUSM *Fill = (CGFillUSM *)MCommandGroup.get(); MemoryManager::fill_usm(Fill->getDst(), MQueue, Fill->getLength(), Fill->getFill(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::PREFETCH_USM: { + case CG::CGTYPE::__SYCL_PREFETCH_USM: { CGPrefetchUSM *Prefetch = (CGPrefetchUSM *)MCommandGroup.get(); MemoryManager::prefetch_usm(Prefetch->getDst(), MQueue, Prefetch->getLength(), std::move(RawEvents), @@ -2083,14 +2083,14 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::ADVISE_USM: { + case CG::CGTYPE::__SYCL_ADVISE_USM: { CGAdviseUSM *Advise = (CGAdviseUSM *)MCommandGroup.get(); MemoryManager::advise_usm(Advise->getDst(), MQueue, Advise->getLength(), Advise->getAdvice(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::CODEPLAY_INTEROP_TASK: { + case CG::CGTYPE::__SYCL_CODEPLAY_INTEROP_TASK: { const detail::plugin &Plugin = MQueue->getPlugin(); CGInteropTask *ExecInterop = (CGInteropTask *)MCommandGroup.get(); // Wait for dependencies to complete before dispatching work on the host @@ -2118,7 +2118,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::CODEPLAY_HOST_TASK: { + case CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK: { CGHostTask *HostTask = static_cast(MCommandGroup.get()); for (ArgDesc &Arg : HostTask->MArgs) { @@ -2173,7 +2173,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::BARRIER: { + case CG::CGTYPE::__SYCL_BARRIER: { if (MQueue->get_device().is_host()) { // NOP for host device. return PI_SUCCESS; @@ -2184,7 +2184,7 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::BARRIER_WAITLIST: { + case CG::CGTYPE::__SYCL_BARRIER_WAITLIST: { CGBarrier *Barrier = static_cast(MCommandGroup.get()); std::vector Events = Barrier->MEventsWaitWithBarrier; if (MQueue->get_device().is_host() || Events.empty()) { @@ -2199,14 +2199,14 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::NONE: + case CG::CGTYPE::__SYCL_NONE: throw runtime_error("CG type not implemented.", PI_INVALID_OPERATION); } return PI_INVALID_OPERATION; } bool ExecCGCommand::producesPiEvent() const { - return MCommandGroup->getType() != CG::CGTYPE::CODEPLAY_HOST_TASK; + return MCommandGroup->getType() != CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK; } } // namespace detail diff --git a/sycl/source/detail/scheduler/graph_builder.cpp b/sycl/source/detail/scheduler/graph_builder.cpp index 6b507a0d9df20..f9a86c09f9a67 100644 --- a/sycl/source/detail/scheduler/graph_builder.cpp +++ b/sycl/source/detail/scheduler/graph_builder.cpp @@ -849,7 +849,7 @@ Scheduler::GraphBuilder::addEmptyCmd(Command *Cmd, const std::vector &Reqs, } static bool isInteropHostTask(const std::unique_ptr &Cmd) { - if (Cmd->getCG().getType() != CG::CGTYPE::CODEPLAY_HOST_TASK) + if (Cmd->getCG().getType() != CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK) return false; const detail::CGHostTask &HT = @@ -978,7 +978,7 @@ Scheduler::GraphBuilder::addCG(std::unique_ptr CommandGroup, ToEnqueue.push_back(ConnCmd); } - if (CGType == CG::CGTYPE::CODEPLAY_HOST_TASK) + if (CGType == CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK) NewCmd->MEmptyCmd = addEmptyCmd(NewCmd.get(), NewCmd->getCG().MRequirements, Queue, Command::BlockReason::HostTask, ToEnqueue); @@ -1189,7 +1189,7 @@ Command *Scheduler::GraphBuilder::connectDepEvent(Command *const Cmd, std::move(HT), /* Queue = */ {}, /* Context = */ {}, /* Args = */ {}, /* ArgsStorage = */ {}, /* AccStorage = */ {}, /* SharedPtrStorage = */ {}, /* Requirements = */ {}, - /* DepEvents = */ {DepEvent}, CG::CODEPLAY_HOST_TASK, + /* DepEvents = */ {DepEvent}, CG::__SYCL_CODEPLAY_HOST_TASK, /* Payload */ {})); ConnectCmd = new ExecCGCommand( std::move(ConnectCG), Scheduler::getInstance().getDefaultHostQueue()); diff --git a/sycl/source/detail/scheduler/scheduler.cpp b/sycl/source/detail/scheduler/scheduler.cpp index 3b0bc2485648d..4dbde7ce3fb74 100644 --- a/sycl/source/detail/scheduler/scheduler.cpp +++ b/sycl/source/detail/scheduler/scheduler.cpp @@ -71,9 +71,9 @@ void Scheduler::waitForRecordToFinish(MemObjRecord *Record, EventImplPtr Scheduler::addCG(std::unique_ptr CommandGroup, QueueImplPtr Queue) { EventImplPtr NewEvent = nullptr; - const bool IsKernel = CommandGroup->getType() == CG::KERNEL; + const bool IsKernel = CommandGroup->getType() == CG::__SYCL_KERNEL; std::vector AuxiliaryCmds; - const bool IsHostKernel = CommandGroup->getType() == CG::RUN_ON_HOST_INTEL; + const bool IsHostKernel = CommandGroup->getType() == CG::__SYCL_RUN_ON_HOST_INTEL; std::vector Streams; if (IsKernel) { @@ -94,11 +94,11 @@ EventImplPtr Scheduler::addCG(std::unique_ptr CommandGroup, Command *NewCmd = nullptr; switch (CommandGroup->getType()) { - case CG::UPDATE_HOST: + case CG::__SYCL_UPDATE_HOST: NewCmd = MGraphBuilder.addCGUpdateHost(std::move(CommandGroup), DefaultHostQueue, AuxiliaryCmds); break; - case CG::CODEPLAY_HOST_TASK: + case CG::__SYCL_CODEPLAY_HOST_TASK: NewCmd = MGraphBuilder.addCG(std::move(CommandGroup), DefaultHostQueue, AuxiliaryCmds); break; diff --git a/sycl/source/handler.cpp b/sycl/source/handler.cpp index 9973f8f5f262e..08e6468b14473 100644 --- a/sycl/source/handler.cpp +++ b/sycl/source/handler.cpp @@ -133,8 +133,8 @@ event handler::finalize() { std::unique_ptr CommandGroup; switch (getType()) { - case detail::CG::KERNEL: - case detail::CG::RUN_ON_HOST_INTEL: { + case detail::CG::__SYCL_KERNEL: + case detail::CG::__SYCL_RUN_ON_HOST_INTEL: { CommandGroup.reset(new detail::CGExecKernel( std::move(MNDRDesc), std::move(MHostKernel), std::move(MKernel), std::move(MArgsStorage), std::move(MAccStorage), @@ -144,15 +144,15 @@ event handler::finalize() { MCodeLoc)); break; } - case detail::CG::CODEPLAY_INTEROP_TASK: + case detail::CG::__SYCL_CODEPLAY_INTEROP_TASK: CommandGroup.reset(new detail::CGInteropTask( std::move(MInteropTask), std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCGType, MCodeLoc)); break; - case detail::CG::COPY_ACC_TO_PTR: - case detail::CG::COPY_PTR_TO_ACC: - case detail::CG::COPY_ACC_TO_ACC: + case detail::CG::__SYCL_COPY_ACC_TO_PTR: + case detail::CG::__SYCL_COPY_PTR_TO_ACC: + case detail::CG::__SYCL_COPY_ACC_TO_ACC: CommandGroup.reset(new detail::CGCopy( MCGType, MSrcPtr, MDstPtr, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), @@ -164,51 +164,51 @@ event handler::finalize() { std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::UPDATE_HOST: + case detail::CG::__SYCL_UPDATE_HOST: CommandGroup.reset(new detail::CGUpdateHost( MDstPtr, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::COPY_USM: + case detail::CG::__SYCL_COPY_USM: CommandGroup.reset(new detail::CGCopyUSM( MSrcPtr, MDstPtr, MLength, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::FILL_USM: + case detail::CG::__SYCL_FILL_USM: CommandGroup.reset(new detail::CGFillUSM( std::move(MPattern), MDstPtr, MLength, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::PREFETCH_USM: + case detail::CG::__SYCL_PREFETCH_USM: CommandGroup.reset(new detail::CGPrefetchUSM( MDstPtr, MLength, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::ADVISE_USM: + case detail::CG::__SYCL_ADVISE_USM: CommandGroup.reset(new detail::CGAdviseUSM( MDstPtr, MLength, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCGType, MCodeLoc)); break; - case detail::CG::CODEPLAY_HOST_TASK: + case detail::CG::__SYCL_CODEPLAY_HOST_TASK: CommandGroup.reset(new detail::CGHostTask( std::move(MHostTask), MQueue, MQueue->getContextImplPtr(), std::move(MArgs), std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCGType, MCodeLoc)); break; - case detail::CG::BARRIER: - case detail::CG::BARRIER_WAITLIST: + case detail::CG::__SYCL_BARRIER: + case detail::CG::__SYCL_BARRIER_WAITLIST: CommandGroup.reset(new detail::CGBarrier( std::move(MEventsWaitWithBarrier), std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCGType, MCodeLoc)); break; - case detail::CG::NONE: + case detail::CG::__SYCL_NONE: if (detail::pi::trace(detail::pi::TraceLevel::PI_TRACE_ALL)) { std::cout << "WARNING: An empty command group is submitted." << std::endl; } @@ -476,7 +476,7 @@ std::string handler::getKernelName() { void handler::barrier(const std::vector &WaitList) { throwIfActionIsCreated(); - MCGType = detail::CG::BARRIER_WAITLIST; + MCGType = detail::CG::__SYCL_BARRIER_WAITLIST; MEventsWaitWithBarrier.resize(WaitList.size()); std::transform( WaitList.begin(), WaitList.end(), MEventsWaitWithBarrier.begin(), @@ -488,7 +488,7 @@ void handler::memcpy(void *Dest, const void *Src, size_t Count) { MSrcPtr = const_cast(Src); MDstPtr = Dest; MLength = Count; - setType(detail::CG::COPY_USM); + setType(detail::CG::__SYCL_COPY_USM); } void handler::memset(void *Dest, int Value, size_t Count) { @@ -496,21 +496,21 @@ void handler::memset(void *Dest, int Value, size_t Count) { MDstPtr = Dest; MPattern.push_back(static_cast(Value)); MLength = Count; - setType(detail::CG::FILL_USM); + setType(detail::CG::__SYCL_FILL_USM); } void handler::prefetch(const void *Ptr, size_t Count) { throwIfActionIsCreated(); MDstPtr = const_cast(Ptr); MLength = Count; - setType(detail::CG::PREFETCH_USM); + setType(detail::CG::__SYCL_PREFETCH_USM); } void handler::mem_advise(const void *Ptr, size_t Count, int Advice) { throwIfActionIsCreated(); MDstPtr = const_cast(Ptr); MLength = Count; - setType(detail::CG::ADVISE_USM); + setType(detail::CG::__SYCL_ADVISE_USM); assert(!MSharedPtrStorage.empty()); diff --git a/sycl/test/regression/check_simple_name_collisions.cpp b/sycl/test/regression/check_simple_name_collisions.cpp new file mode 100644 index 0000000000000..02e9fdea1d0df --- /dev/null +++ b/sycl/test/regression/check_simple_name_collisions.cpp @@ -0,0 +1,25 @@ +// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out + +#define NONE +#define KERNEL +#define COPY_ACC_TO_PTR +#define COPY_PTR_TO_ACC +#define COPY_ACC_TO_ACC +#define BARRIER +#define BARRIER_WAITLIST +#define FILL +#define UPDATE_HOST +#define RUN_ON_HOST_INTEL +#define COPY_USM +#define FILL_USM +#define PREFETCH_USM +#define CODEPLAY_INTEROP_TASK +#define CODEPLAY_HOST_TASK +#define ADVISE_USM +#define BUFFER +#define IMAGE +#define UNDEFINED + +#include + +int main() { return 0; } diff --git a/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp b/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp index 720247e38c27b..c5a40145607b8 100644 --- a/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp +++ b/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp @@ -42,8 +42,8 @@ class MockHandler : public sycl::handler { auto CGH = static_cast(this); unique_ptr_class CommandGroup; switch (CGH->MCGType) { - case detail::CG::KERNEL: - case detail::CG::RUN_ON_HOST_INTEL: { + case detail::CG::__SYCL_KERNEL: + case detail::CG::__SYCL_RUN_ON_HOST_INTEL: { CommandGroup.reset(new detail::CGExecKernel( std::move(CGH->MNDRDesc), std::move(CGH->MHostKernel), std::move(CGH->MKernel), std::move(CGH->MArgsStorage), @@ -97,7 +97,7 @@ TEST_F(SchedulerTest, StreamInitDependencyOnHost) { // Emulating processing of command group function MockHandler MockCGH(HQueueImpl, true); - MockCGH.setType(detail::CG::KERNEL); + MockCGH.setType(detail::CG::__SYCL_KERNEL); auto EmptyKernel = [](sycl::nd_item<1>) {}; MockCGH From 0c58e7f729c52ea325d1d3bbe5106355d34aa552 Mon Sep 17 00:00:00 2001 From: Denis Kabanov Date: Wed, 21 Jul 2021 17:40:44 +0300 Subject: [PATCH 3/8] [SYCL][NFC] Fix name collisions in SYCL enums Correcting the definition of some macros causes name collisions if they are defined prior to including of CL/sycl.hpp. --- sycl/include/CL/sycl/detail/cg.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sycl/include/CL/sycl/detail/cg.hpp b/sycl/include/CL/sycl/detail/cg.hpp index a4ceea17705d0..17086e6f083e2 100644 --- a/sycl/include/CL/sycl/detail/cg.hpp +++ b/sycl/include/CL/sycl/detail/cg.hpp @@ -263,8 +263,9 @@ class CGExecKernel : public CG { MSyclKernel(std::move(SyclKernel)), MArgs(std::move(Args)), MKernelName(std::move(KernelName)), MOSModuleHandle(OSModuleHandle), MStreams(std::move(Streams)) { - assert((getType() == __SYCL_RUN_ON_HOST_INTEL || getType() == __SYCL_KERNEL) && - "Wrong type of exec kernel CG."); + assert( + (getType() == __SYCL_RUN_ON_HOST_INTEL || getType() == __SYCL_KERNEL) && + "Wrong type of exec kernel CG."); } std::vector getArguments() const { return MArgs; } From 03e104c374aaf759820650937234a843cf30c5c5 Mon Sep 17 00:00:00 2001 From: Denis Kabanov Date: Wed, 21 Jul 2021 18:59:03 +0300 Subject: [PATCH 4/8] Fix clang-format and CamelCase --- sycl/include/CL/sycl/detail/buffer_impl.hpp | 2 +- sycl/include/CL/sycl/detail/cg.hpp | 47 +++++++------ sycl/include/CL/sycl/detail/image_impl.hpp | 2 +- .../include/CL/sycl/detail/sycl_mem_obj_i.hpp | 2 +- .../include/CL/sycl/detail/sycl_mem_obj_t.hpp | 4 +- sycl/include/CL/sycl/handler.hpp | 54 +++++++-------- sycl/source/detail/memory_manager.cpp | 10 +-- sycl/source/detail/scheduler/commands.cpp | 68 +++++++++---------- .../source/detail/scheduler/graph_builder.cpp | 8 +-- sycl/source/detail/scheduler/scheduler.cpp | 8 +-- sycl/source/handler.cpp | 42 ++++++------ .../scheduler/LinkedAllocaDependencies.cpp | 2 +- .../scheduler/StreamInitDependencyOnHost.cpp | 6 +- 13 files changed, 128 insertions(+), 127 deletions(-) diff --git a/sycl/include/CL/sycl/detail/buffer_impl.hpp b/sycl/include/CL/sycl/detail/buffer_impl.hpp index 4c1e5a7ea04ce..3d5021427254d 100644 --- a/sycl/include/CL/sycl/detail/buffer_impl.hpp +++ b/sycl/include/CL/sycl/detail/buffer_impl.hpp @@ -147,7 +147,7 @@ class __SYCL_EXPORT buffer_impl final : public SYCLMemObjT { void *allocateMem(ContextImplPtr Context, bool InitFromUserData, void *HostPtr, RT::PiEvent &OutEventToWait) override; - MemObjType getType() const override { return MemObjType::__SYCL_BUFFER; } + MemObjType getType() const override { return MemObjType::Buffer; } ~buffer_impl() { try { diff --git a/sycl/include/CL/sycl/detail/cg.hpp b/sycl/include/CL/sycl/detail/cg.hpp index 17086e6f083e2..5755330281a14 100644 --- a/sycl/include/CL/sycl/detail/cg.hpp +++ b/sycl/include/CL/sycl/detail/cg.hpp @@ -150,22 +150,22 @@ class CG { /// Type of the command group. enum CGTYPE : unsigned int { - __SYCL_NONE = 0, - __SYCL_KERNEL = 1, - __SYCL_COPY_ACC_TO_PTR = 2, - __SYCL_COPY_PTR_TO_ACC = 3, - __SYCL_COPY_ACC_TO_ACC = 4, - __SYCL_BARRIER = 5, - __SYCL_BARRIER_WAITLIST = 6, - __SYCL_FILL = 7, - __SYCL_UPDATE_HOST = 8, - __SYCL_RUN_ON_HOST_INTEL = 9, - __SYCL_COPY_USM = 10, - __SYCL_FILL_USM = 11, - __SYCL_PREFETCH_USM = 12, - __SYCL_CODEPLAY_INTEROP_TASK = 13, - __SYCL_CODEPLAY_HOST_TASK = 14, - __SYCL_ADVISE_USM = 15, + None = 0, + Kernel = 1, + CopyAccToPtr = 2, + CopyPtrToAcc = 3, + CopyAccToAcc = 4, + Barrier = 5, + BarrierWaitlist = 6, + Fill = 7, + UpdateHost = 8, + RunOnHostIntel = 9, + CopyUSM = 10, + FillUSM = 11, + PrefetchUSM = 12, + CodeplayInteropTask = 13, + CodeplayHostTask = 14, + AdviseUSM = 15, }; CG(CGTYPE Type, std::vector> ArgsStorage, @@ -263,9 +263,8 @@ class CGExecKernel : public CG { MSyclKernel(std::move(SyclKernel)), MArgs(std::move(Args)), MKernelName(std::move(KernelName)), MOSModuleHandle(OSModuleHandle), MStreams(std::move(Streams)) { - assert( - (getType() == __SYCL_RUN_ON_HOST_INTEL || getType() == __SYCL_KERNEL) && - "Wrong type of exec kernel CG."); + assert((getType() == RunOnHostIntel || getType() == Kernel) && + "Wrong type of exec kernel CG."); } std::vector getArguments() const { return MArgs; } @@ -323,7 +322,7 @@ class CGFill : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(__SYCL_FILL, std::move(ArgsStorage), std::move(AccStorage), + : CG(Fill, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPattern(std::move(Pattern)), MPtr((Requirement *)Ptr) {} @@ -341,7 +340,7 @@ class CGUpdateHost : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(__SYCL_UPDATE_HOST, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGTYPE::UpdateHost, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPtr((Requirement *)Ptr) {} @@ -363,7 +362,7 @@ class CGCopyUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(__SYCL_COPY_USM, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGTYPE::CopyUSM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MSrc(Src), MDst(Dst), MLength(Length) {} @@ -387,7 +386,7 @@ class CGFillUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(__SYCL_FILL_USM, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGTYPE::FillUSM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPattern(std::move(Pattern)), MDst(DstPtr), MLength(Length) {} @@ -409,7 +408,7 @@ class CGPrefetchUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(__SYCL_PREFETCH_USM, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGTYPE::PrefetchUSM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MDst(DstPtr), MLength(Length) {} diff --git a/sycl/include/CL/sycl/detail/image_impl.hpp b/sycl/include/CL/sycl/detail/image_impl.hpp index bb6df7b062689..b708e29e9f674 100644 --- a/sycl/include/CL/sycl/detail/image_impl.hpp +++ b/sycl/include/CL/sycl/detail/image_impl.hpp @@ -211,7 +211,7 @@ class __SYCL_EXPORT image_impl final : public SYCLMemObjT { void *allocateMem(ContextImplPtr Context, bool InitFromUserData, void *HostPtr, RT::PiEvent &OutEventToWait) override; - MemObjType getType() const override { return MemObjType::__SYCL_IMAGE; } + MemObjType getType() const override { return MemObjType::Image; } // This utility api is currently used by accessor to get the element size of // the image. Element size is dependent on num of channels and channel type. diff --git a/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp b/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp index a26a2af9d1c4c..c37d4945f1e9c 100644 --- a/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp +++ b/sycl/include/CL/sycl/detail/sycl_mem_obj_i.hpp @@ -29,7 +29,7 @@ class SYCLMemObjI { public: virtual ~SYCLMemObjI() = default; - enum MemObjType { __SYCL_BUFFER = 0, __SYCL_IMAGE = 1, __SYCL_UNDEFINED = 2 }; + enum MemObjType { Buffer = 0, Image = 1, Undefined = 2 }; virtual MemObjType getType() const = 0; diff --git a/sycl/include/CL/sycl/detail/sycl_mem_obj_t.hpp b/sycl/include/CL/sycl/detail/sycl_mem_obj_t.hpp index 04bd1ec05251b..03165fbe68b4e 100644 --- a/sycl/include/CL/sycl/detail/sycl_mem_obj_t.hpp +++ b/sycl/include/CL/sycl/detail/sycl_mem_obj_t.hpp @@ -294,7 +294,9 @@ class __SYCL_EXPORT SYCLMemObjT : public SYCLMemObjI { throw runtime_error("Not implemented", PI_INVALID_OPERATION); } - __SYCL_DLL_LOCAL MemObjType getType() const override { return __SYCL_UNDEFINED; } + __SYCL_DLL_LOCAL MemObjType getType() const override { + return MemObjType::Undefined; + } ContextImplPtr getInteropContext() const override { return MInteropContext; } diff --git a/sycl/include/CL/sycl/handler.hpp b/sycl/include/CL/sycl/handler.hpp index 82253db2bec8b..23e29f1d66596 100644 --- a/sycl/include/CL/sycl/handler.hpp +++ b/sycl/include/CL/sycl/handler.hpp @@ -354,7 +354,7 @@ class __SYCL_EXPORT handler { } void throwIfActionIsCreated() { - if (detail::CG::__SYCL_NONE != getType()) + if (detail::CG::None != getType()) throw sycl::runtime_error("Attempt to set multiple actions for the " "command group. Command group must consist of " "a single kernel or explicit memory operation.", @@ -850,7 +850,7 @@ class __SYCL_EXPORT handler { MNDRDesc.set(std::move(NumWorkItems)); StoreLambda( std::move(KernelFunc)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); #endif } } @@ -869,7 +869,7 @@ class __SYCL_EXPORT handler { MKernel = detail::getSyclObjImpl(std::move(Kernel)); detail::checkValueRange(NumWorkItems); MNDRDesc.set(std::move(NumWorkItems)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); extractArgsAndReqs(); MKernelName = getKernelName(); } @@ -1068,7 +1068,7 @@ class __SYCL_EXPORT handler { MHostTask.reset(new detail::HostTask(std::move(Func))); - setType(detail::CG::__SYCL_CODEPLAY_HOST_TASK); + setType(detail::CG::CodeplayHostTask); } public: @@ -1215,7 +1215,7 @@ class __SYCL_EXPORT handler { MNDRDesc.set(range<1>{1}); StoreLambda(KernelFunc); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); #endif } @@ -1259,7 +1259,7 @@ class __SYCL_EXPORT handler { MArgs = std::move(MAssociatedAccesors); MHostKernel.reset( new detail::HostKernel(std::move(Func))); - setType(detail::CG::__SYCL_RUN_ON_HOST_INTEL); + setType(detail::CG::RunOnHostIntel); } template @@ -1322,7 +1322,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NumWorkItems, WorkItemOffset); MNDRDesc.set(std::move(NumWorkItems), std::move(WorkItemOffset)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); #endif } @@ -1353,7 +1353,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(ExecutionRange); MNDRDesc.set(std::move(ExecutionRange)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); #endif } @@ -1685,7 +1685,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NumWorkGroups); MNDRDesc.setNumWorkGroups(NumWorkGroups); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); #endif // __SYCL_DEVICE_ONLY__ } @@ -1720,7 +1720,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(ExecRange); MNDRDesc.set(std::move(ExecRange)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); #endif // __SYCL_DEVICE_ONLY__ } @@ -1737,7 +1737,7 @@ class __SYCL_EXPORT handler { // known constant MNDRDesc.set(range<1>{1}); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); extractArgsAndReqs(); MKernelName = getKernelName(); } @@ -1771,7 +1771,7 @@ class __SYCL_EXPORT handler { MKernel = detail::getSyclObjImpl(std::move(Kernel)); detail::checkValueRange(NumWorkItems, WorkItemOffset); MNDRDesc.set(std::move(NumWorkItems), std::move(WorkItemOffset)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); extractArgsAndReqs(); MKernelName = getKernelName(); } @@ -1790,7 +1790,7 @@ class __SYCL_EXPORT handler { MKernel = detail::getSyclObjImpl(std::move(Kernel)); detail::checkValueRange(NDRange); MNDRDesc.set(std::move(NDRange)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); extractArgsAndReqs(); MKernelName = getKernelName(); } @@ -1813,7 +1813,7 @@ class __SYCL_EXPORT handler { // known constant MNDRDesc.set(range<1>{1}); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); if (!MIsHost && !lambdaAndKernelHaveEqualName()) { extractArgsAndReqs(); MKernelName = getKernelName(); @@ -1830,7 +1830,7 @@ class __SYCL_EXPORT handler { template void interop_task(FuncT Func) { MInteropTask.reset(new detail::InteropTask(std::move(Func))); - setType(detail::CG::__SYCL_CODEPLAY_INTEROP_TASK); + setType(detail::CG::CodeplayInteropTask); } /// Defines and invokes a SYCL kernel function for the specified range. @@ -1855,7 +1855,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NumWorkItems); MNDRDesc.set(std::move(NumWorkItems)); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); if (!MIsHost && !lambdaAndKernelHaveEqualName()) { extractArgsAndReqs(); MKernelName = getKernelName(); @@ -1891,7 +1891,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NumWorkItems, WorkItemOffset); MNDRDesc.set(std::move(NumWorkItems), std::move(WorkItemOffset)); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); if (!MIsHost && !lambdaAndKernelHaveEqualName()) { extractArgsAndReqs(); MKernelName = getKernelName(); @@ -1926,7 +1926,7 @@ class __SYCL_EXPORT handler { detail::checkValueRange(NDRange); MNDRDesc.set(std::move(NDRange)); MKernel = detail::getSyclObjImpl(std::move(Kernel)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); if (!MIsHost && !lambdaAndKernelHaveEqualName()) { extractArgsAndReqs(); MKernelName = getKernelName(); @@ -1966,7 +1966,7 @@ class __SYCL_EXPORT handler { MNDRDesc.setNumWorkGroups(NumWorkGroups); MKernel = detail::getSyclObjImpl(std::move(Kernel)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); #endif // __SYCL_DEVICE_ONLY__ } @@ -2006,7 +2006,7 @@ class __SYCL_EXPORT handler { MNDRDesc.set(std::move(ExecRange)); MKernel = detail::getSyclObjImpl(std::move(Kernel)); StoreLambda(std::move(KernelFunc)); - setType(detail::CG::__SYCL_KERNEL); + setType(detail::CG::Kernel); #endif // __SYCL_DEVICE_ONLY__ } @@ -2089,7 +2089,7 @@ class __SYCL_EXPORT handler { return; } #endif - setType(detail::CG::__SYCL_COPY_ACC_TO_PTR); + setType(detail::CG::CopyAccToPtr); detail::AccessorBaseHost *AccBase = (detail::AccessorBaseHost *)&Src; detail::AccessorImplPtr AccImpl = detail::getSyclObjImpl(*AccBase); @@ -2128,7 +2128,7 @@ class __SYCL_EXPORT handler { return; } #endif - setType(detail::CG::__SYCL_COPY_PTR_TO_ACC); + setType(detail::CG::CopyPtrToAcc); detail::AccessorBaseHost *AccBase = (detail::AccessorBaseHost *)&Dst; detail::AccessorImplPtr AccImpl = detail::getSyclObjImpl(*AccBase); @@ -2173,7 +2173,7 @@ class __SYCL_EXPORT handler { "The destination accessor does not fit the copied memory."); if (copyAccToAccHelper(Src, Dst)) return; - setType(detail::CG::__SYCL_COPY_ACC_TO_ACC); + setType(detail::CG::CopyAccToAcc); detail::AccessorBaseHost *AccBaseSrc = (detail::AccessorBaseHost *)&Src; detail::AccessorImplPtr AccImplSrc = detail::getSyclObjImpl(*AccBaseSrc); @@ -2203,7 +2203,7 @@ class __SYCL_EXPORT handler { throwIfActionIsCreated(); static_assert(isValidTargetForExplicitOp(AccessTarget), "Invalid accessor target for the update_host method."); - setType(detail::CG::__SYCL_UPDATE_HOST); + setType(detail::CG::UpdateHost); detail::AccessorBaseHost *AccBase = (detail::AccessorBaseHost *)&Acc; detail::AccessorImplPtr AccImpl = detail::getSyclObjImpl(*AccBase); @@ -2235,7 +2235,7 @@ class __SYCL_EXPORT handler { "Invalid accessor target for the fill method."); if (!MIsHost && (((Dims == 1) && isConstOrGlobal(AccessTarget)) || isImageOrImageArray(AccessTarget))) { - setType(detail::CG::__SYCL_FILL); + setType(detail::CG::Fill); detail::AccessorBaseHost *AccBase = (detail::AccessorBaseHost *)&Dst; detail::AccessorImplPtr AccImpl = detail::getSyclObjImpl(*AccBase); @@ -2280,7 +2280,7 @@ class __SYCL_EXPORT handler { /// complete state. void barrier() { throwIfActionIsCreated(); - setType(detail::CG::__SYCL_BARRIER); + setType(detail::CG::Barrier); } /// Prevents any commands submitted afterward to this queue from executing @@ -2368,7 +2368,7 @@ class __SYCL_EXPORT handler { /// Type of the command group, e.g. kernel, fill. Can also encode version. /// Use getType and setType methods to access this variable unless /// manipulations with version are required - detail::CG::CGTYPE MCGType = detail::CG::__SYCL_NONE; + detail::CG::CGTYPE MCGType = detail::CG::None; /// Pointer to the source host memory or accessor(depending on command type). void *MSrcPtr = nullptr; /// Pointer to the dest host memory or accessor(depends on command type). diff --git a/sycl/source/detail/memory_manager.cpp b/sycl/source/detail/memory_manager.cpp index 9f9e308f9094f..d8d4a05c4b75c 100644 --- a/sycl/source/detail/memory_manager.cpp +++ b/sycl/source/detail/memory_manager.cpp @@ -253,7 +253,7 @@ void prepTermPositions(TermPositions &pos, int Dimensions, // 3 ==> {depth, height, width} // Some callers schedule 0 as DimDst/DimSrc. - if (Type == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { + if (Type == detail::SYCLMemObjI::MemObjType::Buffer) { if (Dimensions == 3) { pos.XTerm = 2, pos.YTerm = 1, pos.ZTerm = 0; } else if (Dimensions == 2) { @@ -294,7 +294,7 @@ void copyH2D(SYCLMemObjI *SYCLMemObj, char *SrcMem, QueueImplPtr, size_t DstSzWidthBytes = DstSize[DstPos.XTerm] * DstElemSize; size_t SrcSzWidthBytes = SrcSize[SrcPos.XTerm] * SrcElemSize; - if (MemType == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { + if (MemType == detail::SYCLMemObjI::MemObjType::Buffer) { if (1 == DimDst && 1 == DimSrc) { Plugin.call( Queue, DstMem, @@ -372,7 +372,7 @@ void copyD2H(SYCLMemObjI *SYCLMemObj, RT::PiMem SrcMem, QueueImplPtr SrcQueue, size_t DstSzWidthBytes = DstSize[DstPos.XTerm] * DstElemSize; size_t SrcSzWidthBytes = SrcSize[SrcPos.XTerm] * SrcElemSize; - if (MemType == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { + if (MemType == detail::SYCLMemObjI::MemObjType::Buffer) { if (1 == DimDst && 1 == DimSrc) { Plugin.call( Queue, SrcMem, @@ -441,7 +441,7 @@ void copyD2D(SYCLMemObjI *SYCLMemObj, RT::PiMem SrcMem, QueueImplPtr SrcQueue, size_t DstSzWidthBytes = DstSize[DstPos.XTerm] * DstElemSize; size_t SrcSzWidthBytes = SrcSize[SrcPos.XTerm] * SrcElemSize; - if (MemType == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { + if (MemType == detail::SYCLMemObjI::MemObjType::Buffer) { if (1 == DimDst && 1 == DimSrc) { Plugin.call( Queue, SrcMem, DstMem, SrcXOffBytes, DstXOffBytes, @@ -567,7 +567,7 @@ void MemoryManager::fill(SYCLMemObjI *SYCLMemObj, void *Mem, QueueImplPtr Queue, assert(SYCLMemObj && "The SYCLMemObj is nullptr"); const detail::plugin &Plugin = Queue->getPlugin(); - if (SYCLMemObj->getType() == detail::SYCLMemObjI::MemObjType::__SYCL_BUFFER) { + if (SYCLMemObj->getType() == detail::SYCLMemObjI::MemObjType::Buffer) { if (Dim == 1) { Plugin.call( Queue->getHandleRef(), pi::cast(Mem), Pattern, PatternSize, diff --git a/sycl/source/detail/scheduler/commands.cpp b/sycl/source/detail/scheduler/commands.cpp index dabbc704038c9..673d53db308e1 100644 --- a/sycl/source/detail/scheduler/commands.cpp +++ b/sycl/source/detail/scheduler/commands.cpp @@ -203,7 +203,7 @@ class DispatchHostTask { void operator()() const { waitForEvents(); - assert(MThisCmd->getCG().getType() == CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK); + assert(MThisCmd->getCG().getType() == CG::CGTYPE::CodeplayHostTask); CGHostTask &HostTask = static_cast(MThisCmd->getCG()); @@ -1217,13 +1217,13 @@ AllocaCommandBase *ExecCGCommand::getAllocaForReq(Requirement *Req) { } std::vector ExecCGCommand::getStreams() const { - if (MCommandGroup->getType() == CG::__SYCL_KERNEL) + if (MCommandGroup->getType() == CG::Kernel) return ((CGExecKernel *)MCommandGroup.get())->getStreams(); return {}; } void ExecCGCommand::clearStreams() { - if (MCommandGroup->getType() == CG::__SYCL_KERNEL) + if (MCommandGroup->getType() == CG::Kernel) ((CGExecKernel *)MCommandGroup.get())->clearStreams(); } @@ -1247,7 +1247,7 @@ void UpdateHostRequirementCommand::printDot(std::ostream &Stream) const { Stream << "ID = " << this << "\\n"; Stream << "UPDATE REQ ON " << deviceToString(MQueue->get_device()) << "\\n"; bool IsReqOnBuffer = - MDstReq.MSYCLMemObj->getType() == SYCLMemObjI::MemObjType::__SYCL_BUFFER; + MDstReq.MSYCLMemObj->getType() == SYCLMemObjI::MemObjType::Buffer; Stream << "TYPE: " << (IsReqOnBuffer ? "Buffer" : "Image") << "\\n"; if (IsReqOnBuffer) Stream << "Is sub buffer: " << std::boolalpha << MDstReq.MIsSubBuffer @@ -1451,34 +1451,34 @@ void UpdateHostRequirementCommand::emitInstrumentationData() { static std::string cgTypeToString(detail::CG::CGTYPE Type) { switch (Type) { - case detail::CG::__SYCL_KERNEL: + case detail::CG::Kernel: return "Kernel"; break; - case detail::CG::__SYCL_UPDATE_HOST: + case detail::CG::UpdateHost: return "update_host"; break; - case detail::CG::__SYCL_FILL: + case detail::CG::Fill: return "fill"; break; - case detail::CG::__SYCL_COPY_ACC_TO_ACC: + case detail::CG::CopyAccToAcc: return "copy acc to acc"; break; - case detail::CG::__SYCL_COPY_ACC_TO_PTR: + case detail::CG::CopyAccToPtr: return "copy acc to ptr"; break; - case detail::CG::__SYCL_COPY_PTR_TO_ACC: + case detail::CG::CopyPtrToAcc: return "copy ptr to acc"; break; - case detail::CG::__SYCL_COPY_USM: + case detail::CG::CopyUSM: return "copy usm"; break; - case detail::CG::__SYCL_FILL_USM: + case detail::CG::FillUSM: return "fill usm"; break; - case detail::CG::__SYCL_PREFETCH_USM: + case detail::CG::PrefetchUSM: return "prefetch usm"; break; - case detail::CG::__SYCL_CODEPLAY_HOST_TASK: + case detail::CG::CodeplayHostTask: return "host task"; break; default: @@ -1504,7 +1504,7 @@ void ExecCGCommand::emitInstrumentationData() { bool HasSourceInfo = false; std::string KernelName, FromSource; switch (MCommandGroup->getType()) { - case detail::CG::__SYCL_KERNEL: { + case detail::CG::Kernel: { auto KernelCG = reinterpret_cast(MCommandGroup.get()); @@ -1591,7 +1591,7 @@ void ExecCGCommand::printDot(std::ostream &Stream) const { Stream << "EXEC CG ON " << deviceToString(MQueue->get_device()) << "\\n"; switch (MCommandGroup->getType()) { - case detail::CG::__SYCL_KERNEL: { + case detail::CG::Kernel: { auto KernelCG = reinterpret_cast(MCommandGroup.get()); Stream << "Kernel name: "; @@ -1798,7 +1798,7 @@ void DispatchNativeKernel(void *Blob) { } cl_int ExecCGCommand::enqueueImp() { - if (getCG().getType() != CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK) + if (getCG().getType() != CG::CGTYPE::CodeplayHostTask) waitForPreparedHostEvents(); std::vector EventImpls = MPreparedDepsEvents; auto RawEvents = getPiEvents(EventImpls); @@ -1807,11 +1807,11 @@ cl_int ExecCGCommand::enqueueImp() { switch (MCommandGroup->getType()) { - case CG::CGTYPE::__SYCL_UPDATE_HOST: { + case CG::CGTYPE::UpdateHost: { throw runtime_error("Update host should be handled by the Scheduler.", PI_INVALID_OPERATION); } - case CG::CGTYPE::__SYCL_COPY_ACC_TO_PTR: { + case CG::CGTYPE::CopyAccToPtr: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *Req = (Requirement *)Copy->getSrc(); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); @@ -1826,7 +1826,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_COPY_PTR_TO_ACC: { + case CG::CGTYPE::CopyPtrToAcc: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *Req = (Requirement *)(Copy->getDst()); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); @@ -1843,7 +1843,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_COPY_ACC_TO_ACC: { + case CG::CGTYPE::CopyAccToAcc: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *ReqSrc = (Requirement *)(Copy->getSrc()); Requirement *ReqDst = (Requirement *)(Copy->getDst()); @@ -1860,7 +1860,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_FILL: { + case CG::CGTYPE::Fill: { CGFill *Fill = (CGFill *)MCommandGroup.get(); Requirement *Req = (Requirement *)(Fill->getReqToFill()); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); @@ -1873,7 +1873,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_RUN_ON_HOST_INTEL: { + case CG::CGTYPE::RunOnHostIntel: { CGExecKernel *HostTask = (CGExecKernel *)MCommandGroup.get(); // piEnqueueNativeKernel takes arguments blob which is passes to user @@ -1944,7 +1944,7 @@ cl_int ExecCGCommand::enqueueImp() { "Enqueueing run_on_host_intel task has failed.", Error); } } - case CG::CGTYPE::__SYCL_KERNEL: { + case CG::CGTYPE::Kernel: { CGExecKernel *ExecKernel = (CGExecKernel *)MCommandGroup.get(); NDRDescT &NDRDesc = ExecKernel->MNDRDesc; @@ -2061,21 +2061,21 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::__SYCL_COPY_USM: { + case CG::CGTYPE::CopyUSM: { CGCopyUSM *Copy = (CGCopyUSM *)MCommandGroup.get(); MemoryManager::copy_usm(Copy->getSrc(), MQueue, Copy->getLength(), Copy->getDst(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_FILL_USM: { + case CG::CGTYPE::FillUSM: { CGFillUSM *Fill = (CGFillUSM *)MCommandGroup.get(); MemoryManager::fill_usm(Fill->getDst(), MQueue, Fill->getLength(), Fill->getFill(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_PREFETCH_USM: { + case CG::CGTYPE::PrefetchUSM: { CGPrefetchUSM *Prefetch = (CGPrefetchUSM *)MCommandGroup.get(); MemoryManager::prefetch_usm(Prefetch->getDst(), MQueue, Prefetch->getLength(), std::move(RawEvents), @@ -2083,14 +2083,14 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_ADVISE_USM: { + case CG::CGTYPE::AdviseUSM: { CGAdviseUSM *Advise = (CGAdviseUSM *)MCommandGroup.get(); MemoryManager::advise_usm(Advise->getDst(), MQueue, Advise->getLength(), Advise->getAdvice(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_CODEPLAY_INTEROP_TASK: { + case CG::CGTYPE::CodeplayInteropTask: { const detail::plugin &Plugin = MQueue->getPlugin(); CGInteropTask *ExecInterop = (CGInteropTask *)MCommandGroup.get(); // Wait for dependencies to complete before dispatching work on the host @@ -2118,7 +2118,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK: { + case CG::CGTYPE::CodeplayHostTask: { CGHostTask *HostTask = static_cast(MCommandGroup.get()); for (ArgDesc &Arg : HostTask->MArgs) { @@ -2173,7 +2173,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::__SYCL_BARRIER: { + case CG::CGTYPE::Barrier: { if (MQueue->get_device().is_host()) { // NOP for host device. return PI_SUCCESS; @@ -2184,7 +2184,7 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::__SYCL_BARRIER_WAITLIST: { + case CG::CGTYPE::BarrierWaitlist: { CGBarrier *Barrier = static_cast(MCommandGroup.get()); std::vector Events = Barrier->MEventsWaitWithBarrier; if (MQueue->get_device().is_host() || Events.empty()) { @@ -2199,14 +2199,14 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::__SYCL_NONE: + case CG::CGTYPE::None: throw runtime_error("CG type not implemented.", PI_INVALID_OPERATION); } return PI_INVALID_OPERATION; } bool ExecCGCommand::producesPiEvent() const { - return MCommandGroup->getType() != CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK; + return MCommandGroup->getType() != CG::CGTYPE::CodeplayHostTask; } } // namespace detail diff --git a/sycl/source/detail/scheduler/graph_builder.cpp b/sycl/source/detail/scheduler/graph_builder.cpp index f9a86c09f9a67..4624f3fe13973 100644 --- a/sycl/source/detail/scheduler/graph_builder.cpp +++ b/sycl/source/detail/scheduler/graph_builder.cpp @@ -709,7 +709,7 @@ AllocaCommandBase *Scheduler::GraphBuilder::getOrCreateAllocaForReq( // If it is not the first allocation, try to setup a link // FIXME: Temporary limitation, linked alloca commands for an image is // not supported because map operation is not implemented for an image. - if (Req->MSYCLMemObj->getType() == SYCLMemObjI::MemObjType::__SYCL_BUFFER) + if (Req->MSYCLMemObj->getType() == SYCLMemObjI::MemObjType::Buffer) // Current limitation is to setup link between current allocation and // new one. There could be situations when we could setup link with // "not" current allocation, but it will require memory copy. @@ -849,7 +849,7 @@ Scheduler::GraphBuilder::addEmptyCmd(Command *Cmd, const std::vector &Reqs, } static bool isInteropHostTask(const std::unique_ptr &Cmd) { - if (Cmd->getCG().getType() != CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK) + if (Cmd->getCG().getType() != CG::CGTYPE::CodeplayHostTask) return false; const detail::CGHostTask &HT = @@ -978,7 +978,7 @@ Scheduler::GraphBuilder::addCG(std::unique_ptr CommandGroup, ToEnqueue.push_back(ConnCmd); } - if (CGType == CG::CGTYPE::__SYCL_CODEPLAY_HOST_TASK) + if (CGType == CG::CGTYPE::CodeplayHostTask) NewCmd->MEmptyCmd = addEmptyCmd(NewCmd.get(), NewCmd->getCG().MRequirements, Queue, Command::BlockReason::HostTask, ToEnqueue); @@ -1189,7 +1189,7 @@ Command *Scheduler::GraphBuilder::connectDepEvent(Command *const Cmd, std::move(HT), /* Queue = */ {}, /* Context = */ {}, /* Args = */ {}, /* ArgsStorage = */ {}, /* AccStorage = */ {}, /* SharedPtrStorage = */ {}, /* Requirements = */ {}, - /* DepEvents = */ {DepEvent}, CG::__SYCL_CODEPLAY_HOST_TASK, + /* DepEvents = */ {DepEvent}, CG::CodeplayHostTask, /* Payload */ {})); ConnectCmd = new ExecCGCommand( std::move(ConnectCG), Scheduler::getInstance().getDefaultHostQueue()); diff --git a/sycl/source/detail/scheduler/scheduler.cpp b/sycl/source/detail/scheduler/scheduler.cpp index 4dbde7ce3fb74..e26b068fdc0c6 100644 --- a/sycl/source/detail/scheduler/scheduler.cpp +++ b/sycl/source/detail/scheduler/scheduler.cpp @@ -71,9 +71,9 @@ void Scheduler::waitForRecordToFinish(MemObjRecord *Record, EventImplPtr Scheduler::addCG(std::unique_ptr CommandGroup, QueueImplPtr Queue) { EventImplPtr NewEvent = nullptr; - const bool IsKernel = CommandGroup->getType() == CG::__SYCL_KERNEL; + const bool IsKernel = CommandGroup->getType() == CG::Kernel; std::vector AuxiliaryCmds; - const bool IsHostKernel = CommandGroup->getType() == CG::__SYCL_RUN_ON_HOST_INTEL; + const bool IsHostKernel = CommandGroup->getType() == CG::RunOnHostIntel; std::vector Streams; if (IsKernel) { @@ -94,11 +94,11 @@ EventImplPtr Scheduler::addCG(std::unique_ptr CommandGroup, Command *NewCmd = nullptr; switch (CommandGroup->getType()) { - case CG::__SYCL_UPDATE_HOST: + case CG::UpdateHost: NewCmd = MGraphBuilder.addCGUpdateHost(std::move(CommandGroup), DefaultHostQueue, AuxiliaryCmds); break; - case CG::__SYCL_CODEPLAY_HOST_TASK: + case CG::CodeplayHostTask: NewCmd = MGraphBuilder.addCG(std::move(CommandGroup), DefaultHostQueue, AuxiliaryCmds); break; diff --git a/sycl/source/handler.cpp b/sycl/source/handler.cpp index 08e6468b14473..1ae7238703e4f 100644 --- a/sycl/source/handler.cpp +++ b/sycl/source/handler.cpp @@ -133,8 +133,8 @@ event handler::finalize() { std::unique_ptr CommandGroup; switch (getType()) { - case detail::CG::__SYCL_KERNEL: - case detail::CG::__SYCL_RUN_ON_HOST_INTEL: { + case detail::CG::Kernel: + case detail::CG::RunOnHostIntel: { CommandGroup.reset(new detail::CGExecKernel( std::move(MNDRDesc), std::move(MHostKernel), std::move(MKernel), std::move(MArgsStorage), std::move(MAccStorage), @@ -144,71 +144,71 @@ event handler::finalize() { MCodeLoc)); break; } - case detail::CG::__SYCL_CODEPLAY_INTEROP_TASK: + case detail::CG::CodeplayInteropTask: CommandGroup.reset(new detail::CGInteropTask( std::move(MInteropTask), std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCGType, MCodeLoc)); break; - case detail::CG::__SYCL_COPY_ACC_TO_PTR: - case detail::CG::__SYCL_COPY_PTR_TO_ACC: - case detail::CG::__SYCL_COPY_ACC_TO_ACC: + case detail::CG::CopyAccToPtr: + case detail::CG::CopyPtrToAcc: + case detail::CG::CopyAccToAcc: CommandGroup.reset(new detail::CGCopy( MCGType, MSrcPtr, MDstPtr, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::__SYCL_FILL: + case detail::CG::Fill: CommandGroup.reset(new detail::CGFill( std::move(MPattern), MDstPtr, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::__SYCL_UPDATE_HOST: + case detail::CG::UpdateHost: CommandGroup.reset(new detail::CGUpdateHost( MDstPtr, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::__SYCL_COPY_USM: + case detail::CG::CopyUSM: CommandGroup.reset(new detail::CGCopyUSM( MSrcPtr, MDstPtr, MLength, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::__SYCL_FILL_USM: + case detail::CG::FillUSM: CommandGroup.reset(new detail::CGFillUSM( std::move(MPattern), MDstPtr, MLength, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::__SYCL_PREFETCH_USM: + case detail::CG::PrefetchUSM: CommandGroup.reset(new detail::CGPrefetchUSM( MDstPtr, MLength, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCodeLoc)); break; - case detail::CG::__SYCL_ADVISE_USM: + case detail::CG::AdviseUSM: CommandGroup.reset(new detail::CGAdviseUSM( MDstPtr, MLength, std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCGType, MCodeLoc)); break; - case detail::CG::__SYCL_CODEPLAY_HOST_TASK: + case detail::CG::CodeplayHostTask: CommandGroup.reset(new detail::CGHostTask( std::move(MHostTask), MQueue, MQueue->getContextImplPtr(), std::move(MArgs), std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCGType, MCodeLoc)); break; - case detail::CG::__SYCL_BARRIER: - case detail::CG::__SYCL_BARRIER_WAITLIST: + case detail::CG::Barrier: + case detail::CG::BarrierWaitlist: CommandGroup.reset(new detail::CGBarrier( std::move(MEventsWaitWithBarrier), std::move(MArgsStorage), std::move(MAccStorage), std::move(MSharedPtrStorage), std::move(MRequirements), std::move(MEvents), MCGType, MCodeLoc)); break; - case detail::CG::__SYCL_NONE: + case detail::CG::None: if (detail::pi::trace(detail::pi::TraceLevel::PI_TRACE_ALL)) { std::cout << "WARNING: An empty command group is submitted." << std::endl; } @@ -476,7 +476,7 @@ std::string handler::getKernelName() { void handler::barrier(const std::vector &WaitList) { throwIfActionIsCreated(); - MCGType = detail::CG::__SYCL_BARRIER_WAITLIST; + MCGType = detail::CG::BarrierWaitlist; MEventsWaitWithBarrier.resize(WaitList.size()); std::transform( WaitList.begin(), WaitList.end(), MEventsWaitWithBarrier.begin(), @@ -488,7 +488,7 @@ void handler::memcpy(void *Dest, const void *Src, size_t Count) { MSrcPtr = const_cast(Src); MDstPtr = Dest; MLength = Count; - setType(detail::CG::__SYCL_COPY_USM); + setType(detail::CG::CopyUSM); } void handler::memset(void *Dest, int Value, size_t Count) { @@ -496,21 +496,21 @@ void handler::memset(void *Dest, int Value, size_t Count) { MDstPtr = Dest; MPattern.push_back(static_cast(Value)); MLength = Count; - setType(detail::CG::__SYCL_FILL_USM); + setType(detail::CG::FillUSM); } void handler::prefetch(const void *Ptr, size_t Count) { throwIfActionIsCreated(); MDstPtr = const_cast(Ptr); MLength = Count; - setType(detail::CG::__SYCL_PREFETCH_USM); + setType(detail::CG::PrefetchUSM); } void handler::mem_advise(const void *Ptr, size_t Count, int Advice) { throwIfActionIsCreated(); MDstPtr = const_cast(Ptr); MLength = Count; - setType(detail::CG::__SYCL_ADVISE_USM); + setType(detail::CG::AdviseUSM); assert(!MSharedPtrStorage.empty()); diff --git a/sycl/unittests/scheduler/LinkedAllocaDependencies.cpp b/sycl/unittests/scheduler/LinkedAllocaDependencies.cpp index 871903f0c70dc..4864bcf4aa2ff 100644 --- a/sycl/unittests/scheduler/LinkedAllocaDependencies.cpp +++ b/sycl/unittests/scheduler/LinkedAllocaDependencies.cpp @@ -22,7 +22,7 @@ class MemObjMock : public cl::sycl::detail::SYCLMemObjI { ~MemObjMock() = default; - MemObjType getType() const override { return MemObjType::__SYCL_BUFFER; } + MemObjType getType() const override { return MemObjType::Buffer; } void *allocateMem(ContextImplPtr, bool, void *, cl::sycl::detail::pi::PiEvent &) { diff --git a/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp b/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp index c5a40145607b8..1455b33260824 100644 --- a/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp +++ b/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp @@ -42,8 +42,8 @@ class MockHandler : public sycl::handler { auto CGH = static_cast(this); unique_ptr_class CommandGroup; switch (CGH->MCGType) { - case detail::CG::__SYCL_KERNEL: - case detail::CG::__SYCL_RUN_ON_HOST_INTEL: { + case detail::CG::Kernel: + case detail::CG::RunOnHostIntel: { CommandGroup.reset(new detail::CGExecKernel( std::move(CGH->MNDRDesc), std::move(CGH->MHostKernel), std::move(CGH->MKernel), std::move(CGH->MArgsStorage), @@ -97,7 +97,7 @@ TEST_F(SchedulerTest, StreamInitDependencyOnHost) { // Emulating processing of command group function MockHandler MockCGH(HQueueImpl, true); - MockCGH.setType(detail::CG::__SYCL_KERNEL); + MockCGH.setType(detail::CG::Kernel); auto EmptyKernel = [](sycl::nd_item<1>) {}; MockCGH From df880fd3b37a9175dee8a2aabf9c2f7fc6ef2fee Mon Sep 17 00:00:00 2001 From: Denis Kabanov Date: Wed, 21 Jul 2021 19:13:04 +0300 Subject: [PATCH 5/8] Add one lost CGTYPE:: --- sycl/include/CL/sycl/detail/cg.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sycl/include/CL/sycl/detail/cg.hpp b/sycl/include/CL/sycl/detail/cg.hpp index 5755330281a14..25a0a1892ee25 100644 --- a/sycl/include/CL/sycl/detail/cg.hpp +++ b/sycl/include/CL/sycl/detail/cg.hpp @@ -322,7 +322,7 @@ class CGFill : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(Fill, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGTYPE::Fill, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPattern(std::move(Pattern)), MPtr((Requirement *)Ptr) {} From 29c90549a732fc104f8c6bccca9fc88474be37c1 Mon Sep 17 00:00:00 2001 From: Denis Kabanov Date: Wed, 21 Jul 2021 19:23:21 +0300 Subject: [PATCH 6/8] Update assert --- sycl/include/CL/sycl/detail/cg.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sycl/include/CL/sycl/detail/cg.hpp b/sycl/include/CL/sycl/detail/cg.hpp index 25a0a1892ee25..3bf4ce75cc054 100644 --- a/sycl/include/CL/sycl/detail/cg.hpp +++ b/sycl/include/CL/sycl/detail/cg.hpp @@ -263,8 +263,9 @@ class CGExecKernel : public CG { MSyclKernel(std::move(SyclKernel)), MArgs(std::move(Args)), MKernelName(std::move(KernelName)), MOSModuleHandle(OSModuleHandle), MStreams(std::move(Streams)) { - assert((getType() == RunOnHostIntel || getType() == Kernel) && - "Wrong type of exec kernel CG."); + assert( + (getType() == CGTYPE::RunOnHostIntel || getType() == CGTYPE::Kernel) && + "Wrong type of exec kernel CG."); } std::vector getArguments() const { return MArgs; } From ae8df6c3a25304528d62f502f7284efe35e10c25 Mon Sep 17 00:00:00 2001 From: Denis Kabanov Date: Wed, 21 Jul 2021 20:02:51 +0300 Subject: [PATCH 7/8] Change enumeration name and test options --- sycl/include/CL/sycl/detail/cg.hpp | 32 +++++++-------- sycl/include/CL/sycl/handler.hpp | 10 ++--- sycl/source/detail/scheduler/commands.cpp | 40 +++++++++---------- .../source/detail/scheduler/graph_builder.cpp | 6 +-- sycl/test/abi/layout_handler.cpp | 2 +- .../check_simple_name_collisions.cpp | 3 +- .../scheduler/StreamInitDependencyOnHost.cpp | 2 +- 7 files changed, 48 insertions(+), 47 deletions(-) diff --git a/sycl/include/CL/sycl/detail/cg.hpp b/sycl/include/CL/sycl/detail/cg.hpp index 3bf4ce75cc054..9a7bbfc664851 100644 --- a/sycl/include/CL/sycl/detail/cg.hpp +++ b/sycl/include/CL/sycl/detail/cg.hpp @@ -149,7 +149,7 @@ class CG { }; /// Type of the command group. - enum CGTYPE : unsigned int { + enum CGType : unsigned int { None = 0, Kernel = 1, CopyAccToPtr = 2, @@ -168,7 +168,7 @@ class CG { AdviseUSM = 15, }; - CG(CGTYPE Type, std::vector> ArgsStorage, + CG(CGType Type, std::vector> ArgsStorage, std::vector AccStorage, std::vector> SharedPtrStorage, std::vector Requirements, @@ -190,7 +190,7 @@ class CG { CG(CG &&CommandGroup) = default; - CGTYPE getType() { return static_cast(getUnversionedCGType(MType)); } + CGType getType() { return static_cast(getUnversionedCGType(MType)); } CG_VERSION getVersion() { return static_cast(getCGTypeVersion(MType)); @@ -209,7 +209,7 @@ class CG { virtual ~CG() = default; private: - CGTYPE MType; + CGType MType; // The following storages are needed to ensure that arguments won't die while // we are using them. /// Storage for standard layout arguments. @@ -255,7 +255,7 @@ class CGExecKernel : public CG { std::vector Args, std::string KernelName, detail::OSModuleHandle OSModuleHandle, std::vector> Streams, - CGTYPE Type, detail::code_location loc = {}) + CGType Type, detail::code_location loc = {}) : CG(Type, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), @@ -264,7 +264,7 @@ class CGExecKernel : public CG { MKernelName(std::move(KernelName)), MOSModuleHandle(OSModuleHandle), MStreams(std::move(Streams)) { assert( - (getType() == CGTYPE::RunOnHostIntel || getType() == CGTYPE::Kernel) && + (getType() == CGType::RunOnHostIntel || getType() == CGType::Kernel) && "Wrong type of exec kernel CG."); } @@ -295,7 +295,7 @@ class CGCopy : public CG { void *MDst; public: - CGCopy(CGTYPE CopyType, void *Src, void *Dst, + CGCopy(CGType CopyType, void *Src, void *Dst, std::vector> ArgsStorage, std::vector AccStorage, std::vector> SharedPtrStorage, @@ -323,7 +323,7 @@ class CGFill : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(CGTYPE::Fill, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGType::Fill, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPattern(std::move(Pattern)), MPtr((Requirement *)Ptr) {} @@ -341,7 +341,7 @@ class CGUpdateHost : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(CGTYPE::UpdateHost, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGType::UpdateHost, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPtr((Requirement *)Ptr) {} @@ -363,7 +363,7 @@ class CGCopyUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(CGTYPE::CopyUSM, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGType::CopyUSM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MSrc(Src), MDst(Dst), MLength(Length) {} @@ -387,7 +387,7 @@ class CGFillUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(CGTYPE::FillUSM, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGType::FillUSM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MPattern(std::move(Pattern)), MDst(DstPtr), MLength(Length) {} @@ -409,7 +409,7 @@ class CGPrefetchUSM : public CG { std::vector Requirements, std::vector Events, detail::code_location loc = {}) - : CG(CGTYPE::PrefetchUSM, std::move(ArgsStorage), std::move(AccStorage), + : CG(CGType::PrefetchUSM, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), std::move(Events), std::move(loc)), MDst(DstPtr), MLength(Length) {} @@ -428,7 +428,7 @@ class CGAdviseUSM : public CG { std::vector AccStorage, std::vector> SharedPtrStorage, std::vector Requirements, - std::vector Events, CGTYPE Type, + std::vector Events, CGType Type, detail::code_location loc = {}) : CG(Type, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), @@ -457,7 +457,7 @@ class CGInteropTask : public CG { std::vector AccStorage, std::vector> SharedPtrStorage, std::vector Requirements, - std::vector Events, CGTYPE Type, + std::vector Events, CGType Type, detail::code_location loc = {}) : CG(Type, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), @@ -482,7 +482,7 @@ class CGHostTask : public CG { std::vector AccStorage, std::vector> SharedPtrStorage, std::vector Requirements, - std::vector Events, CGTYPE Type, + std::vector Events, CGType Type, detail::code_location loc = {}) : CG(Type, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), @@ -500,7 +500,7 @@ class CGBarrier : public CG { std::vector AccStorage, std::vector> SharedPtrStorage, std::vector Requirements, - std::vector Events, CGTYPE Type, + std::vector Events, CGType Type, detail::code_location loc = {}) : CG(Type, std::move(ArgsStorage), std::move(AccStorage), std::move(SharedPtrStorage), std::move(Requirements), diff --git a/sycl/include/CL/sycl/handler.hpp b/sycl/include/CL/sycl/handler.hpp index 23e29f1d66596..7a9d0987152f8 100644 --- a/sycl/include/CL/sycl/handler.hpp +++ b/sycl/include/CL/sycl/handler.hpp @@ -343,14 +343,14 @@ class __SYCL_EXPORT handler { return Storage; } - void setType(detail::CG::CGTYPE Type) { + void setType(detail::CG::CGType Type) { constexpr detail::CG::CG_VERSION Version = detail::CG::CG_VERSION::V1; - MCGType = static_cast( + MCGType = static_cast( getVersionedCGType(Type, static_cast(Version))); } - detail::CG::CGTYPE getType() { - return static_cast(getUnversionedCGType(MCGType)); + detail::CG::CGType getType() { + return static_cast(getUnversionedCGType(MCGType)); } void throwIfActionIsCreated() { @@ -2368,7 +2368,7 @@ class __SYCL_EXPORT handler { /// Type of the command group, e.g. kernel, fill. Can also encode version. /// Use getType and setType methods to access this variable unless /// manipulations with version are required - detail::CG::CGTYPE MCGType = detail::CG::None; + detail::CG::CGType MCGType = detail::CG::None; /// Pointer to the source host memory or accessor(depending on command type). void *MSrcPtr = nullptr; /// Pointer to the dest host memory or accessor(depends on command type). diff --git a/sycl/source/detail/scheduler/commands.cpp b/sycl/source/detail/scheduler/commands.cpp index 673d53db308e1..5bdf616c9c33b 100644 --- a/sycl/source/detail/scheduler/commands.cpp +++ b/sycl/source/detail/scheduler/commands.cpp @@ -203,7 +203,7 @@ class DispatchHostTask { void operator()() const { waitForEvents(); - assert(MThisCmd->getCG().getType() == CG::CGTYPE::CodeplayHostTask); + assert(MThisCmd->getCG().getType() == CG::CGType::CodeplayHostTask); CGHostTask &HostTask = static_cast(MThisCmd->getCG()); @@ -1449,7 +1449,7 @@ void UpdateHostRequirementCommand::emitInstrumentationData() { #endif } -static std::string cgTypeToString(detail::CG::CGTYPE Type) { +static std::string cgTypeToString(detail::CG::CGType Type) { switch (Type) { case detail::CG::Kernel: return "Kernel"; @@ -1798,7 +1798,7 @@ void DispatchNativeKernel(void *Blob) { } cl_int ExecCGCommand::enqueueImp() { - if (getCG().getType() != CG::CGTYPE::CodeplayHostTask) + if (getCG().getType() != CG::CGType::CodeplayHostTask) waitForPreparedHostEvents(); std::vector EventImpls = MPreparedDepsEvents; auto RawEvents = getPiEvents(EventImpls); @@ -1807,11 +1807,11 @@ cl_int ExecCGCommand::enqueueImp() { switch (MCommandGroup->getType()) { - case CG::CGTYPE::UpdateHost: { + case CG::CGType::UpdateHost: { throw runtime_error("Update host should be handled by the Scheduler.", PI_INVALID_OPERATION); } - case CG::CGTYPE::CopyAccToPtr: { + case CG::CGType::CopyAccToPtr: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *Req = (Requirement *)Copy->getSrc(); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); @@ -1826,7 +1826,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::CopyPtrToAcc: { + case CG::CGType::CopyPtrToAcc: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *Req = (Requirement *)(Copy->getDst()); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); @@ -1843,7 +1843,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::CopyAccToAcc: { + case CG::CGType::CopyAccToAcc: { CGCopy *Copy = (CGCopy *)MCommandGroup.get(); Requirement *ReqSrc = (Requirement *)(Copy->getSrc()); Requirement *ReqDst = (Requirement *)(Copy->getDst()); @@ -1860,7 +1860,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::Fill: { + case CG::CGType::Fill: { CGFill *Fill = (CGFill *)MCommandGroup.get(); Requirement *Req = (Requirement *)(Fill->getReqToFill()); AllocaCommandBase *AllocaCmd = getAllocaForReq(Req); @@ -1873,7 +1873,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::RunOnHostIntel: { + case CG::CGType::RunOnHostIntel: { CGExecKernel *HostTask = (CGExecKernel *)MCommandGroup.get(); // piEnqueueNativeKernel takes arguments blob which is passes to user @@ -1944,7 +1944,7 @@ cl_int ExecCGCommand::enqueueImp() { "Enqueueing run_on_host_intel task has failed.", Error); } } - case CG::CGTYPE::Kernel: { + case CG::CGType::Kernel: { CGExecKernel *ExecKernel = (CGExecKernel *)MCommandGroup.get(); NDRDescT &NDRDesc = ExecKernel->MNDRDesc; @@ -2061,21 +2061,21 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::CopyUSM: { + case CG::CGType::CopyUSM: { CGCopyUSM *Copy = (CGCopyUSM *)MCommandGroup.get(); MemoryManager::copy_usm(Copy->getSrc(), MQueue, Copy->getLength(), Copy->getDst(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::FillUSM: { + case CG::CGType::FillUSM: { CGFillUSM *Fill = (CGFillUSM *)MCommandGroup.get(); MemoryManager::fill_usm(Fill->getDst(), MQueue, Fill->getLength(), Fill->getFill(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::PrefetchUSM: { + case CG::CGType::PrefetchUSM: { CGPrefetchUSM *Prefetch = (CGPrefetchUSM *)MCommandGroup.get(); MemoryManager::prefetch_usm(Prefetch->getDst(), MQueue, Prefetch->getLength(), std::move(RawEvents), @@ -2083,14 +2083,14 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::AdviseUSM: { + case CG::CGType::AdviseUSM: { CGAdviseUSM *Advise = (CGAdviseUSM *)MCommandGroup.get(); MemoryManager::advise_usm(Advise->getDst(), MQueue, Advise->getLength(), Advise->getAdvice(), std::move(RawEvents), Event); return CL_SUCCESS; } - case CG::CGTYPE::CodeplayInteropTask: { + case CG::CGType::CodeplayInteropTask: { const detail::plugin &Plugin = MQueue->getPlugin(); CGInteropTask *ExecInterop = (CGInteropTask *)MCommandGroup.get(); // Wait for dependencies to complete before dispatching work on the host @@ -2118,7 +2118,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::CodeplayHostTask: { + case CG::CGType::CodeplayHostTask: { CGHostTask *HostTask = static_cast(MCommandGroup.get()); for (ArgDesc &Arg : HostTask->MArgs) { @@ -2173,7 +2173,7 @@ cl_int ExecCGCommand::enqueueImp() { return CL_SUCCESS; } - case CG::CGTYPE::Barrier: { + case CG::CGType::Barrier: { if (MQueue->get_device().is_host()) { // NOP for host device. return PI_SUCCESS; @@ -2184,7 +2184,7 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::BarrierWaitlist: { + case CG::CGType::BarrierWaitlist: { CGBarrier *Barrier = static_cast(MCommandGroup.get()); std::vector Events = Barrier->MEventsWaitWithBarrier; if (MQueue->get_device().is_host() || Events.empty()) { @@ -2199,14 +2199,14 @@ cl_int ExecCGCommand::enqueueImp() { return PI_SUCCESS; } - case CG::CGTYPE::None: + case CG::CGType::None: throw runtime_error("CG type not implemented.", PI_INVALID_OPERATION); } return PI_INVALID_OPERATION; } bool ExecCGCommand::producesPiEvent() const { - return MCommandGroup->getType() != CG::CGTYPE::CodeplayHostTask; + return MCommandGroup->getType() != CG::CGType::CodeplayHostTask; } } // namespace detail diff --git a/sycl/source/detail/scheduler/graph_builder.cpp b/sycl/source/detail/scheduler/graph_builder.cpp index 4624f3fe13973..8fc4aa8b936a8 100644 --- a/sycl/source/detail/scheduler/graph_builder.cpp +++ b/sycl/source/detail/scheduler/graph_builder.cpp @@ -849,7 +849,7 @@ Scheduler::GraphBuilder::addEmptyCmd(Command *Cmd, const std::vector &Reqs, } static bool isInteropHostTask(const std::unique_ptr &Cmd) { - if (Cmd->getCG().getType() != CG::CGTYPE::CodeplayHostTask) + if (Cmd->getCG().getType() != CG::CGType::CodeplayHostTask) return false; const detail::CGHostTask &HT = @@ -884,7 +884,7 @@ Scheduler::GraphBuilder::addCG(std::unique_ptr CommandGroup, std::vector &ToEnqueue) { std::vector &Reqs = CommandGroup->MRequirements; const std::vector &Events = CommandGroup->MEvents; - const CG::CGTYPE CGType = CommandGroup->getType(); + const CG::CGType CGType = CommandGroup->getType(); std::unique_ptr NewCmd( new ExecCGCommand(std::move(CommandGroup), Queue)); @@ -978,7 +978,7 @@ Scheduler::GraphBuilder::addCG(std::unique_ptr CommandGroup, ToEnqueue.push_back(ConnCmd); } - if (CGType == CG::CGTYPE::CodeplayHostTask) + if (CGType == CG::CGType::CodeplayHostTask) NewCmd->MEmptyCmd = addEmptyCmd(NewCmd.get(), NewCmd->getCG().MRequirements, Queue, Command::BlockReason::HostTask, ToEnqueue); diff --git a/sycl/test/abi/layout_handler.cpp b/sycl/test/abi/layout_handler.cpp index a1882bf4a0799..278884f86fc92 100644 --- a/sycl/test/abi/layout_handler.cpp +++ b/sycl/test/abi/layout_handler.cpp @@ -116,7 +116,7 @@ void foo() { // CHECK-NEXT: 344 | std::__shared_ptr::element_type * _M_ptr // CHECK-NEXT: 352 | class std::__shared_count<__gnu_cxx::_S_atomic> _M_refcount // CHECK-NEXT: 352 | _Sp_counted_base<(enum __gnu_cxx::_Lock_policy)2U> * _M_pi -// CHECK-NEXT: 360 | detail::class CG::CGTYPE MCGType +// CHECK-NEXT: 360 | detail::class CG::CGType MCGType // CHECK-NEXT: 368 | void * MSrcPtr // CHECK-NEXT: 376 | void * MDstPtr // CHECK-NEXT: 384 | size_t MLength diff --git a/sycl/test/regression/check_simple_name_collisions.cpp b/sycl/test/regression/check_simple_name_collisions.cpp index 02e9fdea1d0df..0db83613a47e8 100644 --- a/sycl/test/regression/check_simple_name_collisions.cpp +++ b/sycl/test/regression/check_simple_name_collisions.cpp @@ -1,4 +1,5 @@ -// RUN: %clangxx -fsycl -fsycl-targets=%sycl_triple %s -o %t.out +// RUN: %clangxx -fsycl -fsyntax-only -Xclang -verify %s +// expected-no-diagnostics #define NONE #define KERNEL diff --git a/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp b/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp index 1455b33260824..ae4820944170f 100644 --- a/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp +++ b/sycl/unittests/scheduler/StreamInitDependencyOnHost.cpp @@ -18,7 +18,7 @@ class MockHandler : public sycl::handler { MockHandler(shared_ptr_class Queue, bool IsHost) : sycl::handler(Queue, IsHost) {} - void setType(detail::CG::CGTYPE Type) { + void setType(detail::CG::CGType Type) { static_cast(this)->MCGType = Type; } From 99acc18a281bf3a07a5e6fa234a200ebee40f1cf Mon Sep 17 00:00:00 2001 From: Denis Kabanov Date: Thu, 22 Jul 2021 16:14:06 +0300 Subject: [PATCH 8/8] Fix KERNEL in handler.hpp --- sycl/include/CL/sycl/handler.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sycl/include/CL/sycl/handler.hpp b/sycl/include/CL/sycl/handler.hpp index 7a9d0987152f8..9a97cc68c1362 100644 --- a/sycl/include/CL/sycl/handler.hpp +++ b/sycl/include/CL/sycl/handler.hpp @@ -836,7 +836,7 @@ class __SYCL_EXPORT handler { MNDRDesc.set(std::move(AdjustedRange)); StoreLambda( std::move(Wrapper)); - setType(detail::CG::KERNEL); + setType(detail::CG::Kernel); #endif } else #endif // !__SYCL_DISABLE_PARALLEL_FOR_RANGE_ROUNDING__ && \