커밋 그래프

54851 커밋

작성자 SHA1 메시지 날짜
foreman c571f1eb47 P4 to Git Change 1307211 by smekhano@stas-nova-hsa on 2016/08/25 13:09:04
SWDEV-101354 - HSA HLC: fix unify metadata pass
	When we link multiple modules we have metadata duplicated, so after we link with our library bitcode is twice bigger than needs to be.
	Besides we did not unify llvm.ident metadata since llvm 3.6 merge.

	Fix that:
	1. Add llvm.ident to the processing;
	2. Do not duplicate strings within unified metadata;
	3. Run unification pass post link, not before the link.

	Now since our library is compiled for OpenCL 2.0 we will always get OCL version 2.0 as a maximum. That is not really correct, and since
	the pass was not really working before that would lead to regression, as we would fail to identify correct kernel's OpenCL version and
	perform simplifications for 1.2. Now the pass will pick the first version, which shall represent the kernel module. That might not be
	100% correct because we may have several kernel modules, but a proper fix would require to correctly identify library as 1.2, which is
	troublesome. In the current state that just keeps the status quo.

	Testing: smoke, precheckin
	Reviewed by Evgeny Mankov

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#152 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/include/AMDFixupKernelModule.h#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/lib/AMDFixupKernelModule.cpp#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/tools/opencl-link/opencl-link.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/Scalar/AMDUnifyMetadata.cpp#2 edit


[ROCm/clr commit: 82f13f6ba1]
2016-08-25 13:14:09 -04:00
foreman 82f13f6ba1 P4 to Git Change 1307211 by smekhano@stas-nova-hsa on 2016/08/25 13:09:04
SWDEV-101354 - HSA HLC: fix unify metadata pass
	When we link multiple modules we have metadata duplicated, so after we link with our library bitcode is twice bigger than needs to be.
	Besides we did not unify llvm.ident metadata since llvm 3.6 merge.

	Fix that:
	1. Add llvm.ident to the processing;
	2. Do not duplicate strings within unified metadata;
	3. Run unification pass post link, not before the link.

	Now since our library is compiled for OpenCL 2.0 we will always get OCL version 2.0 as a maximum. That is not really correct, and since
	the pass was not really working before that would lead to regression, as we would fail to identify correct kernel's OpenCL version and
	perform simplifications for 1.2. Now the pass will pick the first version, which shall represent the kernel module. That might not be
	100% correct because we may have several kernel modules, but a proper fix would require to correctly identify library as 1.2, which is
	troublesome. In the current state that just keeps the status quo.

	Testing: smoke, precheckin
	Reviewed by Evgeny Mankov

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/linker.cpp#152 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/include/AMDFixupKernelModule.h#2 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/lib/AMDFixupKernelModule.cpp#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/linker/tools/opencl-link/opencl-link.cpp#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Transforms/Scalar/AMDUnifyMetadata.cpp#2 edit
2016-08-25 13:14:09 -04:00
foreman 7be586a8b1 P4 to Git Change 1307201 by lmoriche@lmoriche_opencl_dev on 2016/08/25 12:44:28
SWDEV-1307193 - Back out changelist 1307198

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#14 edit


[ROCm/clr commit: 8539fc5c2e]
2016-08-25 12:00:21 -05:00
foreman 8539fc5c2e P4 to Git Change 1307201 by lmoriche@lmoriche_opencl_dev on 2016/08/25 12:44:28
SWDEV-1307193 - Back out changelist 1307198

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#14 edit
2016-08-25 12:00:21 -05:00
foreman 0b38171282 P4 to Git Change 1307198 by lmoriche@lmoriche_opencl_dev on 2016/08/25 12:39:46
SWDEV-1306648 - Add OptimizeLLVMBitcode to the ROCm-OpenCL-Driver. Call the optimizer in roc::HSAILProgram::linkImpl, between linking with the bitcode built-in libraries and code generation. Use the default optimization level, with at a minimum -strip -instcombine -always-inline.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#13 edit


[ROCm/clr commit: ed1144e0c0]
2016-08-25 12:49:33 -04:00
foreman ed1144e0c0 P4 to Git Change 1307198 by lmoriche@lmoriche_opencl_dev on 2016/08/25 12:39:46
SWDEV-1306648 - Add OptimizeLLVMBitcode to the ROCm-OpenCL-Driver. Call the optimizer in roc::HSAILProgram::linkImpl, between linking with the bitcode built-in libraries and code generation. Use the default optimization level, with at a minimum -strip -instcombine -always-inline.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#13 edit
2016-08-25 12:49:33 -04:00
Evgeny Mankov bdb114188c clang-hipify: code refactoring - API (Driver/Runtime/Blas) distinguishing is added.
[ROCm/clr commit: 5cca5b3dca]
2016-08-25 19:36:37 +03:00
Evgeny Mankov 5cca5b3dca clang-hipify: code refactoring - API (Driver/Runtime/Blas) distinguishing is added. 2016-08-25 19:36:37 +03:00
Evgeny Mankov 36d212c81e clang-hipify: code refactoring - API (Driver/Runtime/Blas) distinguishing is added. 2016-08-25 19:36:37 +03:00
foreman f0fe7693c9 P4 to Git Change 1306999 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/25 03:00:07
SWDEV-2 - Change OpenCL version number from 2206 to 2207.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1953 edit


