ECR #333753 - Compiler Lib/RT: Metadata related code refactor, annotation, minor fixes & additional checks
+ refactor if_aclQueryInfo() in order to simplify code and to avoid direct usage of aclMetadata struct members types
+ annotation on why we need to use deserializeCLMetadata on "serialized" (to NULL) pointers
+ erroneously forgotten RT_KERNEL_NAME was added to aclQueryType enum
+ OCLRTGetInfo, CLEnumCheck tests from ocltst oclcomplib was updated to use RT_KERNEL_NAME
+ testing of printf is added to OCLRTGetInfo
+ minor fixes and additional checks
tests: pre check-in, ocltst -m oclcomplib
Reviewers: Artem Tamazov, Brian Sumner, German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#49 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#12 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#265 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/clSourceShaders.h#5 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/oclrtGetInfo.cpp#14 edit
[ROCm/clr commit: d50fa706e3]
ECR #333753 - Compiler Lib/RT: Metadata related code refactor, annotation, minor fixes & additional checks
+ refactor if_aclQueryInfo() in order to simplify code and to avoid direct usage of aclMetadata struct members types
+ annotation on why we need to use deserializeCLMetadata on "serialized" (to NULL) pointers
+ erroneously forgotten RT_KERNEL_NAME was added to aclQueryType enum
+ OCLRTGetInfo, CLEnumCheck tests from ocltst oclcomplib was updated to use RT_KERNEL_NAME
+ testing of printf is added to OCLRTGetInfo
+ minor fixes and additional checks
tests: pre check-in, ocltst -m oclcomplib
Reviewers: Artem Tamazov, Brian Sumner, German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#49 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#12 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#265 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/clSourceShaders.h#5 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/oclrtGetInfo.cpp#14 edit
EPR #010002 - Change OpenCL version number from 1640 to 1641.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1387 edit
[ROCm/clr commit: 9f99843ca0]
EPR #010002 - Change OpenCL version number from 1640 to 1641.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1387 edit
EPR #010002 - Change OpenCL version number from 1639 to 1640.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1386 edit
[ROCm/clr commit: 5df649cb7c]
EPR #010002 - Change OpenCL version number from 1639 to 1640.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1386 edit
ECR #304775 - Add extra CP write operation for the resource warm-up
- Vidmm will page in the constant buffers before the actual usage
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#192 edit
[ROCm/clr commit: 2e23538a01]
ECR #304775 - Add extra CP write operation for the resource warm-up
- Vidmm will page in the constant buffers before the actual usage
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#192 edit
EPR #010002 - Change OpenCL version number from 1638 to 1639.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1385 edit
[ROCm/clr commit: 52fa4fec8a]
EPR #010002 - Change OpenCL version number from 1638 to 1639.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1385 edit
EPR #397491 - disable OpenCL 2.0 for mainline when there are multiple devices in the system, because svm test will fail even test on the first device
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#462 edit
[ROCm/clr commit: e7b10515af]
EPR #397491 - disable OpenCL 2.0 for mainline when there are multiple devices in the system, because svm test will fail even test on the first device
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#462 edit
EPR #010002 - Change OpenCL version number from 1637 to 1638.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1384 edit
[ROCm/clr commit: ddf76db1d4]
EPR #010002 - Change OpenCL version number from 1637 to 1638.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1384 edit
EPR #010002 - Change OpenCL version number from 1636 to 1637.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1383 edit
[ROCm/clr commit: 0ae51a1467]
EPR #010002 - Change OpenCL version number from 1636 to 1637.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1383 edit
EPR #402000 - [CQE OCL][Perf][QR] ~6-7% perf drop in CompuCL Benchmark (Graphics: T-Rex subtest).
Add option to disable SC merge memory loads and stores. By default it is disabled. Will decide whether to enable it by default after performance runs.
cherrypick 1076590 and CL#1077419 from sc stg for adding option in sc.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Interface/SCCommon.h#42 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/CompilerBase.cpp#51 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/CompilerBase.hpp#35 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/HwUtils.cpp#36 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/scState.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#114 edit
[ROCm/clr commit: a49ebf6f6e]
EPR #402000 - [CQE OCL][Perf][QR] ~6-7% perf drop in CompuCL Benchmark (Graphics: T-Rex subtest).
Add option to disable SC merge memory loads and stores. By default it is disabled. Will decide whether to enable it by default after performance runs.
cherrypick 1076590 and CL#1077419 from sc stg for adding option in sc.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Interface/SCCommon.h#42 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/CompilerBase.cpp#51 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/CompilerBase.hpp#35 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/sc/Src/HwUtils.cpp#36 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/scwrapper/scState.cpp#32 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/OPTIONS.def#114 edit
ECR #333753 - HSA RT: avoiding superfluous recompilations on ORCA RT/HSA path
Next compilation stage determination based on binary sections and options (while linkImpl).
If current HSAILProgram options are equal to binarys ones:
- Do not generate BRIG if BRIG sections are already presented in binary.
- Do not finalize BRIG->ISA if ISA is already presented in binary.
- Perform only CG phase if HSAIL is absent in binary.
Always perform only brig loading (even in case of ISA presented).
Testing: pre check-in, compile & basic ocl conformance 2.0 tests
Reviewer: German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpucompiler.cpp#150 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#264 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#101 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#177 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#55 edit
[ROCm/clr commit: ff7ab4a0b2]
ECR #333753 - HSA RT: avoiding superfluous recompilations on ORCA RT/HSA path
Next compilation stage determination based on binary sections and options (while linkImpl).
If current HSAILProgram options are equal to binarys ones:
- Do not generate BRIG if BRIG sections are already presented in binary.
- Do not finalize BRIG->ISA if ISA is already presented in binary.
- Perform only CG phase if HSAIL is absent in binary.
Always perform only brig loading (even in case of ISA presented).
Testing: pre check-in, compile & basic ocl conformance 2.0 tests
Reviewer: German Andryeyev
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpucompiler.cpp#150 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#264 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#101 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#177 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#55 edit
EPR #010002 - Change OpenCL version number from 1635 to 1636.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1382 edit
[ROCm/clr commit: 44b425a7a5]
EPR #010002 - Change OpenCL version number from 1635 to 1636.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1382 edit
ECR #304775 - Update resource cache behavior
Currently, the resource cache is fixed at 64MB regardless of available video memory size. Changed the logic to use max(1/8th video memory, 64MB). This is still overrideable with the env. var. GPU_RESOURCE_CACHE_SIZE.
Improvements with changes: 18% decrease in video chat face detect time on 95w Kaveri (no change in PCMark8 score as we already achieved 30fps), 14% improvement on 19w Kaveri (this does result in an improvement in PCMark8 since the APU is slower).
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#279 edit
[ROCm/clr commit: fc2687df3a]
ECR #304775 - Update resource cache behavior
Currently, the resource cache is fixed at 64MB regardless of available video memory size. Changed the logic to use max(1/8th video memory, 64MB). This is still overrideable with the env. var. GPU_RESOURCE_CACHE_SIZE.
Improvements with changes: 18% decrease in video chat face detect time on 95w Kaveri (no change in PCMark8 score as we already achieved 30fps), 14% improvement on 19w Kaveri (this does result in an improvement in PCMark8 since the APU is slower).
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#279 edit
EPR #010002 - Change OpenCL version number from 1634 to 1635.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1381 edit
[ROCm/clr commit: fe0dedc497]
EPR #010002 - Change OpenCL version number from 1634 to 1635.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1381 edit
EPR #010002 - Change OpenCL version number from 1633 to 1634.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1380 edit
[ROCm/clr commit: 585664f084]
EPR #010002 - Change OpenCL version number from 1633 to 1634.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1380 edit