SWDEV-77522 - fix for erroneous CL_DEVICE_VERSION reporting by RT for HSAIL.
[Synopsis]
On a CI+ Device (KV, for example) if GPU_HSAIL_ENABLE=1 (which forcing HSAIL) CL_DEVICE_VERSION reported by RT is 1.2; if GPU_HSAIL_ENABLE=0 (default for now), then CL_DEVICE_VERSION = 2.0. It looks like this behaviour exists since then HSAIL was based on EDG, which supports only OpenCL 1.2. Now when HSAIL is based on Clang and supports OpenCL 2.0, there is no need in lowering CL Device Version at all for all CI+ devices nomatter the default path is (HSAIL or AMDIL).
This bug is a stopper for enabling HSAIL by default for OpenCL 1.2. Actually the problem occurs with OpenCL 2.0 programs when forcing them on HSAIL but with -cl-std=CL2.0 option, since they couldn't be executed on 1.2 device.
Testing: Pre check-in.
Reviewer: German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#330 edit
[ROCm/clr commit: 3e0185a205]
SWDEV-77522 - fix for erroneous CL_DEVICE_VERSION reporting by RT for HSAIL.
[Synopsis]
On a CI+ Device (KV, for example) if GPU_HSAIL_ENABLE=1 (which forcing HSAIL) CL_DEVICE_VERSION reported by RT is 1.2; if GPU_HSAIL_ENABLE=0 (default for now), then CL_DEVICE_VERSION = 2.0. It looks like this behaviour exists since then HSAIL was based on EDG, which supports only OpenCL 1.2. Now when HSAIL is based on Clang and supports OpenCL 2.0, there is no need in lowering CL Device Version at all for all CI+ devices nomatter the default path is (HSAIL or AMDIL).
This bug is a stopper for enabling HSAIL by default for OpenCL 1.2. Actually the problem occurs with OpenCL 2.0 programs when forcing them on HSAIL but with -cl-std=CL2.0 option, since they couldn't be executed on 1.2 device.
Testing: Pre check-in.
Reviewer: German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#330 edit
SWDEV-2 - Change OpenCL version number from 1906 to 1907.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1653 edit
[ROCm/clr commit: 74b1183f97]
SWDEV-2 - Change OpenCL version number from 1906 to 1907.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1653 edit
SWDEV-59579 - using existing function to simplify the code.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#301 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#385 edit
SWDEV-2 - Change OpenCL version number from 1905 to 1906.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1652 edit
[ROCm/clr commit: 66a50cca4a]
SWDEV-2 - Change OpenCL version number from 1905 to 1906.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1652 edit
SWDEV-78052 - [CQE-OCL][DTB][QR][LNX]RQ conf test "Multiple device context" fails in few asics due to CL#1196902
- Restore synchronization on the DMA engine. OCL doesn't require a sync, because resource isn't busy on the CAL device. However without sync there are less CBs available. Conformanace multidevice test will create around 60 queues, instead of 70
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#147 edit
[ROCm/clr commit: 86bc25cad2]
SWDEV-78052 - [CQE-OCL][DTB][QR][LNX]RQ conf test "Multiple device context" fails in few asics due to CL#1196902
- Restore synchronization on the DMA engine. OCL doesn't require a sync, because resource isn't busy on the CAL device. However without sync there are less CBs available. Conformanace multidevice test will create around 60 queues, instead of 70
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#147 edit
SWDEV-78024 - SYCL - Issue with printf when printing a string without format specifier - removed the condition to expand printf only if it has more than one arguemnt.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Target/AMDIL/AMDILPrintfConvert.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/test/CodeGen/AMDIL/printf_without_format_specifier.ll#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprintf.cpp#39 edit
[ROCm/clr commit: cb963bf9eb]
SWDEV-78024 - SYCL - Issue with printf when printing a string without format specifier - removed the condition to expand printf only if it has more than one arguemnt.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Target/AMDIL/AMDILPrintfConvert.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/test/CodeGen/AMDIL/printf_without_format_specifier.ll#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprintf.cpp#39 edit
SWDEV-2 - Change OpenCL version number from 1904 to 1905.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1651 edit
[ROCm/clr commit: 8b5fd219a9]
SWDEV-2 - Change OpenCL version number from 1904 to 1905.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1651 edit
SWDEV-77321 - Runtime to replace metadata LimitWave with WavePerSimdHint.
Compiler has changed LimitWave to WavePerSimdHint, so runtime need to make corresponding change to have the Wave Limiter continue working.
WavePerSimdHint=1,...,10 will be dealt with later.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#258 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#300 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#119 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#8 edit
[ROCm/clr commit: d4d9167613]
SWDEV-77321 - Runtime to replace metadata LimitWave with WavePerSimdHint.
Compiler has changed LimitWave to WavePerSimdHint, so runtime need to make corresponding change to have the Wave Limiter continue working.
WavePerSimdHint=1,...,10 will be dealt with later.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#258 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#300 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#119 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuwavelimiter.cpp#8 edit
SWDEV-2 - Change OpenCL version number from 1903 to 1904.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1650 edit
[ROCm/clr commit: 2d8dd20ed1]
SWDEV-2 - Change OpenCL version number from 1903 to 1904.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1650 edit
SWDEV-2 - Change OpenCL version number from 1902 to 1903.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1649 edit
[ROCm/clr commit: a19486245f]
SWDEV-2 - Change OpenCL version number from 1902 to 1903.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1649 edit
SWDEV-2 - Change OpenCL version number from 1901 to 1902.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1648 edit
[ROCm/clr commit: 1acc88b862]
SWDEV-2 - Change OpenCL version number from 1901 to 1902.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1648 edit
SWDEV-77510 - cl_amd_topology doesn't return the correct bus id on a two socket system
- replace cl_char with cl_uchar
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h#17 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h#3 edit
[ROCm/clr commit: 16e02e529c]
SWDEV-77510 - cl_amd_topology doesn't return the correct bus id on a two socket system
- replace cl_char with cl_uchar
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h#10 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h#17 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h#3 edit
The default is non-coherent access for better performance on dGPU.
Disabled hsaKmtSetMemoryPolicy function on dGPU to prevent app from
overriding the APE1 settings at runtime.
Fixed dGPU VM aperture limit to be inclusive.
Change-Id: I378ff74a654f533572775c0c97c19779a56bc6d9
The default is non-coherent access for better performance on dGPU.
Disabled hsaKmtSetMemoryPolicy function on dGPU to prevent app from
overriding the APE1 settings at runtime.
Fixed dGPU VM aperture limit to be inclusive.
Change-Id: I378ff74a654f533572775c0c97c19779a56bc6d9
[ROCm/ROCR-Runtime commit: 8e836f8183]
SWDEV-2 - Change OpenCL version number from 1900 to 1901.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1647 edit
[ROCm/clr commit: f5c30d2ca0]
SWDEV-2 - Change OpenCL version number from 1900 to 1901.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1647 edit
SWDEV-58155 - Reduce maximum size of queue on device from 16MB to 8MB.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#529 edit
[ROCm/clr commit: 3847ee8ceb]
SWDEV-58155 - Reduce maximum size of queue on device from 16MB to 8MB.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#529 edit
SWDEV-76911 - Bug 11070: ViennaCL fails in amd::hsa::loader::Executable::Destroy
Destructors of global variables run in undefined order, so loader cannot
be global. Encapsulate loader functionality in Loader class and link its lifecycle
to Runtime.
In HSA Runtime, create Loader as part of Runtime singleton.
In ORCA Runtime, create Loader as part of HSAILProgram class.
Testing: smoke, pre-checkin
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/amdhsacod/amdhsacod.cpp#10 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/loader/executable.cpp#12 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/loader/executable.hpp#8 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/include/amd_hsa_loader.hpp#5 integrate
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/aoc2.cpp#78 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#210 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#61 edit
[ROCm/clr commit: f670ae2f8d]
SWDEV-76911 - Bug 11070: ViennaCL fails in amd::hsa::loader::Executable::Destroy
Destructors of global variables run in undefined order, so loader cannot
be global. Encapsulate loader functionality in Loader class and link its lifecycle
to Runtime.
In HSA Runtime, create Loader as part of Runtime singleton.
In ORCA Runtime, create Loader as part of HSAILProgram class.
Testing: smoke, pre-checkin
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/amdhsacod/amdhsacod.cpp#10 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/loader/executable.cpp#12 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/ext/loader/executable.hpp#8 integrate
... //depot/stg/opencl/drivers/opencl/compiler/sc/HSAIL/include/amd_hsa_loader.hpp#5 integrate
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/aoc2.cpp#78 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#210 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#61 edit
SWDEV-2 - Change OpenCL version number from 1899 to 1900.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1646 edit
[ROCm/clr commit: 90efd5a216]
SWDEV-2 - Change OpenCL version number from 1899 to 1900.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1646 edit