SWDEV-77545 - Relax Cypress restriction on SDMA copy
- The original check for offest was wrong. We have to check the linear buffer alignment
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#145 edit
[ROCm/clr commit: 1eab831776]
SWDEV-2 - Change OpenCL version number from 1897 to 1898.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1644 edit
[ROCm/clr commit: 38066a08d3]
SWDEV-77164 - Remove libelf differences from original elftoolchain. These erroneously make ELF_C_RDWR not to load existing section headers.
Testing: pre-checkin
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/loaders/elf/utils/libelf/elf_scn.c#4 edit
[ROCm/clr commit: d0fde4d659]
SWDEV-59579 - resubmit the changelist 1193161. refactory the Coare-grained SVM and fine grain buffer SVM code path, so that if the device SVM running on supports fine grain system, then the SVM API operation will be on system memory, no need to go through GPU backend. In addition, added support for PX system with CZ on windows 10, which supports SVM fine grain system.
code review:
http://ocltc.amd.com/reviews/r/8530/
precheckin:
http://ocltc.amd.com:8111/viewModification.html?modId=58913&personal=true&buildTypeId=&tab=vcsModificationBuilds&show_all_builds=true
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_svm.cpp#15 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#527 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#152 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#382 edit
[ROCm/clr commit: a3074a2a8f]
SWDEV-59579 - refactory the Coare-grained SVM and fine grain buffer SVM code path, so that if the device SVM running on supports fine grain system, then the SVM API operation will be on system memory, no need to go through GPU backend. In addition, added support for PX system with CZ on windows 10, which supports SVM fine grain system.
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_svm.cpp#13 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#256 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#525 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#150 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#380 edit
[ROCm/clr commit: 2cd56dc9f0]
SWDEV-17662 - ORCA RT: fix for continuing work after Program link failure.
[Synopsis]
If program link is failed RT continues its work and fails further (for example, in symbol.setDeviceKernel).
[Testing] pre check-in
Reviewer: German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#207 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#70 edit
[ROCm/clr commit: ca0a125f97]
EPR #010002 - Change OpenCL version number from 1896 to 1897.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1643 edit
[ROCm/clr commit: 0ab65a610a]
ECR #354633 - SPIR-V: Back out revision 327 from //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp since cl_khr_il_program is not recognized by conformance compiler test yet.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#328 edit
[ROCm/clr commit: 7f9a18c1b0]
EPR #010002 - Change OpenCL version number from 1895 to 1896.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1642 edit
[ROCm/clr commit: a2dc72376a]
EPR #425397 - Fix SIGFPE filtering to be set up in the CPU device.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.cpp#275 edit
... //depot/stg/opencl/drivers/opencl/runtime/os/os.hpp#29 edit
... //depot/stg/opencl/drivers/opencl/runtime/os/os_posix.cpp#41 edit
... //depot/stg/opencl/drivers/opencl/runtime/os/os_win32.cpp#46 edit
[ROCm/clr commit: 972644abff]
EPR #010002 - Change OpenCL version number from 1894 to 1895.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1641 edit
[ROCm/clr commit: 8962c06704]
EPR #010002 - Change OpenCL version number from 1893 to 1894.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1640 edit
[ROCm/clr commit: 15841f57cb]
EPR #010002 - Change OpenCL version number from 1892 to 1893.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1639 edit
[ROCm/clr commit: 6e1eb56309]
EPR #010002 - Change OpenCL version number from 1891 to 1892.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1638 edit
[ROCm/clr commit: 31c862938a]
EPR #425801 - Only apply optimize init sequeuce for Windows 10 - to avoid issue observed in EPR#425801 for Win7.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#140 edit
[ROCm/clr commit: ef264b7508]
ECR #333753 - ORCA RT: fix for continuing work after Program build failure.
[Synopsis]
If program build (compile or link) is failed RT continues its work and fails further (for example, in symbol.setDeviceKernel). It was hard to find out the real failure (HSAILProgram::linkImpl) due to buildLog, which is printed once in the end, and due to abscence of LogError function call.
[Misc]
+ Error handling improvement in HSAILProgram::linkImpl and some others. ToDo: Do the same for the rest.
+ LogError() is added to Program::build/compile/link
[Testing] pre check-in
Reviewer: German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#184 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#206 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#65 edit
[ROCm/clr commit: 94eccbc8e5]
EPR #010002 - Change OpenCL version number from 1890 to 1891.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1637 edit
[ROCm/clr commit: fb75127a61]
EPR #010002 - Change OpenCL version number from 1889 to 1890.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1636 edit
[ROCm/clr commit: 5e0e35b64e]
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]
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]