SWDEV-133818 - PAL support for Linux Pro: Coarse Grain SVM for OpenCL 2.0
Disable OpenCL 2.0 for pal devices on Linux mainline
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#48 edit
SWDEV-148749 - VM freezes in Horizon View
- Fix a typo when memory references are removed from the destroyed queue. If null is sent to PAL, then PAL removes references from all available queues, but runtime logic needs only for the destroyed queue.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#83 edit
SWDEV-79278 - [OCL][PAL] dont report gfx902/gfx903 into the offline device list twice.
Both Raven and Raven2 are exposed as gfx902/gfx903, so we ended up reporting each gfx902 and gfx903 twice for the offline devices list. To avoid this issue, check the list and if a device is already reported dont add it into the list.
http://ocltc.amd.com/reviews/r/14523/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#78 edit
SWDEV-149178 - [CQE OCL][DTB-BLOCKER][RS4][WF][QR]observed failures while running samplers test due to faulty CL#1529531
- Image alignment requirement could be different from the original buffer chunk alignment and that could cause a failure on the final address alignment. Use fragment size alignment for the chunk and protect suballocations from possible alignment mismatch
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#58 edit
SWDEV-147368 - Choose proper engine for markerWrite to SDI ExternalPhysical Memory according to last copy engine
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#80 edit
SWDEV-143465 - Stop building static C++ kernels on CI+
Changed legacy HSAIL/AMDIL stack logic:
1. Stop supporting AMDIL on CI+ devices: "AMDIL doesn't support device ..." will be reported.
2. Stop handling OpenCL extension options in RT: if "-x spir" or "-x clc++" option is specified, it wouldn't force legacy AMDIL compiler anymore.
3. Start reporting error on "-legacy" option in HSAIL compiler. If we reach HSAIL compiler, then it means that there are conflicting options. Report them all, possible options are: -frontend=edg, -cl-std=CL2.0 (>= 2.0), -binary_is_spirv.
Already submitted changes in stack logic:
1. Start reporting error for SI devices on HSAIL path.
2. Start handling OpenCL extension options on HSAIL path: report error on "-x spir" or "-x clc++" options.
[testing] http://ocltc.amd.com:8111/viewModification.html?modId=99901&personal=true&tab=vcsModificationBuilds
[reviewed] by Stas and German: http://ocltc.amd.com/reviews/r/14270
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#99 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#586 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Add explicit type specialization for AQL copy types to avoid memcpy() calls in the most of cases
- Increase size of sysmem copy for constants buffers to account the internal arguments
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palconstbuf.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#46 edit
SWDEV-134107 - Add support for respecting target's xnack setting
- Port Konstantin's change of "Bring naming o par with the spec" in git (Change 139283)
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#85 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Prepare the changes to remove resource rename feature. Resource rename can substitute a low level memory object in the current resource with a different one in order to avoid GPU stalls on frequent CPU updates, like constant buffers or staging buffers. Renaming was necessary due to CAL and old HW limitations to manage suballocations and has some inefficiency with tiny updates and staging buffers.
- This change removes renames usage from the constant buffer management
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palconstbuf.cpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palconstbuf.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#45 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#78 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#43 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Fix a regression in the AMF test and reenable the suballoc optimization. Rearrange the locks around cache field access only to avoid calling memory release under the cache lock.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#57 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#53 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.hpp#18 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#287 edit
SWDEV-133818 - PAL support for Linux Pro: Coarse Grain SVM for OpenCL 2.0
1. This change enables OCL 2.0 on Linux for devices using PAL backend.
2. Set the alignment for Coarse Grain SVM allocations to be the gpu fragment size (2MB on Linux).
ReviewBoardURL = http://ocltc.amd.com/reviews/r/14437/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#52 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#46 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/memory.cpp#128 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Remove pinOffset_ field, since the pinning offset can be combined with global offset_ field
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#75 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#44 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#50 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.hpp#16 edit
SWDEV-132899 - [gfx10][OCL]- Adding support for forcing WaveSize32 from runtime for testing on gfx10 HW emulator
Motivation: During testing ocltst on Windows on PAL/HSAIL/SC path on gfx10 HW emulator, it was found that SC uses WaveSize64 by default for compute kernels.
SC also has an interface that can be used for forcing the WaveSize to 32 or 64.
- Adding the "-force-wave-size-32" into compiler to be passed down to Finalizer/SC
- Adding environment variable "GPU_FORCE_WAVE_SIZE_32" that can be used from runtime to force WaveSize32 compilation in HSAIL/SC path
ReviewBoardURL = http://ocltc.amd.com/reviews/r/14364/
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#69 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#138 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#55 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#284 edit
SWDEV-147487 - DX9/DX11 texture and OpenCL interop for YUY2
- Enable YUY2 support for DX11 and DX9. YUY2 contains just one plane of interleaved Y0UY1V components and can be mapped to (CL_RGBA, CL_UNSIGNED_INT8) with image width reduced by 2. YUY2 provides better quality due to 16bit data per pixel
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_d3d11.cpp#23 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_d3d9.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#241 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#49 edit
SWDEV-145716 - dGMA via OpenCL not working properly on AMD EPYC Ethanol platform with two WX9100/W9100s
- Add a stall and cache flushes before a barrier write in GSL and PAL
- Place temporary workarounds for CP prefetch of WRITE_DATA and the lack of SDMA marker in PAL
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#414 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#76 edit
SWDEV-129762 - Remove following macros that are passed through the command line to the lightning compiler:
-D__AMD__=1
-D__devicename=1
-D__devicename__=1
-DFP_FAST_FMA=1
-DFP_FAST_FMAF=1
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#54 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#79 edit
SWDEV-79445 - OCL generic changes and code clean-up
- Remove debugger checks from the dispatch path. There are no plans to enable debugger in the near future.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#74 edit
SWDEV-145750 - SSG Player drop in performance observed when using the OCL Api in 18.10
- Keep persistent memory mapped all time for Linux and Win10
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#73 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#48 edit
SWDEV-132899 - [OCL][GFX10] OCLCreateImage[3] fails for the image type 1Darray
Issue: FillImage blit kernel is not working properly on gfx10 if the image type is 1Darray (i.e., it only fills the first slice/layer and ignores the rest of the layers when number of layers >1)
Root cause: gfx10 HW expects the number of layers in Z component
Fix: To fix this issue we swap the Y and Z components if the image type is 1Darray for gfx10+ in image blit kernels.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/14281/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#17 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#42 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.hpp#14 edit
SWDEV-143465 - Revert of #1516121
[Reason]
A plenty of tests are failed.
After the changing stack logic a lot of tests should be fixed, a lot - to be removed from testing.
#1516121 will be submitted again after renewal/removal of all the failed tests.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#98 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#583 edit
SWDEV-143465 - Stop building static C++ kernels on CI+
Changed stack logic:
1. Stop supporting AMDIL on CI+ devices: "AMDIL doesn't support device ..." will be reported.
2. Stop handling OpenCL extension options in RT: if "-x spir" or "-x clc++" option is specified, it wouldn't force legacy AMDIL compiler anymore.
3. Start reporting error on "-legacy" option in HSAIL compiler. If we reach HSAIL compiler, then it means that there are conflicting options. Report them all, possible options are: -frontend=edg, -cl-std=CL2.0 (>= 2.0), -binary_is_spirv.
Already submitted changes in stack logic:
1. Start reporting error for SI devices on HSAIL path.
2. Start handling OpenCL extension options on HSAIL path: report error on "-x spir" or "-x clc++" options.
[Testing]
rga offline for all the targets supported by HSAIL and AMDIL (from Family_SI up to Family_VI):
tahiti, pitcairn, capeverde, spectre, spooky, kalindi, hawaii, oland, bonaire, hainan, carrizo, iceland, tonga, fiji, stoney, baffin, ellesmere.
[Reviewed] by German and Stas (http://ocltc.amd.com/reviews/r/14270)
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#97 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#582 edit
SWDEV-144231 - [CQE OCL][DTB][Perf][DTB-BLOCKER] 10% Performance drop observed while running Subtests of IndigoBench due to faulty CL#1507569
-Wavelimiter has more negative impact than improvements in a few benchmarks.
- Reduce the number of adaptive samples during the search to 4 per each wave count.
- Add worstWave_ to skip sampling with low performance settings.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.cpp#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.hpp#7 edit
SWDEV-143822 - [CQE OCL][Vega10][OCLtst][DTB-Blocker][QR] 8 out of 50 failures are observed with OCLPerf 32bit test; due to Faulty CL# 1502648
- Limit the cache size to 1GB with 32 bit
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#41 edit
SWDEV-142271 - Performance drop is observed in Ocean Surface Simulation of Compubenchcl in 17.50 when compared to 17.Q4.1
- Fix link error in Linux.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#72 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#40 edit
SWDEV-143822 - [CQE OCL][Vega10][OCLtst][DTB-Blocker][QR] 8 out of 50 failures are observed with OCLPerf 32bit test; due to Faulty CL# 1502648
- Free resource cache if PAL failed memory allocation
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#47 edit
SWDEV-142271 - Performance drop is observed in Ocean Surface Simulation of Compubenchcl in 17.50 when compared to 17.Q4.1
- Fix compilation errors in Linux.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.cpp#6 edit
SWDEV-142271 - Performance drop is observed in Ocean Surface Simulation of Compubenchcl in 17.50 when compared to 17.Q4.1
- Fix compilation errors in Linux.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.hpp#6 edit
SWDEV-142271 - Performance drop is observed in Ocean Surface Simulation of Compubenchcl in 17.50 when compared to 17.Q4.1
- Rewrite the adaptive mode for waveliimiter. Make sure the performance feedback corresponds to the right wave count. Add the new sampling logic to find the best number, based on average performance.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#295 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.hpp#10 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#71 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#39 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palwavelimiter.hpp#5 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.cpp#80 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/command.hpp#88 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#282 edit
SWDEV-137270 - Add findLocalWorkSize to OpenCL runtime ROC device
- Add support for kernel using image argument
- fix the issue of not using the max workgroup size specified by the environment variables "maxWorkGroupSize*"
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.hpp#19 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocsettings.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#50 edit
SWDEV-143191 - OpenCL Runtime Support for Vega20 BU in ROCm
- add device info entry for Vega20
- modified Makefile.library to use Vega20's bitcode library
Affected files ...
... //depot/stg/opencl/drivers/opencl/library/build/Makefile.library#63 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdefs.hpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocdevice.cpp#81 edit
SWDEV-116219 - Allocating memory on GPU is 2x slower on win10 RS than on win7
- Fix failures on Win7 32 bit after extending resource cache size. Disable SVM region reservation for 32 bits, since OCL2.0 is disabled for 32bit.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#581 edit
SWDEV-142224 - [OCL] OCL runtime hang in multithread app with extended tests
- Lock the resource cache only if a resource will be placed into the cache. Views, allocated/destroyed dynamically on the queues, won't be placed into the cache and lock should not be called for them
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#46 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.hpp#15 edit