EPR #010002 - Change OpenCL version number from 1888 to 1889.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1635 edit
[ROCm/clr commit: 414042ad4b]
EPR #010002 - Change OpenCL version number from 1887 to 1888.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1634 edit
[ROCm/clr commit: 6f7a4636a6]
EPR #010002 - Change OpenCL version number from 1886 to 1887.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1633 edit
[ROCm/clr commit: 0a81c9aed9]
ECR #304775 - Modify caching library code to be used by HSAIL runtime
1. Remove dependencies on shader compiler version, amd::Os and amd::option
2. Let version be one the of input
3. Change all prefix "Kernel" to prefix "String", e.g., class name is modified from KernelCache to StringCache, etc.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/cache.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/cache.hpp#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/tools/caching/cache.cpp#1 branch
... //depot/stg/opencl/drivers/opencl/compiler/tools/caching/cache.hpp#1 branch
[ROCm/clr commit: 4e9e419b6b]
EPR #426143 - [AVID] clEnqueueWriteImage with a row pitch different from 0 will fail if we use the pre-pinned path
- pass pitch and slice to the copy functions
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#377 edit
[ROCm/clr commit: 8e3e9dbae5]
EPR #412821 - Default AMD_THREAD_TRACE_ENABLE to true for both main and stg.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#239 edit
[ROCm/clr commit: decb7a1668]
EPR #010002 - Change OpenCL version number from 1885 to 1886.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1632 edit
[ROCm/clr commit: 5fe8a883a8]
EPR #010002 - Change OpenCL version number from 1884 to 1885.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1631 edit
[ROCm/clr commit: 2cb1ec95ea]
EPR #424190 - IOMMU2/SVM on CZ Win10, Optimization_1
- Map can now return the surface address directly as we do system memory allocations that GPU can rw via IOMMUv2.
- Unpack shaders binary to the shader surface directly, skip unmap which saves a lot of CPDMA calls.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/8386/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#138 edit
[ROCm/clr commit: 4d4e4ce7a2]
EPR #010002 - Change OpenCL version number from 1883 to 1884.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1630 edit
[ROCm/clr commit: 73b4bc7b83]
EPR #010002 - Change OpenCL version number from 1882 to 1883.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1629 edit
[ROCm/clr commit: d1b428df6a]
ECR #333753 - Compiler Lib: Bug 10985 - Print compiler options as comment in .cl file when dumping using -save-temps
Affects all targets.
Also fixes rare problem with dumping cl as a raw binary.
Testing: pre check-in
Reviewers: Brian Sumner, Nikolay Haustov, Matthew Arsenault
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/frontend.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/frontend.hpp#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/frontend_clang.cpp#23 edit
[ROCm/clr commit: 243af8e611]
EPR #010002 - Change OpenCL version number from 1881 to 1882.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1628 edit
[ROCm/clr commit: 974f695bed]
EPR #010002 - Change OpenCL version number from 1880 to 1881.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1627 edit
[ROCm/clr commit: 7e351cfa79]
EPR #010002 - Change OpenCL version number from 1879 to 1880.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1626 edit
[ROCm/clr commit: 1ebbcc6689]
EPR #010002 - Change OpenCL version number from 1878 to 1879.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1625 edit
[ROCm/clr commit: 41d97833db]
EPR #425389 - Back out changelist 1181925
Although the compiler library sources are split, the build does not yet use this, so the wrong default value is being used for AMDIL vs. HSAIL
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#130 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/AMDLLVMContextHook.h#28 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/Transforms/IPO/AMDOptOptions.h#8 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/IPO/AMDOptOptions.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/IPO/AMDPassManagerBuilder.cpp#56 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/tools/opt/amdopt.inc#26 edit
[ROCm/clr commit: adedfc7a66]
ECR #354633 - SPIR-V: Let aoc2 load and save SPIR-V.
E.g.
aoc2 -march=hsail-64 -cl-std=CL2.0 -srctospv testReadf.cl
compile a cl to SPIR-V binary and save it as .spv
aoc2 -march=hsail-64 -cl-std=CL2.0 -spirv work_group_any.spv
load a SPIR-V binary and compiles it to ISA and save it to elf in .bin
Changed the option for round-trip translation of SPIR-V to -round-trip-spirv.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/api/v0_8/acl.cpp#35 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/frontend_clang.cpp#22 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#133 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#74 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#22 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#129 edit
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/aoc2.cpp#76 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#47 edit
[ROCm/clr commit: cc13b9f1f6]
EPR #010002 - Change OpenCL version number from 1877 to 1878.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1624 edit
[ROCm/clr commit: 1c2cc813ae]
EPR #010002 - Change OpenCL version number from 1876 to 1877.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1623 edit
[ROCm/clr commit: 9131fede77]
EPR #010002 - Change OpenCL version number from 1875 to 1876.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1622 edit
[ROCm/clr commit: 93efc5d999]
ECR #354633 - SPIR-V: Add -D for blowfish for compiler lib, which is required by ValidateBinaryImage as it is moved from runtime to compiler lib.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/complibdefs#42 edit
[ROCm/clr commit: 88e30fccb8]
EPR #010002 - Change OpenCL version number from 1874 to 1875.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1621 edit
[ROCm/clr commit: bd71fc8775]
ECR #304775 - Remove HLC_Unroll_* variables.
HLC_Unroll_Scratch_Threshold was unused. The others have equivalent settings in the AMDLLVMContextHook, so consistently use that version. The patches to opt were already had different set of command line flags for the same options.
This changes two of the defaults in compiler library and the equivalent flags in opt to match the values which were actually in use so this shoudn't change the current behavior. The unroll threshold default and allow partial unrolling defaults were changed to the actually used default values. Eventually all of these custom options should be removed, because in current LLVM these can be controlled per loop by the TargetTransformInfo, and all have equivalent cl::opts already.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#128 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/AMDLLVMContextHook.h#27 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/Transforms/IPO/AMDOptOptions.h#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/IPO/AMDOptOptions.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/IPO/AMDPassManagerBuilder.cpp#55 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/tools/opt/amdopt.inc#25 edit
[ROCm/clr commit: 5ad9c314c6]
EPR #010002 - Change OpenCL version number from 1873 to 1874.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1620 edit
[ROCm/clr commit: 87f0549195]
ECR #304775 - Preparation for kernel caching feature
force line ending on files to one style. Precheckin does not capture this failure as it converts all text files to linux format so that both linux and windows can compile the code during precheckin.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/cache.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/cache.hpp#4 edit
[ROCm/clr commit: 02cf1c13a0]
ECR #304775 - Preparation for kernel caching feature
1. Each device have a separate cache directory
2. It logs caching errors, so we can debug the cache and/or detect collisions
3. Implementeded cache size tracking, so we can evict old data when cache files are too large
4. Added file/path access permission control on both windows and linux
5. Have read/write file lock protection
6. -kcache-disable flag can be used to turn on/off the caching functionality
7. AMD_FORCE_KCACHE_TEST env variable is used for internal testing
8. For the stage we want to cache, call getCacheEntry() followed by makeCacheEntry() if the get fails; otherwise directly return cached data.
- After the compiler library code is refactored, getCacheEntry() and makeCacheEntry() will be wrapped into one function call, so that only one call is needed at the place we want to cache
TO DO:
1. Use it in the compiler library code
- Waiting for the decision on how many stages we want to cache, i) 1-stage caching: source->ISA; or ii) 3-stage caching: source->LLVM IR, LLVM IR->IL, IL->ISA
2. Tracking of timestamps for cache entries
- LRU eviction when cache grows too large
- Suggestion from Laurent: Regarding tracking timestamps for LRU eviction: Random eviction would probably perform as well as LRU and does not require timestamps.
3. Track cache entries per application
ReviewBoardURL = http://ocltc.amd.com/reviews/r/8194/
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/cache.cpp#3 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/cache.hpp#3 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#127 edit
[ROCm/clr commit: 7b52a80a63]