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]
EPR #010002 - Change OpenCL version number from 1875 to 1876.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1622 edit
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]
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
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]
EPR #010002 - Change OpenCL version number from 1874 to 1875.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1621 edit
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]
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
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]
EPR #010002 - Change OpenCL version number from 1873 to 1874.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1620 edit
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
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
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]
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
ECR #304775 - Disable Pre-SI asics initialization in runtime. EG and NI are no longer supported from 15.30
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudefs.hpp#125 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#519 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#135 edit
EPR #010002 - Change OpenCL version number from 1872 to 1873.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1619 edit
[ROCm/clr commit: 57e25aa29e]
EPR #010002 - Change OpenCL version number from 1872 to 1873.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1619 edit
EPR #010002 - Change OpenCL version number from 1871 to 1872.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1618 edit
[ROCm/clr commit: 5e6c8eef77]
EPR #010002 - Change OpenCL version number from 1871 to 1872.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1618 edit
ECR #304775 - Move AMDExportKernelNature to compiler library.
This is part of the effort to move all extra passes out of the LLVM directory and into compiler library so we can build with a pure copy of LLVM. This is far from all of the sources required to move, but I'm trying to do the migration in moderately sized pieces.
Duplicates AMDSymbolNames.h utility header to avoid having a circular dependency between LLVM and compiler library. Eventually when all extra sources are moved into compiler library, there should only be one copy left.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/optimizer.cpp#27 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/include/AMDPasses.h#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/include/AMDSymbolName.h#1 branch
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/lib/AMDExportKernelNature.cpp#1 move/add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/Analysis/Passes.h#56 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/InitializePasses.h#81 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Analysis/AMDExportKernelNature.cpp#16 move/delete
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Analysis/Analysis.cpp#34 edit
[ROCm/clr commit: 9c9f5d42f9]
ECR #304775 - Move AMDExportKernelNature to compiler library.
This is part of the effort to move all extra passes out of the LLVM directory and into compiler library so we can build with a pure copy of LLVM. This is far from all of the sources required to move, but I'm trying to do the migration in moderately sized pieces.
Duplicates AMDSymbolNames.h utility header to avoid having a circular dependency between LLVM and compiler library. Eventually when all extra sources are moved into compiler library, there should only be one copy left.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/optimizer.cpp#27 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/include/AMDPasses.h#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/include/AMDSymbolName.h#1 branch
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/lib/AMDExportKernelNature.cpp#1 move/add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/Analysis/Passes.h#56 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/include/llvm/InitializePasses.h#81 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Analysis/AMDExportKernelNature.cpp#16 move/delete
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Analysis/Analysis.cpp#34 edit
EPR #010002 - Change OpenCL version number from 1870 to 1871.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1617 edit
[ROCm/clr commit: 977ba9ae12]
EPR #010002 - Change OpenCL version number from 1870 to 1871.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1617 edit