SWDEV-77584 - ORCA RT: Preparations for enabling HSAIL on OpenCL 1.2 by default. Call aclLink always even for single library/binary.
[Reason]
If the binary is linked with an option -create-library & actually without any other modules to link, the binary is not changed except the ELF type, which should be ET_DYN according to OpenCL spec. Setting this ELF type did not perform previously, because aclLink was not called in case of single binary.
After switching to HSAIL by default program_binary_type from conformance/compiler test (at least, but may be some others) would fail.
aclLink correctly handles situations with no libs to link, and correctly sets the corresponding ELF type for the "linked" binary.
[Testing] pre check-in
[Reviewer] German Andryeyev
http://ocltc.amd.com/reviews/r/8845/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#213 edit
Add an option to libhsakmt to allow the thunk to be packaged as an RPM.
The default will remain being built as-is, but this can now be packaged
as an RPM by using "make src rpm" . build_thunk.sh will be modified to
reflect this new option.
Change-Id: I38e03d10cfb5035bdf0a87635a784c47a709a5b6
Add an option to libhsakmt to allow the thunk to be packaged as an RPM.
The default will remain being built as-is, but this can now be packaged
as an RPM by using "make src rpm" . build_thunk.sh will be modified to
reflect this new option.
Change-Id: I38e03d10cfb5035bdf0a87635a784c47a709a5b6
[ROCm/ROCR-Runtime commit: 6ceed7def3]
SWDEV-2 - Change OpenCL version number from 1927 to 1928.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1674 edit
[ROCm/clr commit: f51f4f3fac]
SWDEV-2 - Change OpenCL version number from 1927 to 1928.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1674 edit
SWDEV-2 - Change OpenCL version number from 1926 to 1927.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1673 edit
[ROCm/clr commit: 44b4cce519]
SWDEV-2 - Change OpenCL version number from 1926 to 1927.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1673 edit
SWDEV-79695 - Checkin again after fixed build issue with ocltst changes. Merged all changes in compiler lib to legacy-lib.
HSAIL Metadata Workgroup Size Hint and Vec Type Hint added to HSAIL
HSAIL does not handle kernel attributes for work_group_size_hint or vec_type_hint.
Adding these two kernel attributes to metadata requires multiple changes:
HSAIL: Added parsing functions to HSAILParseMetadata.cpp, and similar files
Properly translates to .hsail files as 'wsh' and 'vth'
MDParser: Flex scanner now reads new hsail metadata, 'wsh' and 'vth'
Acl_metadata: added the two new metadata
Uint32_t wsh[3]; // Added case: RT_WORK_GROUP_SIZE_HINT
Char *vth; // Added case: RT_VEC_TYPE_HINT
Since vth is std::string, it was required to serialize, and then de-serialize for aclMetadata
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/MDParser/AMDILMDInterface.h#3 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/MDParser/AMDILMDParser.l#4 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/MDParser/AMDILMDTypes.cpp#3 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/MDParser/lex.yy.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/metadata.cpp#4 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/aclEnums.h#4 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/aclStructs.h#4 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#81 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDInterface.h#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDParser.l#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDTypes.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/lex.yy.cpp#8 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/metadata.cpp#12 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#26 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#21 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernel.h#15 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernelManager.cpp#40 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILModuleInfo.cpp#18 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILParseMetadata.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLAssumptionCheck.cpp#47 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#51 edit
[ROCm/clr commit: d75d0654d4]
SWDEV-79695 - Checkin again after fixed build issue with ocltst changes. Merged all changes in compiler lib to legacy-lib.
HSAIL Metadata Workgroup Size Hint and Vec Type Hint added to HSAIL
HSAIL does not handle kernel attributes for work_group_size_hint or vec_type_hint.
Adding these two kernel attributes to metadata requires multiple changes:
HSAIL: Added parsing functions to HSAILParseMetadata.cpp, and similar files
Properly translates to .hsail files as 'wsh' and 'vth'
MDParser: Flex scanner now reads new hsail metadata, 'wsh' and 'vth'
Acl_metadata: added the two new metadata
Uint32_t wsh[3]; // Added case: RT_WORK_GROUP_SIZE_HINT
Char *vth; // Added case: RT_VEC_TYPE_HINT
Since vth is std::string, it was required to serialize, and then de-serialize for aclMetadata
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/common/v0_8/if_acl.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/MDParser/AMDILMDInterface.h#3 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/MDParser/AMDILMDParser.l#4 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/MDParser/AMDILMDTypes.cpp#3 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/MDParser/lex.yy.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/backends/gpu/metadata.cpp#4 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/aclEnums.h#4 integrate
... //depot/stg/opencl/drivers/opencl/compiler/legacy-lib/include/v0_8/aclStructs.h#4 integrate
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#81 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDInterface.h#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDParser.l#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDTypes.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/lex.yy.cpp#8 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/metadata.cpp#12 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#26 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#21 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernel.h#15 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernelManager.cpp#40 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILModuleInfo.cpp#18 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILParseMetadata.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLAssumptionCheck.cpp#47 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#51 edit
SWDEV-79695 - HSAIL Metadata Workgroup Size Hint and Vec Type Hint added to HSAIL
HSAIL does not handle kernel attributes for work_group_size_hint or vec_type_hint.
Adding these two kernel attributes to metadata requires multiple changes:
HSAIL: Added parsing functions to HSAILParseMetadata.cpp, and similar files
Properly translates to .hsail files as 'wsh' and 'vth'
MDParser: Flex scanner now reads new hsail metadata, 'wsh' and 'vth'
Acl_metadata: added the two new metadata
Uint32_t wsh[3]; // Added case: RT_WORK_GROUP_SIZE_HINT
Char *vth; // Added case: RT_VEC_TYPE_HINT
Since vth is std::string, it was required to serialize, and then de-serialize for aclMetadata
TODO: Runtime changes required for the use of these two metadata:
Runtime's gpukernel.cpp requires 4 new aclQueries during HSAILKernel::Init
Runtime changes are showing issues when testing
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#79 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDInterface.h#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDParser.l#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDTypes.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/lex.yy.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/metadata.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#24 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#19 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernel.h#13 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernelManager.cpp#38 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILModuleInfo.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILParseMetadata.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLAssumptionCheck.cpp#45 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#49 edit
[ROCm/clr commit: 86b7046dde]
SWDEV-79695 - HSAIL Metadata Workgroup Size Hint and Vec Type Hint added to HSAIL
HSAIL does not handle kernel attributes for work_group_size_hint or vec_type_hint.
Adding these two kernel attributes to metadata requires multiple changes:
HSAIL: Added parsing functions to HSAILParseMetadata.cpp, and similar files
Properly translates to .hsail files as 'wsh' and 'vth'
MDParser: Flex scanner now reads new hsail metadata, 'wsh' and 'vth'
Acl_metadata: added the two new metadata
Uint32_t wsh[3]; // Added case: RT_WORK_GROUP_SIZE_HINT
Char *vth; // Added case: RT_VEC_TYPE_HINT
Since vth is std::string, it was required to serialize, and then de-serialize for aclMetadata
TODO: Runtime changes required for the use of these two metadata:
Runtime's gpukernel.cpp requires 4 new aclQueries during HSAILKernel::Init
Runtime changes are showing issues when testing
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#79 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDInterface.h#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDParser.l#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/AMDILMDTypes.cpp#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/MDParser/lex.yy.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/metadata.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#24 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#19 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernel.h#13 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernelManager.cpp#38 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILModuleInfo.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILParseMetadata.cpp#14 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLAssumptionCheck.cpp#45 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#49 edit
SWDEV-2 - Change OpenCL version number from 1925 to 1926.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1672 edit
[ROCm/clr commit: c0a5bbcd6e]
SWDEV-2 - Change OpenCL version number from 1925 to 1926.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1672 edit
SWDEV-77584 - ORCA RT: Preparations for enabling HSAIL on OpenCL 1.2 by default. Renaming Program::isIL_ to isSPIRV_.
[Reason] Avoiding ambiguity with SPIR, which is also IL, but is supported by legacy AMDIL only, whereas SPIRV is supported only by HSAIL. From OpenCL Program constructor's point it isn't obvious.
[Testing] pre check-in
[Reviewer] German Andryeyev, Yaxun Liu
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#73 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.hpp#35 edit
[ROCm/clr commit: f676e86cda]
SWDEV-77584 - ORCA RT: Preparations for enabling HSAIL on OpenCL 1.2 by default. Renaming Program::isIL_ to isSPIRV_.
[Reason] Avoiding ambiguity with SPIR, which is also IL, but is supported by legacy AMDIL only, whereas SPIRV is supported only by HSAIL. From OpenCL Program constructor's point it isn't obvious.
[Testing] pre check-in
[Reviewer] German Andryeyev, Yaxun Liu
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#73 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.hpp#35 edit
SWDEV-77584 - ORCA RT: Preparations for enabling HSAIL on OpenCL 1.2 by default. Set Blits to be always internal kernels.
[Synopsis] Option -cl-internal-kernel has not been always set for blits, which leads to difficulty/impossibility for their determination.
[Testing] pre check-in
[Reviewer] German Andryeyev
http://ocltc.amd.com/reviews/r/8799/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#187 edit
[ROCm/clr commit: ca9cb09860]
SWDEV-77584 - ORCA RT: Preparations for enabling HSAIL on OpenCL 1.2 by default. Set Blits to be always internal kernels.
[Synopsis] Option -cl-internal-kernel has not been always set for blits, which leads to difficulty/impossibility for their determination.
[Testing] pre check-in
[Reviewer] German Andryeyev
http://ocltc.amd.com/reviews/r/8799/
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#187 edit
SWDEV-77174 - Change compiler lib def and sc lib def to be consistent.
SC interface depends on some compile options which need to be consistent between compiler library and SC.
This change will add the SC interface dependent build options to opencldefs so that they are shared between compiler lib def and sc lib def.
Both compilier lib def and sc lib def will include scinterfacedefs, which will generate consistent compile options required by sc interface based on variables defined in opencldefs.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/complibdefs#45 edit
... //depot/stg/opencl/drivers/opencl/opencldefs#163 edit
[ROCm/clr commit: 266e0e3507]
SWDEV-77174 - Change compiler lib def and sc lib def to be consistent.
SC interface depends on some compile options which need to be consistent between compiler library and SC.
This change will add the SC interface dependent build options to opencldefs so that they are shared between compiler lib def and sc lib def.
Both compilier lib def and sc lib def will include scinterfacedefs, which will generate consistent compile options required by sc interface based on variables defined in opencldefs.
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/complibdefs#45 edit
... //depot/stg/opencl/drivers/opencl/opencldefs#163 edit
SWDEV-2 - Change OpenCL version number from 1924 to 1925.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1671 edit
[ROCm/clr commit: 5281d48d5c]
SWDEV-2 - Change OpenCL version number from 1924 to 1925.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1671 edit
SWDEV-2 - Change OpenCL version number from 1923 to 1924.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1670 edit
[ROCm/clr commit: c34973291a]
SWDEV-2 - Change OpenCL version number from 1923 to 1924.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1670 edit
SWDEV-2 - Change OpenCL version number from 1922 to 1923.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1669 edit
[ROCm/clr commit: 9d091b83a4]
SWDEV-2 - Change OpenCL version number from 1922 to 1923.
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1669 edit
hsaKmtGetNodeMemoryProperties -
- Return only HSA_HEAPTYPE_SYSTEM memory for CPU only node.
- For dGPU remove redundant HSA_HEAPTYPE_FRAME_BUFFER_PRIVATE
entry.
Change-Id: I0349be39b8409a0fd64a038b8b2956191356d937
hsaKmtGetNodeMemoryProperties -
- Return only HSA_HEAPTYPE_SYSTEM memory for CPU only node.
- For dGPU remove redundant HSA_HEAPTYPE_FRAME_BUFFER_PRIVATE
entry.
Change-Id: I0349be39b8409a0fd64a038b8b2956191356d937
[ROCm/ROCR-Runtime commit: f885e551aa]