SWDEV-86170 - Need OCL changes for Compute Unit Reservation
- Add support for RT and Medium priority queues
- Use the new packet for the CU mask programming. It will allow CU reservation for RT queue in KMD.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_command.cpp#11 edit
... //depot/stg/opencl/drivers/opencl/library/hsa/hsail/src/devenq/schedule.cl#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#546 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#159 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpumemory.cpp#127 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#402 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#139 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#81 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#52 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#165 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/backend.h#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/commandqueue.cpp#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/commandqueue.hpp#17 edit
[ROCm/clr commit: 9d15802430]
SWDEV-77584 - HSA HLC: refactoring of min/max processing and folding
1. Fixed correctness bug: if a source contains code like (x > y) ? x : y, HLC was folding
this and similar patterns to min and max instructions. The problem is with NaN handling.
Such a pattern may return NaN if one of two arguments is a NaN. All our instructions return
a number in this case, except for gcn instruction returning a qNaN if input is sNaN.
For a qNaN a number is retuned in any way. Therefor such folding is only correct if NaN handling
is disabled. Patterns are predicated to work with -cl-finite-math-only or -cl-fast-relaxed-math
which includes the former option.
NB: Performance regressions are expected in programs which do not use either of these options.
2. Compiler lib did hot handle -cl-finite-math-only. Also added handling of -cl-no-signed-zeros,
even though it does not affect code generation because there is no llvm counterpart for it.
3. Patterns for NaN agnostic comparison codes are added. We are getting these in case if finite
only math is requested.
4. Removed patterns for __hsail_min_f* and __hsail_max_f*. Instead these intrinsics are lowered
to fminnum and fmaxnum llvm operations with the same semantics. This allows to decrease the number
of patterns and simplify handling.
5. For f32 we were only producing gcn versions min and max with source patterns if gcn is enabled.
Added similar lowering to standard min/max HSAIL operations if gcn is disabled.
6. Added lowering of fmaxnum/fminnum to more efficient gcn operations if gcn is enabled.
Neither OpenCL nor LLVM IR semantics are violated by this.
7. Moved GCN media intrinsics definitions into the GCN directory.
8. Added folding of gcn f32 instructions min(max), min(min), max(max) into corresponding gcn
instructions med3, min3 and max3. This should have been helpful for color clamping.
Performance testing showed these are slow, however. T-Rex test from compubench has slowed down
by 50 times for no obvious reason. Therefor folding is disabled by default. The option -enable-gcn-mm3
is added to enable the folding for testing purposes.
Testing: smoke, precheckin, luxmark, compubench, BasemarkCL,
conformance: commonfns, bruteforce -w, relationals, select
Reviewed by Brian Sumner
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/codegen.cpp#68 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/opt_level.cpp#29 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.cpp#35 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/GCN/HSAILArithmetic.td#3 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/GCN/HSAILFusion.td#3 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/GCN/HSAILIntrinsics.td#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILArithmetic.td#45 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILFusion.td#28 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILISelDAGToDAG.cpp#68 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILISelLowering.cpp#113 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILInstrInfo.td#21 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILIntrinsics.td#70 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/llc/opt/minmax/minmaxf3pat.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/tlst/llc_opt.tlst#93 edit
[ROCm/clr commit: efa52f77ef]
SWDEV-2 - Change OpenCL version number from 2108 to 2109.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1855 edit
[ROCm/clr commit: c12399b2e6]
SWDEV-2 - Change OpenCL version number from 2107 to 2108.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1854 edit
[ROCm/clr commit: 23266526c9]
SWDEV-2 - Change OpenCL version number from 2106 to 2107.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1853 edit
[ROCm/clr commit: 889bcdcf8a]
SWDEV-2 - Change OpenCL version number from 2105 to 2106.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1852 edit
[ROCm/clr commit: 829e3d0f6e]
SWDEV-92625 - x86 RT: fix division by zero in cpumapping::HCtoDCmap
In many cases default alignment passed as 0. At the same time minimal possible alignment is 1,
while cpumappings uses this value as a divisor. Set it to max(passed alignment, 1).
Testing: smoke, precheckin, conformance really quick on cpu
Reviewed by German Andreev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpumapping.cpp#5 edit
[ROCm/clr commit: 62a98d8da8]
SWDEV-90482 - [Afterswitch] Interop from OpenGL to OpenCL is broken in one driver and crashes in another
- Make sure SRD resource is reported to OS if program contains static samplers
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#314 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#67 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#4 edit
[ROCm/clr commit: c484ae9061]
SWDEV-2 - Change OpenCL version number from 2104 to 2105.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1851 edit
[ROCm/clr commit: 9775dd2ba0]
SWDEV-2 - Change OpenCL version number from 2103 to 2104.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1850 edit
[ROCm/clr commit: ee51c7b281]
SWDEV-2 - Change OpenCL version number from 2102 to 2103.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1849 edit
[ROCm/clr commit: 40e4f4f88c]
SWDEV-2 - Change OpenCL version number from 2101 to 2102.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1848 edit
[ROCm/clr commit: 2b622feb2c]
SWDEV-2 - Change OpenCL version number from 2100 to 2101.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1847 edit
[ROCm/clr commit: 52e7e4888d]
SWDEV-2 - Change OpenCL version number from 2099 to 2100.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1846 edit
[ROCm/clr commit: 655ced5272]
SWDEV-2 - Change OpenCL version number from 2098 to 2099.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1845 edit
[ROCm/clr commit: 3d98c5af33]
SWDEV-2 - Change OpenCL version number from 2097 to 2098.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1844 edit
[ROCm/clr commit: 5a16db75f5]
SWDEV-2 - Change OpenCL version number from 2096 to 2097.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1843 edit
[ROCm/clr commit: cd1c5dc06e]
SWDEV-2 - Change OpenCL version number from 2095 to 2096.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1842 edit
[ROCm/clr commit: ab6f8803b0]
SWDEV-92245 - [CQE OCL][QR][G] Multiple 32/64 bit Bolt sample crashes on all CPUs. FaultyCL#1257532
- Bolt calls map/unmap with the same region twice. Add a counter for the same region to track that case
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#195 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#272 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#401 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#6 edit
[ROCm/clr commit: 6569fba06d]
SWDEV-2 - Change OpenCL version number from 2094 to 2095.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1841 edit
[ROCm/clr commit: be9ae70459]
SWDEV-2 - Change OpenCL version number from 2093 to 2094.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1840 edit
[ROCm/clr commit: 650384ad2c]
SWDEV-2 - Change OpenCL version number from 2092 to 2093.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1839 edit
[ROCm/clr commit: 91e212bebe]
SWDEV-2 - Change OpenCL version number from 2091 to 2092.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1838 edit
[ROCm/clr commit: 30e866a93e]
SWDEV-2 - Change OpenCL version number from 2090 to 2091.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1837 edit
[ROCm/clr commit: 71309c0ae5]
SWDEV-2 - Change OpenCL version number from 2089 to 2090.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1836 edit
[ROCm/clr commit: ce61cd2fd0]
SWDEV-2 - Change OpenCL version number from 2088 to 2089.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1835 edit
[ROCm/clr commit: b01b0d8fda]
SWDEV-90482 - [Afterswitch] Interop from OpenGL to OpenCL is broken in one driver and crashes in another
Fixed the crash by restoring the order where we bind the external device.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/10195/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#544 edit
[ROCm/clr commit: 4f81a5ef7d]
SWDEV-2 - Change OpenCL version number from 2087 to 2088.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1834 edit
[ROCm/clr commit: 2d644faecc]
SWDEV-2 - Change OpenCL version number from 2086 to 2087.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1833 edit
[ROCm/clr commit: 48315e6615]
SWDEV-2 - Change OpenCL version number from 2085 to 2086.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1832 edit
[ROCm/clr commit: b09074dda2]
SWDEV-2 - Change OpenCL version number from 2084 to 2085.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1831 edit
[ROCm/clr commit: 589a800fae]
SWDEV-2 - Change OpenCL version number from 2083 to 2084.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1830 edit
[ROCm/clr commit: 844c44128e]
SWDEV-2 - Change OpenCL version number from 2082 to 2083.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1829 edit
[ROCm/clr commit: 58676824f8]
SWDEV-2 - Change OpenCL version number from 2081 to 2082.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1828 edit
[ROCm/clr commit: 6400572fd8]
SWDEV-2 - Change OpenCL version number from 2080 to 2081.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1827 edit
[ROCm/clr commit: c2a93ebd3a]
SWDEV-2 - Change OpenCL version number from 2079 to 2080.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1826 edit
[ROCm/clr commit: 93730fbae0]
SWDEV-2 - Change OpenCL version number from 2078 to 2079.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1825 edit
[ROCm/clr commit: f9492c32c8]