Commit Graph

8 Commitit

Tekijä SHA1 Viesti Päivämäärä
foreman 8cc3f47661 P4 to Git Change 1170297 by nhaustov@nhaustov_hsa on 2015/07/14 05:36:10
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
2015-07-14 17:08:54 -04:00
foreman 098284de7e P4 to Git Change 1139843 by yaxunl@yaxunl_stg_win50 on 2015/04/10 21:13:05
ECR #304775 - Fix bug for loading SPIR 2.0 binary.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#176 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#191 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#58 edit
2015-04-11 08:10:38 -04:00
foreman 2ff3f9199a P4 to Git Change 1109709 by gandryey@gera-dev-w7 on 2015/01/07 18:33:55
ECR #304775 - Enable offline compilation for HSAIL path

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#487 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#272 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#187 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#57 edit
2015-01-07 18:40:12 -05:00
foreman d13ba8f18c P4 to Git Change 1080972 by emankov@em-hsa-amd on 2014/09/25 12:41:03
ECR #333753 - HSA RT: avoiding superfluous recompilations on ORCA RT/HSA path (part 2)

	+ support of -fno-bin-llvmir & -fno-bin-hsail options: do not check compiler options for recompilation decision.
	  As a result if the binary contains ISA, BRIG & HSAIL and the above options are specified when compiling from binary, then compilation options are not compared, recompilation doesn't occur. This makes possible to compile from binary with different set of options, for example: -just-kernel.

	P.S. Brig & HSAIL should be in binary in order to initialize & execute kernel (even if ISA is presented).

	Testing: pre check-in, compiler, api & basic ocl conformance 2.0 tests

	Reviewers: German Andryeyev, Artem Tamazov

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#178 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#56 edit
2014-09-25 13:01:27 -04:00
foreman ff7ab4a0b2 P4 to Git Change 1077370 by emankov@em-hsa-amd on 2014/09/16 12:02:36
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 binary’s 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
2014-09-16 12:21:42 -04:00
foreman 42f4b2af97 P4 to Git Change 1076493 by yaxunl@yaxunl_stg_win50 on 2014/09/12 14:45:24
ECR #377625 - AMDIL Function support: Calculate total private memory usage by a kernel including memory used by called functions.

	This cannot be done by IPA since stack size is known only after register allocation due to potential register spill, but MachineFunctionAnalysis cannot persist after CGSCC pass with current LLVM version.

	This change adds private memory usage metadata for non-kernel functions. The total private memory usage by a kernel is calculated when AMDIL is split for different kernels. BIF will contain total private memory size.

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/amdilUtils.cpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/amdilUtils.hpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/AMDILKernelManager.cpp#451 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/AMDILKernelManager.h#51 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#175 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#54 edit
2014-09-12 15:02:32 -04:00
foreman c2967ef855 P4 to Git Change 1066820 by emankov@em-hsa-amd on 2014/08/15 08:16:18
ECR #333753 - Compiler Lib/RT: added compilation from HSAIL & BRIG

	Added support for the following compilations:
	ACL_TYPE_HSAIL_TEXT -> ACL_TYPE_HSAIL_BINARY
	ACL_TYPE_HSAIL_TEXT -> ACL_TYPE_CG
	ACL_TYPE_HSAIL_TEXT -> ACL_TYPE_ISA
	ACL_TYPE_HSAIL_BINARY -> ACL_TYPE_HSAIL_TEXT
	ACL_TYPE_HSAIL_BINARY -> ACL_TYPE_CG
	ACL_TYPE_HSAIL_BINARY -> ACL_TYPE_ISA

	Testing: smoke, smoke_clang, pre check-in, ocl conformance api, compiler

	Reviewers: Nikolay Haustov, Matthew Arsenault, German Andryeyev

Affected files ...

... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#45 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.cpp#30 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/hsail_be.hpp#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#173 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.hpp#53 edit
2014-08-15 08:23:45 -04:00
foreman 3694ab2ce8 initial commit 2014-07-04 16:17:05 -04:00