ECR #333753 - Compiler Lib: improve & refactor HSAIL text routines
+ HSAIL text is always being inserted into BIF now in one place of Codegen phase
+ AMDIL & HSAIL paths are unified at Codegen phase
+ Error handling is improved
Testing: make smoke_clang, pre check-in
Reviewers: Brian Sumner, Nikolay Haustov
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#47 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.hpp#10 edit
[ROCm/clr commit: 762e51bb71]
ECR #333753 - Compiler Lib: improve & refactor HSAIL text routines
+ HSAIL text is always being inserted into BIF now in one place of Codegen phase
+ AMDIL & HSAIL paths are unified at Codegen phase
+ Error handling is improved
Testing: make smoke_clang, pre check-in
Reviewers: Brian Sumner, Nikolay Haustov
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#47 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.hpp#10 edit
EPR #010002 - Change OpenCL version number from 1617 to 1618.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1364 edit
[ROCm/clr commit: 3f7a110561]
EPR #010002 - Change OpenCL version number from 1617 to 1618.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1364 edit
EPR #404714 - [CQE OCL][2.0][DTB]Opencl1.2 WF Conf. Math test failedon Pitcairn and Oland due to CL#1065597
- Add a new MapCacheLock monitor to separate the map cache from the global lock
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#456 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#131 edit
[ROCm/clr commit: 18b88ee095]
EPR #404714 - [CQE OCL][2.0][DTB]Opencl1.2 WF Conf. Math test failedon Pitcairn and Oland due to CL#1065597
- Add a new MapCacheLock monitor to separate the map cache from the global lock
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#456 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#131 edit
EPR #404714 - [CQE OCL][2.0][DTB]Opencl1.2 WF Conf. Math test failedon Pitcairn and Oland due to CL#1065597
- Add VGPU lock to flush() method, because gsl flush for the same context could be called from multiple threads
- Use new scratchAlloc_ monitor for scratch reallocation
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#455 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#130 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#331 edit
[ROCm/clr commit: a4bede39eb]
EPR #404714 - [CQE OCL][2.0][DTB]Opencl1.2 WF Conf. Math test failedon Pitcairn and Oland due to CL#1065597
- Add VGPU lock to flush() method, because gsl flush for the same context could be called from multiple threads
- Use new scratchAlloc_ monitor for scratch reallocation
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#455 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#130 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#331 edit
EPR #010002 - Change OpenCL version number from 1616 to 1617.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1363 edit
[ROCm/clr commit: f68129b85b]
EPR #010002 - Change OpenCL version number from 1616 to 1617.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1363 edit
ECR #333753 - Compiler Lib & RT: Fix for Compiler's build log printing on RT.
+ RT now asks correctly Compiler's build log by aclGetCompilerLog().
+ BuildLog is added for HSAILKernel by moving it from NullKernel class to Kernel class.
+ Compiler's Lib appendLogToCL() is fixed.
+ Usage of API's aclExtractSection/aclExtractSymbol/aclInsertSection/aclInsertSymbol in Compiler Lib itself replaced by it's inner realizations extSec/extSym/insSec/insSym due to unneded build log clearing in first case.
+ Phase info is added to build log even if CallBack function is not presented for aclCompiler.
How to verify:
set AMD_OCL_BUILD_OPTIONS_APPEND="-print-compile-phases -buildlog=stdout"
test_integer_ops integer_ctz
test_integer_ops integer_ctz cpu
Testing: make smoke_clang, selective OCL conf. tests, pre check-in
Reviewer: Brian Sumner, German Andryeyev
Review board: http://ocltc.amd.com/reviews/r/5582/
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#46 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/brig_loader.cpp#13 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#228 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#262 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#100 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#174 edit
[ROCm/clr commit: 96c74ba5fd]
ECR #333753 - Compiler Lib & RT: Fix for Compiler's build log printing on RT.
+ RT now asks correctly Compiler's build log by aclGetCompilerLog().
+ BuildLog is added for HSAILKernel by moving it from NullKernel class to Kernel class.
+ Compiler's Lib appendLogToCL() is fixed.
+ Usage of API's aclExtractSection/aclExtractSymbol/aclInsertSection/aclInsertSymbol in Compiler Lib itself replaced by it's inner realizations extSec/extSym/insSec/insSym due to unneded build log clearing in first case.
+ Phase info is added to build log even if CallBack function is not presented for aclCompiler.
How to verify:
set AMD_OCL_BUILD_OPTIONS_APPEND="-print-compile-phases -buildlog=stdout"
test_integer_ops integer_ctz
test_integer_ops integer_ctz cpu
Testing: make smoke_clang, selective OCL conf. tests, pre check-in
Reviewer: Brian Sumner, German Andryeyev
Review board: http://ocltc.amd.com/reviews/r/5582/
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#46 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/brig_loader.cpp#13 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#228 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#262 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#100 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#174 edit
EPR #010002 - Change OpenCL version number from 1615 to 1616.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1362 edit
[ROCm/clr commit: 7035548e92]
EPR #010002 - Change OpenCL version number from 1615 to 1616.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1362 edit
ECR #304775 - HSAIL: Direct SRD support
- Copy SRD to CB1 for image views to avoid a wait for SRD resource when image view is destroyed.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#261 edit
[ROCm/clr commit: 83baaf707e]
ECR #304775 - HSAIL: Direct SRD support
- Copy SRD to CB1 for image views to avoid a wait for SRD resource when image view is destroyed.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#261 edit
EPR #010002 - Change OpenCL version number from 1614 to 1615.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1361 edit
[ROCm/clr commit: ced3dd9589]
EPR #010002 - Change OpenCL version number from 1614 to 1615.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1361 edit
ECR #304775 - Refactor code to do line by line copies for read\write Rect. This avoids taking the blit copy path which may be even slower.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/5567/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#108 edit
[ROCm/clr commit: a5e788c9f8]
ECR #304775 - Refactor code to do line by line copies for read\write Rect. This avoids taking the blit copy path which may be even slower.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/5567/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#108 edit
ECR #304775 - Correct a typo where I didnt remove the offset from the condition which made the writeRect take pinning path.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/5566/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#330 edit
[ROCm/clr commit: d40300fab7]
ECR #304775 - Correct a typo where I didnt remove the offset from the condition which made the writeRect take pinning path.
ReviewBoardURL = http://ocltc.amd.com/reviews/r/5566/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#330 edit
EPR #010002 - Change OpenCL version number from 1613 to 1614.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1360 edit
[ROCm/clr commit: e5626fc0e7]
EPR #010002 - Change OpenCL version number from 1613 to 1614.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1360 edit
EPR #010002 - Change OpenCL version number from 1612 to 1613.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1359 edit
[ROCm/clr commit: 812ddb6ffa]
EPR #010002 - Change OpenCL version number from 1612 to 1613.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1359 edit
ECR #304775 - Back out CL#1061045. Its hanging Linux
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuappprofile.cpp#9 edit
[ROCm/clr commit: 12de6e8df2]
ECR #304775 - Back out CL#1061045. Its hanging Linux
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuappprofile.cpp#9 edit
EPR #010002 - Change OpenCL version number from 1611 to 1612.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1358 edit
[ROCm/clr commit: bd3a1919da]
EPR #010002 - Change OpenCL version number from 1611 to 1612.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1358 edit
ECR #333753 - RT: Bug 10185 fix
[Bug] "Failure in 1.2 conformance sub-test 'program_binary_type' of 'compiler' and sub-test 'binary_create' of 'api' when forced to run in HSAIL path".
P.S. Failure also occurs in 2.0 conformance above-stated tests.
[Problem] HSAIL text is inserted by Compiler Lib into the BIF as a symbol of .cg section, but RT extracts it as a whole section.
As a result in the extracted bits another .cg sections symbol __Loader_Map is also presented in the beginning and with trailing zeroes. This leads to cropping the whole HSAIL text while casting to string; then RT silently doesn't perform kernels' finalization cause unable to find any kernel name in the extracted hsail. Finally the binary produced based on clCreateProgramWithBinary has the different sections/symbols order from the binary produced based on clCreateProgramWithSource.
[Solution] Extract Symbol __HSAIL_main_text instead of the section aclCODEGEN contains it.
[Testing] smoke_clang, pre check-in
[Reviewers] German Andryeyev, Brian Sumner
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#172 edit
[ROCm/clr commit: fcfc94d0b5]
ECR #333753 - RT: Bug 10185 fix
[Bug] "Failure in 1.2 conformance sub-test 'program_binary_type' of 'compiler' and sub-test 'binary_create' of 'api' when forced to run in HSAIL path".
P.S. Failure also occurs in 2.0 conformance above-stated tests.
[Problem] HSAIL text is inserted by Compiler Lib into the BIF as a symbol of .cg section, but RT extracts it as a whole section.
As a result in the extracted bits another .cg sections symbol __Loader_Map is also presented in the beginning and with trailing zeroes. This leads to cropping the whole HSAIL text while casting to string; then RT silently doesn't perform kernels' finalization cause unable to find any kernel name in the extracted hsail. Finally the binary produced based on clCreateProgramWithBinary has the different sections/symbols order from the binary produced based on clCreateProgramWithSource.
[Solution] Extract Symbol __HSAIL_main_text instead of the section aclCODEGEN contains it.
[Testing] smoke_clang, pre check-in
[Reviewers] German Andryeyev, Brian Sumner
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#172 edit
EPR #010002 - Change OpenCL version number from 1610 to 1611.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1357 edit
[ROCm/clr commit: a7b6276d0d]
EPR #010002 - Change OpenCL version number from 1610 to 1611.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1357 edit
EPR #404357 - [OCL 2.0][CPU] CPU should not report OCL 2.0 version in CLINFO
- Report OCL1.2 by default on CPU
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.cpp#266 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpusettings.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#212 edit
[ROCm/clr commit: 75e2393a8f]
EPR #404357 - [OCL 2.0][CPU] CPU should not report OCL 2.0 version in CLINFO
- Report OCL1.2 by default on CPU
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpudevice.cpp#266 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/cpu/cpusettings.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#212 edit
EPR #010002 - Change OpenCL version number from 1609 to 1610.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1356 edit
[ROCm/clr commit: 6dda08bb51]
EPR #010002 - Change OpenCL version number from 1609 to 1610.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1356 edit
ECR #304775 - Device enqueuing
- Provide scratch buffer offset for generic address space
- Use single scratch buffer for all available queues. Each queue will have a unique subbuffer in the global buffer
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#454 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#129 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#11 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#329 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#120 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#63 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#37 edit
[ROCm/clr commit: 8fa184db38]
ECR #304775 - Device enqueuing
- Provide scratch buffer offset for generic address space
- Use single scratch buffer for all available queues. Each queue will have a unique subbuffer in the global buffer
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#454 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#129 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusched.hpp#11 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#24 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#329 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#120 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#63 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#37 edit
EPR #010002 - Change OpenCL version number from 1608 to 1609.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1355 edit
[ROCm/clr commit: 7e43e18d8c]