EPR #010002 - Change OpenCL version number from 1857 to 1858.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1604 edit
EPR #010002 - Change OpenCL version number from 1856 to 1857.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1603 edit
ECR #333753 - cl-denorms-are-zero runtime change - comment out "singleFpDenorm_ = true" for now.
So AMD_GPU_FORCE_SINGLE_FP_DENORM is required to enable this, until a few issues are resolved.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#316 edit
EPR #010002 - Change OpenCL version number from 1855 to 1856.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1602 edit
ECR #333753 - Compiler Lib/aoc2: AMD HSA Code Object Import feature
Works only in case of whole compilation from the source CL to ISA. Doesn't work for -srctoir, -irtocg, -cgtoisa as meaningless.
Importing occurs instead of finalization.
To use offline by aoc2:
aoc2 -hsacodeobject=<importing_code_object_filename> -cl-std=CL2.0 -march=hsail(-64) -mdevice=Bonaire <source_cl_filename>
To use online by setting env:
AMD_DEBUG_HSA_CODE_OBJECT_INPUT=<importing_code_object_filename>
Misc:
+ fix a few aoc2 bugs & typos
+ readFile/writeFile functions duplication removal
+ std::getenv instead of :getenv (ToDo: :putenv -> std::system in separate change)
+ fix memory leak in hsail_be.cpp on CodeObject
Testing: pre checin, ursa.pl -t complib -M hsacodeobject
Reviewers: Nikolay Haustov, Brian Sumner
http://ocltc.amd.com/reviews/r/8058/
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/api/v0_8/acl.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#71 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/Main.cxx#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#46 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#19 edit
... //depot/stg/opencl/drivers/opencl/compiler/tools/aoc2/aoc2.cpp#73 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/bin/test_driver.pl#14 edit
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/aoc2/hsacodeobject/hsacodeobject.1.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/src/complib/aoc2/hsacodeobject/hsacodeobject.cl#1 add
... //depot/stg/opencl/drivers/opencl/tests/hsa/tlst/complib.tlst#7 edit
EPR #010002 - Change OpenCL version number from 1854 to 1855.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1601 edit
EPR #010002 - Change OpenCL version number from 1853 to 1854.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1600 edit
EPR #010002 - Change OpenCL version number from 1852 to 1853.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1599 edit
EPR #010002 - Change OpenCL version number from 1851 to 1852.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1598 edit
EPR #394700 - SubAllocation Scheme for ConstantBuffers Implemented in GLL.
This CL introduces sub-allocation for constant buffer for all Asics and currently supported by GLL, it can easily be opted in by OpenCL, OES as well.
OpenCL changes for Sub-allocation scheme for constantbuffers. For more info please see CL#1172125
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#75 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLDevice.cpp#126 edit
EPR #010002 - Change OpenCL version number from 1850 to 1851.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1597 edit
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