[ROCm/clr commit: ff561c4f21]
2016-08-25 03:08:36 -04:00
foreman ff561c4f21 P4 to Git Change 1306999 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/25 03:00:07
SWDEV-2 - Change OpenCL version number from 2206 to 2207.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1953 edit
2016-08-25 03:08:36 -04:00
Jay Cornwall 74f5aca93d Refactor: Consolidate calls to hsaKmtAllocMemory
Route all device-visible system memory allocations through system_allocator.

Change-Id: I5e90a1bf491e432678a6d8ab1f9f3770734cbda1
2016-08-24 23:57:19 -04:00
Jay Cornwall d5ecfae62f Refactor: Consolidate calls to hsaKmtAllocMemory
Route all device-visible system memory allocations through system_allocator.

Change-Id: I5e90a1bf491e432678a6d8ab1f9f3770734cbda1


[ROCm/ROCR-Runtime commit: 74f5aca93d]
2016-08-24 23:57:19 -04:00
foreman 9c7782a1d7 P4 to Git Change 1306787 by skudchad@skudchad_test_win_opencl2 on 2016/08/24 17:43:49
SWDEV-94442 - [IQE] [EllesmereGL] [Win10 TH2] GPU2GPU ocltst causes hard hang intermittently
	- Add gpu events for marker wait in runtime

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/11174/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#405 edit


[ROCm/clr commit: 3d384e6412]
2016-08-24 17:50:16 -04:00
foreman 3d384e6412 P4 to Git Change 1306787 by skudchad@skudchad_test_win_opencl2 on 2016/08/24 17:43:49
SWDEV-94442 - [IQE] [EllesmereGL] [Win10 TH2] GPU2GPU ocltst causes hard hang intermittently
	- Add gpu events for marker wait in runtime

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/11174/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#405 edit
2016-08-24 17:50:16 -04:00
foreman f9e4fcdf2c P4 to Git Change 1306648 by lmoriche@lmoriche_opencl_dev on 2016/08/24 15:17:25
SWDEV-94610 - [OpenCL/LC] Program Manager: Implement multi-file linking and separate compilation. Implement saving and loading programs, libraries, and executables.

Affected files ...

... //depot/stg/opencl/drivers/opencl/make/clang.git/include/clang/Config/config.h#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#277 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompiler.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#82 edit


[ROCm/clr commit: 01ed632c6c]
2016-08-24 15:25:49 -04:00
foreman 01ed632c6c P4 to Git Change 1306648 by lmoriche@lmoriche_opencl_dev on 2016/08/24 15:17:25
SWDEV-94610 - [OpenCL/LC] Program Manager: Implement multi-file linking and separate compilation. Implement saving and loading programs, libraries, and executables.

Affected files ...

... //depot/stg/opencl/drivers/opencl/make/clang.git/include/clang/Config/config.h#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#277 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccompiler.cpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.cpp#12 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocprogram.hpp#7 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#82 edit
2016-08-24 15:25:49 -04:00
foreman 7fba5dace3 P4 to Git Change 1306607 by lmoriche@lmoriche_opencl_dev on 2016/08/24 13:05:06
SWDEV-94644 - Fix the build after the latest update from git

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmetadata.hpp#2 edit


[ROCm/clr commit: f3612fa220]
2016-08-24 13:11:03 -04:00
foreman f3612fa220 P4 to Git Change 1306607 by lmoriche@lmoriche_opencl_dev on 2016/08/24 13:05:06
SWDEV-94644 - Fix the build after the latest update from git

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rockernel.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocmetadata.hpp#2 edit
2016-08-24 13:11:03 -04:00
Evgeny Mankov 9768864f17 clang-hipify: code refactoring and performance improvement
[ROCm/clr commit: 207eb02736]
2016-08-24 18:51:36 +03:00
Evgeny Mankov 207eb02736 clang-hipify: code refactoring and performance improvement 2016-08-24 18:51:36 +03:00
Evgeny Mankov 0f4974dbcb clang-hipify: code refactoring and performance improvement 2016-08-24 18:51:36 +03:00
foreman 198f2d97b4 P4 to Git Change 1306553 by gandryey@gera-w8 on 2016/08/24 10:48:34
SWDEV-86035 - Use local memory for kernel allocation

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#9 edit


