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]
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 1871 to 1872.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1618 edit
[ROCm/clr commit: 5e6c8eef77]
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]
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]
ECR #304775 - back out 1179705 since it also affects AMDIL path
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#322 edit
[ROCm/clr commit: bde9db095c]
EPR #010002 - Change OpenCL version number from 1869 to 1870.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1616 edit
[ROCm/clr commit: 6b37ecd4c5]
EPR #397491 - Disable 32 bit OCL2.0 on Win 10 for now. isWindows10OrLater() call doesn't work. So, passing a flag from GSL to runtime to disable 32 bit OCL2.0 on Win 10.
http://ocltc.amd.com/reviews/r/8234/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#321 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#133 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/backend.h#8 edit
[ROCm/clr commit: 68cf197c22]
ECR #304775 - switch on "denorm" support on VI and make HSAIL default to not generating ftz modifier
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILISelDAGToDAG.cpp#48 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#320 edit
[ROCm/clr commit: 473c92d0f4]
EPR #419072 - [OpenCL2.0] Enable 16MB large on device queues
- Enable device queue creation up to 12MB. That should allow to run Intel SDK sample from the EPR that requires 6MB queue only.
- Currently a queue with >12.5MB size has a significant performance degradation. Thus the current max possible is 12MB. In general it's preferable to use the queue size more suitable for the task, rather than max possible.
Affected files ...
... //depot/stg/opencl/drivers/opencl/library/hsa/hsail/src/devenq/schedule.cl#10 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#115 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.hpp#38 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudefs.hpp#123 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#517 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#17 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#372 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#131 edit
[ROCm/clr commit: 1386191b6c]
EPR #010002 - Change OpenCL version number from 1868 to 1869.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1615 edit
[ROCm/clr commit: 6d9138334f]
EPR #010002 - Change OpenCL version number from 1867 to 1868.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1614 edit
[ROCm/clr commit: e41da28605]