P4 to Git Change 1120702 by skudchad@skudchad_test_win_opencl2 on 2015/02/10 15:02:35

EPR #403782 - IOMMU2/SVM
	Basic changes to enable finegrainsystem.
	- OpenCL runtime changes for enabling Fine Grain System on Carrizo
	- Check for SVMPointer while unmap, if so skip unmap

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/6844/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#494 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#350 edit


[ROCm/clr commit: 546ce7ec2d]
This commit is contained in:
foreman
2015-02-10 15:14:56 -05:00
parent 2a4d291338
commit 33852d1875
2 changed files with 4 additions and 3 deletions
@@ -748,12 +748,13 @@ void Device::fillDeviceInfo(
if (settings().oclVersion_ >= OpenCL20) {
info_.svmCapabilities_ =
calAttr.target == CAL_TARGET_CARRIZO ? CL_DEVICE_SVM_COARSE_GRAIN_BUFFER :
(CL_DEVICE_SVM_COARSE_GRAIN_BUFFER | CL_DEVICE_SVM_FINE_GRAIN_BUFFER);
if (settings().svmAtomics_) {
info_.svmCapabilities_ |= CL_DEVICE_SVM_ATOMICS;
}
if (settings().svmFineGrainSystem_) {
info_.svmCapabilities_ |= CL_DEVICE_SVM_FINE_GRAIN_SYSTEM;
}
// OpenCL2.0 device info fields
info_.maxWriteImageArgs_ = MaxReadWriteImage; //!< For compatibility
info_.maxReadWriteImageArgs_ = MaxReadWriteImage;
@@ -1187,7 +1187,7 @@ VirtualGPU::submitUnmapMemory(amd::UnmapMemoryCommand& vcmd)
// We used host memory
if ((owner->getHostMem() != NULL) && memory->isDirectMap()) {
if (memory->isUnmapWrite()) {
if (memory->isUnmapWrite() && !owner->usesSvmPointer()) {
// Target is the backing store, so sync
owner->signalWrite(NULL);
memory->syncCacheFromHost(*this);