From 050d54b503fe40cc9b330b278b5f9e676d1bed99 Mon Sep 17 00:00:00 2001 From: anusha GodavarthySurya Date: Thu, 22 Jul 2021 08:03:31 -0700 Subject: [PATCH] SWDEV-240806 - Add methods to update kernel command parameters Change-Id: Iba90a31f9c5d6d4f2b60b7ccf903325c03d4d245 --- rocclr/platform/command.hpp | 9 +++++++++ rocclr/platform/ndrange.hpp | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/rocclr/platform/command.hpp b/rocclr/platform/command.hpp index 3dd726ea56..31083b6c70 100644 --- a/rocclr/platform/command.hpp +++ b/rocclr/platform/command.hpp @@ -915,9 +915,18 @@ class NDRangeKernelCommand : public Command { //! Return the kernel NDRange. const NDRangeContainer& sizes() const { return sizes_; } + //! updates kernel NDRange. + void setSizes(const size_t* globalWorkOffset, const size_t* globalWorkSize, + const size_t* localWorkSize) { + sizes_.update(3, globalWorkOffset, globalWorkSize, localWorkSize); + } + //! Return the shared memory size uint32_t sharedMemBytes() const { return sharedMemBytes_; } + //! updates shared memory size + uint32_t setSharedMemBytes(uint32_t sharedMemBytes) { sharedMemBytes_ = sharedMemBytes; } + //! Return the cooperative groups mode bool cooperativeGroups() const { return (extraParam_ & CooperativeGroups) ? true : false; } diff --git a/rocclr/platform/ndrange.hpp b/rocclr/platform/ndrange.hpp index 14a52ef357..cb6f926ce1 100644 --- a/rocclr/platform/ndrange.hpp +++ b/rocclr/platform/ndrange.hpp @@ -136,6 +136,16 @@ class NDRangeContainer : public HeapObject { } } + //! updates nd-range container + void update(size_t dimensions, const size_t* globalWorkOffset, const size_t* globalWorkSize, + const size_t* localWorkSize) { + for (size_t i = 0; i < dimensions; ++i) { + offset_[i] = globalWorkOffset != NULL ? globalWorkOffset[i] : 0; + global_[i] = globalWorkSize[i]; + local_[i] = localWorkSize[i]; + } + } + //! Return the number of dimensions. size_t dimensions() const { return dimensions_; }