2
0

P4 to Git Change 1599699 by gandryey@gera-w8 on 2018/08/29 18:43:02

SWDEV-79445 - OCL generic changes and code clean-up
	- Move WaveLimiter logic to the abstract layer. PAL version was taken as the base, thus performance of GSL path can be affected by this change

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#315 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/devkernel.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/devkernel.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/devwavelimiter.cpp#1 move/add
... //depot/stg/opencl/drivers/opencl/runtime/device/devwavelimiter.hpp#1 move/add
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#598 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#331 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#133 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#15 delete
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.hpp#11 delete
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#107 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#64 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#23 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.cpp#8 move/delete
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.hpp#8 move/delete


[ROCm/clr commit: 6cc75de90f]
Este cometimento está contido em:
foreman
2018-08-29 18:54:19 -04:00
ascendente 5f5ea9af64
cometimento 0a5f1257f5
13 ficheiros modificados com 95 adições e 533 eliminações
+37 -1
Ver ficheiro
@@ -23,7 +23,43 @@ typedef llvm::AMDGPU::HSAMD::Kernel::Arg::Metadata KernelArgMD;
namespace device {
// ================================================================================================
// ================================================================================================
Kernel::Kernel(const amd::Device& dev, const std::string& name)
: dev_(dev)
, name_(name)
, signature_(nullptr)
, waveLimiter_(this, dev.info().cuPerShaderArray_ * dev.info().cuPerShaderArray_) {
// Instead of memset(&workGroupInfo_, '\0', sizeof(workGroupInfo_));
// Due to std::string not being able to be memset to 0
workGroupInfo_.size_ = 0;
workGroupInfo_.compileSize_[0] = 0;
workGroupInfo_.compileSize_[1] = 0;
workGroupInfo_.compileSize_[2] = 0;
workGroupInfo_.localMemSize_ = 0;
workGroupInfo_.preferredSizeMultiple_ = 0;
workGroupInfo_.privateMemSize_ = 0;
workGroupInfo_.scratchRegs_ = 0;
workGroupInfo_.wavefrontPerSIMD_ = 0;
workGroupInfo_.wavefrontSize_ = 0;
workGroupInfo_.availableGPRs_ = 0;
workGroupInfo_.usedGPRs_ = 0;
workGroupInfo_.availableSGPRs_ = 0;
workGroupInfo_.usedSGPRs_ = 0;
workGroupInfo_.availableVGPRs_ = 0;
workGroupInfo_.usedVGPRs_ = 0;
workGroupInfo_.availableLDSSize_ = 0;
workGroupInfo_.usedLDSSize_ = 0;
workGroupInfo_.availableStackSize_ = 0;
workGroupInfo_.usedStackSize_ = 0;
workGroupInfo_.compileSizeHint_[0] = 0;
workGroupInfo_.compileSizeHint_[1] = 0;
workGroupInfo_.compileSizeHint_[2] = 0;
workGroupInfo_.compileVecTypeHint_ = "";
workGroupInfo_.uniformWorkGroupSize_ = false;
workGroupInfo_.wavesPerSimdHint_ = 0;
}
// ================================================================================================
bool Kernel::createSignature(
const parameters_t& params, uint32_t numParameters,
uint32_t version) {