[ROCm/clr commit: 1940203fcb]
2016-08-24 11:00:15 -04:00
foreman 1940203fcb P4 to Git Change 1306553 by gandryey@gera-w8 on 2016/08/24 10:48:34
SWDEV-86035 - Use local memory for kernel allocation

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#9 edit
2016-08-24 11:00:15 -04:00
Aditya Atluri 069d132f41 changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093


[ROCm/clr commit: af4dc556eb]
2016-08-24 09:47:11 -05:00
Aditya Atluri af4dc556eb changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093
2016-08-24 09:47:11 -05:00
Aditya Atluri cb996c7b7a changed internal structure of hipFunction and hipModule
Change-Id: Ifa343782e29d7e056efc47e56253311013005093
2016-08-24 09:47:11 -05:00
foreman 4a2a6871eb P4 to Git Change 1306438 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/24 03:00:08
SWDEV-2 - Change OpenCL version number from 2205 to 2206.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1952 edit


[ROCm/clr commit: 0a76bb941c]
2016-08-24 02:07:07 -05:00
foreman 0a76bb941c P4 to Git Change 1306438 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/24 03:00:08
SWDEV-2 - Change OpenCL version number from 2205 to 2206.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1952 edit
2016-08-24 02:07:07 -05:00
Aditya Atluri 9c36b77d39 Module test correction and hipModuleUnload API
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test

Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa


[ROCm/clr commit: 768287f2a2]
2016-08-23 14:19:15 -05:00
Aditya Atluri 768287f2a2 Module test correction and hipModuleUnload API
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test

Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa
2016-08-23 14:19:15 -05:00
Aditya Atluri 2287af23a1 Module test correction and hipModuleUnload API
- Corrected the hipModule.cpp test to minimal code
- Added hipModuleUnload API
- Added hipModuleUnload API test

Change-Id: I9c40337043d7972a570b795e1bfc104bd2c4d8aa
2016-08-23 14:19:15 -05:00
foreman 3d45d20151 P4 to Git Change 1306185 by gandryey@gera-w8 on 2016/08/23 14:55:34
SWDEV-79445 - OCL generic changes and code clean-up
	- Report LogError with the build log if it's not empty

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#201 edit


[ROCm/clr commit: 840d785d11]
2016-08-23 15:12:24 -04:00
foreman 840d785d11 P4 to Git Change 1306185 by gandryey@gera-w8 on 2016/08/23 14:55:34
SWDEV-79445 - OCL generic changes and code clean-up
	- Report LogError with the build log if it's not empty

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#201 edit
2016-08-23 15:12:24 -04:00
Aditya Atluri 021cd7174a Added module api test with gcn binary
Change-Id: I61c3ecc2b34168d10f1a7b15d668630eb2c69c8c


[ROCm/clr commit: 2f426aaaea]
2016-08-23 13:50:19 -05:00
Aditya Atluri 2f426aaaea Added module api test with gcn binary
Change-Id: I61c3ecc2b34168d10f1a7b15d668630eb2c69c8c
2016-08-23 13:50:19 -05:00
Aditya Atluri f9d49c2aed Added module api test with gcn binary
Change-Id: I61c3ecc2b34168d10f1a7b15d668630eb2c69c8c
2016-08-23 13:50:19 -05:00
foreman 45c5ad9a3d P4 to Git Change 1306133 by gandryey@gera-w8 on 2016/08/23 14:00:09
SWDEV-79445 - OCL generic changes and code clean-up
	- Update staging copy path with a flush so CPU copy and SDMA transfer could run asynchronously.
	- Tune chunk size for transfers

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#121 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#6 edit


[ROCm/clr commit: 862e3a1a79]
2016-08-23 14:12:24 -04:00
foreman 862e3a1a79 P4 to Git Change 1306133 by gandryey@gera-w8 on 2016/08/23 14:00:09
SWDEV-79445 - OCL generic changes and code clean-up
	- Update staging copy path with a flush so CPU copy and SDMA transfer could run asynchronously.
	- Tune chunk size for transfers

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpublit.cpp#121 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#6 edit
2016-08-23 14:12:24 -04:00
foreman 1f2ea69611 P4 to Git Change 1306079 by gandryey@gera-w8 on 2016/08/23 11:52:31
SWDEV-95905 - OpenCL on PAL - Device Enqueue
	- Move disapatch funciton outside of the compiler lib. Client must provide 4 new functions to the scheduler: GetCmdTemplateHeaderSize(), GetCmdTemplateDispatchSize(),EmptyCmdTemplateDispatch(), RunCmdTemplateDispatch().

	http://ocltc.amd.com/reviews/r/11142/

