ECR #304775 - First batch of build fixes for clang.
Fixes hard source errors and a handful of simple warnings, but leaves most other warnings for later. Other errors not fixed here are from adding compile flags that are not understood.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/clc/src/e2lCommon.h#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/opt_level.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/BRIGAsmPrinter.cpp#117 edit
... //depot/stg/opencl/drivers/opencl/opencldefs#162 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#289 edit
EPR #010002 - Change OpenCL version number from 1849 to 1850.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1596 edit
EPR #010002 - Change OpenCL version number from 1848 to 1849.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1595 edit
ECR #304775 - Cleanup IL_OP_SIN and IL_OP_COS since SC will remove them. Remove f16 tests from ocltst NativeFuncs tests since f16 support has been removed from AMDIL path.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Target/AMDIL/AMDILEnumeratedTypes.td#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Target/AMDIL/AMDILInstructions.td#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm32/lib/Target/AMDIL/AMDILIntrinsics.td#2 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/compiler/NativeFuncs/native_funcs_macro.h#63 edit
EPR #010002 - Change OpenCL version number from 1847 to 1848.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1594 edit
ECR #333753 - ORCA RT/Compiler Lib: HSA Code Object/RT independent loader introducing/integration into OpenCL.
Changes by Evgeniy Mankov.
Purpose:
Use the same Finalizer & loader for both HSA & ORCA RT.
AMDIL path is not affected.
Changes:
1. The whole BRIG is finalized now instead of per kernel finalization (both in gpuprogram & hsail_be).
2. HSALoader is changed in order to work with CodeObject and new HSA Loader's API <96> Context. Now it is in ORCA<92>s gpuprogram instead of Compiler Lib.
3. brig_loader.cpp is removed from compiler lib, as well as __aclHSALoader function exports from the whole stack.
4. BIF .text section now contains the whole finalized HSA CodeObject instead of separate symbols for finalized kernels.
5. ORCA RT now works directly with amd_kernel_code_t and doesn't need any SC metadata anymore.
6. aoc2 is supplemented with fake offline loader correspondingly.
7. amdocl/complib make sytem changes.
8. test_driver.pl update.
ToDo:
1. Implement disassemble() & BuildLog() functions to support ISA dumping & SC error handling (Konstantin).
2. Global variables initialization by pragma reference (Konstantin). Test to verify: test_basic progvar_prog_scope_init.
3. Code Object without kernels support (Nikolay - ready). Test to verify: test_generic_address_space.exe library_function
testing: windows smoke, pre check-in, ocl conformance 2.0, ocl SDK 2.9
Reviewers: Nikolay Haustov, German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/amdocl.def.in#13 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/amdocl.map.in#15 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/build/Makefile.api#116 edit
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/amdoclcl.def.in#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/amdoclcl.map.in#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/amdoclcl.def.in#12 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/amdoclcl.map.in#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#70 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/build/Makefile.gpu#32 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#44 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/build/Makefile.complib#85 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#18 edit
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/aoc2.cpp#70 edit
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/build/Makefile.aoc2#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#248 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudefs.hpp#121 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#288 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#112 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#194 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#59 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuscsi.cpp#33 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#368 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/bin/test_driver.pl#12 edit
EPR #010002 - Change OpenCL version number from 1846 to 1847.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1593 edit
ECR #304775 - Bug 10752 kernel caching feature (AMDIL and HSAIL path)
1. For the stage we want to cache, call getCacheEntry() followed by makeCacheEntry() if the get fails; otherwise directly return cached data.
a. Each device have a separate cache directory
b. It logs caching errors, so we can debug the cache and/or detect collisions
2. Implementeded cache size tracking, so we can evict old data when cache files are too large
3. Added file/path access permission control on both windows and linux
4. Have read/write file lock protection
5. -kcache-disable flag can be used to turn on/off the caching functionality
6. AMD_FORCE_KCACHE_TEST env variable is used for internal testing
TO DO:
1. Tracking of timestamps for cache entries
-LRU eviction when cache grows too large
2. Track cache entries per application
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/cache.cpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/cache.hpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/frontend.cpp#34 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/frontend_clang.cpp#20 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#68 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/amdil_be.cpp#43 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#42 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#124 edit
... //depot/stg/opencl/drivers/opencl/tests/kcache/Makefile#1 add
... //depot/stg/opencl/drivers/opencl/tests/kcache/build/Makefile#1 add
... //depot/stg/opencl/drivers/opencl/tests/kcache/build/Makefile.kcache#1 add
... //depot/stg/opencl/drivers/opencl/tests/kcache/kCacheTest_std.txt#1 add
... //depot/stg/opencl/drivers/opencl/tests/kcache/kernel.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/kcache/main.cpp#1 add
EPR #010002 - Change OpenCL version number from 1845 to 1846.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1592 edit
EPR #010002 - Change OpenCL version number from 1844 to 1845.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1591 edit
EPR #010002 - Change OpenCL version number from 1843 to 1844.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1590 edit
EPR #010002 - Change OpenCL version number from 1842 to 1843.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1589 edit
ECR #304775 - Fix a crash in memorybandwidth test
- Remove a pinned mem object from the list only if we need a free slot.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#367 edit
EPR #010002 - Change OpenCL version number from 1841 to 1842.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1588 edit
EPR #010002 - Change OpenCL version number from 1840 to 1841.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1587 edit
EPR #010002 - Change OpenCL version number from 1839 to 1840.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1586 edit
EPR #010002 - Change OpenCL version number from 1838 to 1839.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1585 edit
EPR #010002 - Change OpenCL version number from 1837 to 1838.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1584 edit
EPR #010002 - Change OpenCL version number from 1836 to 1837.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1583 edit
EPR #010002 - Change OpenCL version number from 1835 to 1836.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1582 edit
EPR #010002 - Change OpenCL version number from 1834 to 1835.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1581 edit
EPR #010002 - Change OpenCL version number from 1833 to 1834.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1580 edit
EPR #010002 - Change OpenCL version number from 1832 to 1833.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1579 edit
EPR #010002 - Change OpenCL version number from 1831 to 1832.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1578 edit
ECR #304775 - Mipmaps support. Fix falures after CL#1163104
- don't allocate extra view if level/layer was created already
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#124 edit
EPR #010002 - Change OpenCL version number from 1830 to 1831.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1577 edit
EPR #010002 - Change OpenCL version number from 1829 to 1830.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1576 edit
EPR #010002 - Change OpenCL version number from 1828 to 1829.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1575 edit
ECR #304775 - Mipmaps support
- Fix the view creation for the host path transfers. GSL can ignore the original mipmap surface dimensions and apply the new settings
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#220 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#123 edit
EPR #010002 - Change OpenCL version number from 1827 to 1828.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1574 edit
EPR #010002 - Change OpenCL version number from 1826 to 1827.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1573 edit
EPR #010002 - Change OpenCL version number from 1825 to 1826.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1572 edit
EPR #420701 - WDDM 2.0
- Indicate lite initialization via a new parameter initLite. This is needed as OCL\OGL can query devices first and lot of setup in IOL may not be really needed. On Win10, we create paging\fences for sync which dont get destroyed by the OS unless process is killed. This may prevent slave GPU powerdown in PX cases.
- Disable WriteFence for OpenCL for now.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/7765/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#72 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#122 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.h#48 edit
EPR #419656 - Fix a double free.
The double free is showing up when running a GEHC script that runs 6 OCL app simultanously.
We'll later need to look at why elfOut_->hasError() is true.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#180 edit
EPR #010002 - Change OpenCL version number from 1824 to 1825.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1571 edit
EPR #010002 - Change OpenCL version number from 1823 to 1824.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1570 edit
EPR #010002 - Change OpenCL version number from 1822 to 1823.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1569 edit
EPR #010002 - Change OpenCL version number from 1821 to 1822.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1568 edit