ECR #304775 - In addition to CL#1126564
- Keep just tile index field from the parent
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#209 edit
ECR #304775 - Use the tiling index from the parent object instead of forcing it to 0.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#208 edit
ECR #304775 - Enable TC compatible htile mode by default.
- The feature is available on VI+, but interop just requires different tiling mode.
- In the future we may need another way to control this feature for interop.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#108 edit
EPR #405824 - Back out changelist 1125022 because of failures in Linux.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#497 edit
ECR #399840 - OpenCL Runtime HW Debug support development
- use device to control debugger registration and exception notification so that debug event will not be tied to any particular queue.
- use aqlCodeInfo parameter for clHwDbgMapKernelCodeAMD() to be consistent with clHwDbgGetAqlPacketInfoAMD()
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_debugger_amd.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_debugger_amd.h#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudebugmanager.cpp#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudebugmanager.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#352 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#127 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#70 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#43 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hwdebug.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hwdebug.hpp#6 edit
EPR #403782 - IOMMU2/SVM
- Enable SVM Atomics for asics that support finegrainsystem for Windows 10
ReviewBoardURL = http://ocltc.amd.com/reviews/r/6907/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#301 edit
EPR #413960 - Back out changelist 1089720 to re-enable platform atomics for CZ
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#300 edit
EPR #414440 - TC is RED for all Stg OpenCL
EPR #412622 - OpenGL GFXIP 9 bring up general development.
Add device id's for Greenland, Baffin (GFX8), and Ellesmere (GFX8). Removed device id for Bermuda since it has been cancelled. Add additional support for GFX9 in SCL and ES components.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/6843/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#106 edit
EPR #414268 - OCL Promotion build failed/use HSAIL 1.0F instead of 1.0P due to CL#1108891
Make change to fix the build issue related to the backout of CL#1121106
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudebugmanager.cpp#5 edit
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
EPR #403782 - IOMMU2/SVM
- Reset desc.isAllocExecute so that it doesnt have random values
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#207 edit
EPR #413091 - created backing store in the maptarget and move the commit SVM memory funciton into alloMaptarget function. Added sync funtion in map so that it can handle mGPU cases.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_svm.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.cpp#116 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#205 edit
EPR #413091 - fixed a bug in the gpukenerl processing, the svm memory object of a kernel argument also needs to be updated writer couting for mGPU support, if the memory object is writable for the kernel.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#276 edit
EPR #410989 - Set globalScratchBuf_ to NULL after it is deleted.
The issue is that scratch buffer will be destroyed again when the transfer queue is destroyed.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#492 edit
ECR #333753 - Compiler Lib/ORCA RT/Performance: BRIG in BIF is not needed anymore for finalizing & executing ISA (except cases with program scope global variables).
[Description] The feature is intended to minimize the binary size for execution.
This is half-hearted solution: If -fno-bin-cg is set, then after ISA finalization all BRIG sections are removed from the binary, but if there are program scope global variables in code, the option is ignored and all BRIG sections retain in binary for further globals allocation & initialization. The complete solution awaits Code Objects implementation.
+ Additionally change fixes Bug 10478.
+ Recompilation steps determination is changed in RT.
+ symBRIGLoaderMap is added to bif_section_labels.
+ RT_CONTAINS_LOADER_MAP is added for aclQueryInfo in order to check symBRIGLoaderMap existance in binary.
+ complib tests are added on -fbin-cg/-fno-bin-cg.
+ ocltst -t complib -M CLEnumCheck is updated.
[Side effects] performance improvement, memory consumption reduction
[TODO] Do the same on .hsa bits.
[Testing] pre check-in, make smoke, complib, ocltst: complib, compiler, runtime, binary
[Reviewer] German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#59 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/brig_loader.cpp#17 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.hpp#12 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/scClientAPI.cpp#21 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#16 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/bif_section_labels.hpp#19 edit
... //depot/stg/opencl/drivers/opencl/compiler/loader/libloader/loader.cpp#12 edit
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/aoc2.cpp#64 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#188 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-fbin-cg-g/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-fbin-cg-g_globals/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-fbin-cg/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-fbin-cg_globals/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-fno-bin-cg-g/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-fno-bin-cg-g_globals/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-fno-bin-cg/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/options/-fno-bin-cg_globals/HelloWorld_Kernel_cl.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/tlst/complib.tlst#5 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#40 edit
EPR #411675 - Disable the code of writing 0 for the buffer paging by VidMM if asic is apu.
On Kaveri, benchmark "photo editing" of PCMarks takes longer time
Not sure how PCMarks measures it.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#202 edit
EPR #410560 - Forum: [169727] Bug? CL_MEM_COPY_HOST_PTR is not thread safe
- Ignore the transfer queue on memory release, since it releases resources after every operation
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#201 edit
ECR #304775 - Don't disable second SDMA if configuration has just 1 compute ring.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#343 edit
EPR #410797 - Specific OCL kernel is 5x slower on Hawaii than on Nvidia K40 GPU when tested under Linux.
- The logic for local workgroup size search was prioritizing ALU utilization, but with multidemensional launches X dimension could affect address calculation and cacheline utlization more than others. Add cacheline size into the consideration.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#270 edit
EPR #411058 - [CQE OCL][Lnx][QR][CZ]MultiDevice_Context fails in 2.0 conformance wimpyfull due to CL# 1101352
- The detection of different map types is overcomplicated with possibility of multiple maps and multithreading environment. Thus keep USWC indirect map optimization based on the allocation flags.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.cpp#114 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.hpp#46 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#342 edit
EPR #410824 - [CQE OCL][CZ][S/G][QR] Two Bolt sample failing on CPU; Faulty CL: 1101352
- The test performs double maps with different map flags. Optimization could choose different map schemes for each call and memory coherency could be broken. Add extra conditions to detect multiple maps and use the same path as the first map.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.hpp#45 edit
EPR #410736 - [CQE OCL][ISV][QR][G] FFMPEG app generating corrupted video output; Faulty CL:1101352
- Add detection for AHP allocation.
FFmpeg uses AHP allocations with CL_MAP_READ flag, but actually performs CPU write into the buffer. With indirect map runtime executes useless transfer on map and doesn't write updated memory on unmap, because a wrong flag sent by the app.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.cpp#113 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.hpp#44 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#341 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/perf/TestList.cpp#40 edit
EPR #397491 - Replace "switch" with "if" so that new ASIC id doesn't need to be added.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#103 edit