Affected files ...

... //depot/stg/opencl/drivers/opencl/library/hsa/hsail/src/devenq/schedule.cl#13 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#34 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palschedcl.cpp#2 edit


[ROCm/clr commit: 53a0c0add6]
2016-08-23 12:05:38 -04:00
foreman 53a0c0add6 P4 to Git Change 1306079 by gandryey@gera-w8 on 2016/08/23 11:52:31
SWDEV-95905 - OpenCL on PAL - Device Enqueue
	- Move disapatch funciton outside of the compiler lib. Client must provide 4 new functions to the scheduler: GetCmdTemplateHeaderSize(), GetCmdTemplateDispatchSize(),EmptyCmdTemplateDispatch(), RunCmdTemplateDispatch().

	http://ocltc.amd.com/reviews/r/11142/

Affected files ...

... //depot/stg/opencl/drivers/opencl/library/hsa/hsail/src/devenq/schedule.cl#13 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuschedcl.cpp#34 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palschedcl.cpp#2 edit
2016-08-23 12:05:38 -04:00
Lan Xiao 9cbbf30be7 libhsakmt: Add MarketingName and AMDName for all nodes - CPU & GPU
HSA thunk API is currently reporting engineering name to MarketingName
and returning NULL when querying for AMDName.

-Change current name reporting from MarketingName to AMDName.
-Use libpci to get MarketingName



Change-Id: I819a6de7b067a2e724a6695e7d800274b83a71f8
Signed-off-by: Lan Xiao <Lan.Xiao@amd.com>
2016-08-23 10:49:27 -04:00
Lan Xiao 742354161b libhsakmt: Add MarketingName and AMDName for all nodes - CPU & GPU
HSA thunk API is currently reporting engineering name to MarketingName
and returning NULL when querying for AMDName.

-Change current name reporting from MarketingName to AMDName.
-Use libpci to get MarketingName



Change-Id: I819a6de7b067a2e724a6695e7d800274b83a71f8
Signed-off-by: Lan Xiao <Lan.Xiao@amd.com>


[ROCm/ROCR-Runtime commit: 9cbbf30be7]
2016-08-23 10:49:27 -04:00
Sean Keely 54f1311e01 Update clang-format file to clang-format v3.8.
Format HSA v1.1 core updates.

Change-Id: I540b5c0e5b3ec7522b09c2e070167812b3f17769
2016-08-23 05:50:28 -05:00
Sean Keely 7e2179da7b Update clang-format file to clang-format v3.8.
Format HSA v1.1 core updates.

Change-Id: I540b5c0e5b3ec7522b09c2e070167812b3f17769


[ROCm/ROCR-Runtime commit: 54f1311e01]
2016-08-23 05:50:28 -05:00
Kent Russell 70b1b5b17e queues.c: Enforce CUMaskCount being a multiple of 32
The thunk spec requires that CUMaskCount be divisible by 32. Check this
and return INVALID_PARAMETER if it is not.

Change-Id: I4e0c8502d996d3da31224b817a5d4ff2c6054e13
2016-08-23 06:16:39 -04:00
Kent Russell 2d604a8498 queues.c: Enforce CUMaskCount being a multiple of 32
The thunk spec requires that CUMaskCount be divisible by 32. Check this
and return INVALID_PARAMETER if it is not.

Change-Id: I4e0c8502d996d3da31224b817a5d4ff2c6054e13


[ROCm/ROCR-Runtime commit: 70b1b5b17e]
2016-08-23 06:16:39 -04:00
foreman a372c27418 P4 to Git Change 1305891 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/23 03:00:09
SWDEV-2 - Change OpenCL version number from 2204 to 2205.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1951 edit


[ROCm/clr commit: ce1ae03c57]
2016-08-23 03:14:15 -04:00
foreman ce1ae03c57 P4 to Git Change 1305891 by johtaylo@johtaylo-JTBUILDER03-increment on 2016/08/23 03:00:09
SWDEV-2 - Change OpenCL version number from 2204 to 2205.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/utils/versions.hpp#1951 edit
2016-08-23 03:14:15 -04:00
Jay Cornwall 0c9f96cfa4 Propagate errors from hsaKmtOpenKFD back to hsa_init
Errors are otherwise silently ignored and hsa_init completes successfully.

Change-Id: Ib1b7dbd7a65d40f869cdbb2792fa97132873d3d7
2016-08-22 17:28:48 -05:00