Граф коммитов

94 Коммитов

Автор SHA1 Сообщение Дата
Maneesh Gupta 05e09614be Merge pull request #760 from eshcherb/roctracer-hip-frontend-181113
Roctracer hip frontend 181113

[ROCm/hip commit: 160c509e23]
2018-11-23 11:08:25 +05:30
Michael Kuron c35dfb71d5 Merge branch 'master' into getsymboladdress
[ROCm/hip commit: 8610128c3e]
2018-11-20 12:03:22 +01:00
Evgeny 73e3c4ec42 renaming HIP_INIT_CB_API to HIP_INIT_API
[ROCm/hip commit: e5ba097afd]
2018-11-13 15:33:26 +00:00
Evgeny c6dbcf8d48 adding lost i the merge change
[ROCm/hip commit: cba2d42bbf]
2018-11-13 15:33:26 +00:00
Evgeny 0a58dc9b7b adding activity prof layer
[ROCm/hip commit: b8b1637ef7]
2018-11-13 15:33:26 +00:00
Rahul Garg 30c4fd3875 Fixed symbol tracking device index
[ROCm/hip commit: 6b3cbc65ad]
2018-11-13 07:01:17 +05:30
Maneesh Gupta e599773b9a Merge pull request #721 from fronteer/my-fix
Make correct checking of the returned hipDeviceptr_t from read_global…

[ROCm/hip commit: e672dc8a55]
2018-11-08 11:42:08 +05:30
Michael Kuron cbba8221ee Introduce ihipModuleGetGlobal
[ROCm/hip commit: 31acf1c268]
2018-11-06 09:54:34 +01:00
Rahul Garg d4815f4178 Fixes global symbols tracking in hip_module
[ROCm/hip commit: b270313129]
2018-10-31 03:22:38 +05:30
Qianfeng Zhang e9daf7624b Make correct checking of the returned hipDeviceptr_t from read_global_description()
[ROCm/hip commit: de5f47a984]
2018-10-23 21:13:11 +08:00
Alex Voicu 69a32877d7 Update hip_module.cpp
Typo.

[ROCm/hip commit: cd6c979c27]
2018-05-18 17:50:45 +01:00
Alex Voicu 554aaee804 Update hip_module.cpp
[ROCm/hip commit: 5325b6535e]
2018-05-14 17:15:36 +01:00
Alex Voicu 15e0bb5d15 Don't use magic constants, they're evil.
Also clarify that the register count cannot be queried at the moment.

[ROCm/hip commit: 1ba8a35dba]
2018-05-11 11:31:46 +01:00
Alex Voicu d5f965c44a Add support for the hipFuncGetAttributes interface.
[ROCm/hip commit: 13274ce559]
2018-05-11 03:35:10 +01:00
Rahul Garg 372e2016d1 hip_module code cleanup
-Fixed missing ihipLogStatus in hipModuleLoad()
-Fixed some ihipXXX functions


[ROCm/hip commit: 1446f78799]
2018-04-16 15:35:04 +05:30
Maneesh Gupta 4f42ee762d Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344


[ROCm/hip commit: 1ba06f63c4]
2018-03-12 11:29:03 +05:30
Alex Voicu 3afca75a71 Re-sync with upstream.
[ROCm/hip commit: baf50a5311]
2018-02-12 20:20:24 +00:00
Rahul Garg e2ade308cf Fixed host allocated globals address lookup for host usage
Fixed texture driver APIs failure


[ROCm/hip commit: 24ab820a11]
2018-01-30 18:06:31 +05:30
Rahul Garg bd885438a2 Fixed build error
[ROCm/hip commit: 8a060d194e]
2017-12-28 16:15:45 +05:30
Alex Voicu 56fd7f129a This introduces LipoProteinLipase (lpl), a simple tool for creating fat binaries. It represents a direct replacement of the creaky hccgenco.sh script, which had various issues. The format it uses is that of a code object bundle, generated by the Clang Offload Bundler. The output is always suffixed with the ".adipose" extension. It is shared with HCC. The hipcc script and associated tests are modified to use lpl. Help can be obtained by invoking lpl --help. A more computer-sciency / corporate friendly name is likely to be beneficial, which is a reason for choosing easily searchable/replaceable names such as lpl or adipose.
[ROCm/hip commit: b842394957]
2017-12-08 04:22:57 +00:00
Alex Voicu abe3c22cf1 This is primarily intended as an additional cleanup of the module functionality, in the aftermath of adopting module based dispatch. The main effort was associated with refactoring the questionable ihipModuleGetSymbol. It was quaintly written and misleading, in that it had little to do with getting symbols, and was exactly retrieving a kernel object. Error handling is modified so as to reduce branching depth. Functions which serve as interfaces to the HSA RT are moved in a separate helper header. Code object readers are properly deleted. Some leftover dead functionality pertaining to associating namespace scope variables with their allocated memory is removed. Executable loading is changed to use a string which holds the ELF image of the code object being loaded, thus avoiding some corner cases where using a istream would fail.
[ROCm/hip commit: 5127ce67e8]
2017-12-03 23:09:06 +00:00
Alex Voicu dd8a589893 Choose whether or not to use functional grid_launch based on the version of HCC used to compile.
[ROCm/hip commit: 89e9399427]
2017-11-29 00:17:44 +00:00
Alex Voicu aef26d3477 Re-sync with upstream and re-factor platform global management for texture references.
[ROCm/hip commit: 02c2bfc7ef]
2017-11-28 19:15:29 +00:00
Alex Voicu 11f7d895f4 Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
# Conflicts:
#	src/hip_module.cpp


[ROCm/hip commit: dc67ca3feb]
2017-11-28 17:29:11 +00:00
Rahul Garg 13879387e5 Fixed review comments
[ROCm/hip commit: 56862b1c35]
2017-11-21 21:19:06 +05:30
Alex Voicu 45ff3c31c4 Refactor the __device__ versions of memset and memcpy to be less awkward i.e. not return nullptr as opposed to the destination pointer (it can only be assumed it was done for maximum confusion) and actually unroll as they claim to. Change all of the {to, from}Symbol functions to use hipModuleGetGlobal, as opposed to hc::accelerator::get_symbol_address which is no longer valid with module based dispatch.
[ROCm/hip commit: 9d088d2283]
2017-11-21 02:40:34 +00:00
Rahul Garg 97ee22c3f5 -Moved coGlobals in hipModule class (takes care of multi module case)
-Used mutex scope for updating coGlobals


[ROCm/hip commit: f97c5f9a64]
2017-11-20 16:23:18 +05:30
Rahul Garg 62f20c6dc8 Update hipModuleGetTexRef API
[ROCm/hip commit: c7d60a7a75]
2017-11-19 22:10:46 +05:30
Alex Voicu f08f1efab8 Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
[ROCm/hip commit: f7726cd416]
2017-11-09 23:43:07 +00:00
Rahul Garg 49a2c6468e Texture driver APIs support
[ROCm/hip commit: ef09c4918d]
2017-11-09 22:10:55 +05:30
Alex Voicu 28eb8e2c3e This introduces correct support for agent global variables, and implements hipModuleGetGlobal as an actual equivalent for cuModuleGetGlobal.
[ROCm/hip commit: 328c18b886]
2017-11-03 01:44:48 +00:00
Ben Sander 6f3b28d27c Merge pull request #245 from scchan/centos_fixes
various fixes for centos/rhel

[ROCm/hip commit: 86f62accfd]
2017-11-01 18:10:29 +01:00
Alex Voicu 70a41e7dac This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
[ROCm/hip commit: c2482d1255]
2017-11-01 15:09:59 +00:00
Siu Chi Chan d938703f9b Centos/RHEL - remove usage of constexpr since libc++ doesn't enable ctor for constexpr pair in C++11
[ROCm/hip commit: 99d32a195f]
2017-10-31 18:16:12 +00:00
Ben Sander e88ef63bc8 Add ns-level timer for HIP API routines
Refactor some miuses of ihipLogStatus, these should only be in top-level
HIP APIs and should be paired with HIP_API_INIT calls.


[ROCm/hip commit: 7e908bdec8]
2017-10-30 20:20:51 +00:00
Maneesh Gupta f52f6e53bb Make elfio headers private
Change-Id: I3ba174bb46e84a75380207d93a0da6fe3703689e


[ROCm/hip commit: b792f9f507]
2017-10-23 10:24:36 +05:30
Alex Voicu 322cc5f7aa This fixes incorrect usage of the reader object, which created arcane
mismatches when one reader accessed another's section.


[ROCm/hip commit: 70786a5563]
2017-10-09 15:46:38 +01:00
Alex Voicu fbcd3b0aa6 This adds cursory support for globals to the HIP module loading API. The
style is purposefully alien so as to signal that HIP experts should turn
it into HIP worthy code as soon as possible.


[ROCm/hip commit: ffffe052b6]
2017-10-09 13:27:11 +01:00
Maneesh Gupta c050396510 Bump min hcc_workweek required for named kernel dispatch to 17312
Change-Id: I8c7b58306b279ed113d03260e4bc6086bb8b4e68


[ROCm/hip commit: 8d6acec135]
2017-08-08 11:08:55 +05:30
Ben Sander 1ff23db17b Add workweek check to make sure we have a new enough compiler
[ROCm/hip commit: 4980a6d3ab]
2017-07-27 23:00:58 -05:00
Ben Sander 3ab70ad042 Pass kernel name to HCC dispatch_hsa_kernel, for debug/profile
[ROCm/hip commit: 3a4dfc0f85]
2017-07-27 22:00:15 -05:00
Ben Sander 0f2fd1372f Add option to pass names to HCC dispatch API (for debug)
[ROCm/hip commit: 176ff824d1]
2017-06-23 18:05:30 -05:00
Ben Sander 59833bea80 Set event->_stream on hipHccModuleLaunchKernel path if start/stop used
Ensure _stream is always non-null in recorded events.
Fixes isDefaultStream fault.


[ROCm/hip commit: cb60763737]
2017-05-30 21:55:46 -05:00
Evgeny Mankov 042de3e175 [HIP] [HIPIFY] [FIX] cuModuleLoadDataEx -> hipModuleLoadDataEx
https://github.com/GPUOpen-ProfessionalCompute-Tools/HIP/issues/81

1.	Do not use JIT options on HCC path, call hipModuleLoadData instead.
2.	NVCC path is unchanged, to call cuModuleLoadDataEx with all options.
3.	Get rid of manual hipification, based on #ifdef #else for NVCC/HIP.
4.	Update documentation accordingly.


[ROCm/hip commit: 270f643c9c]
2017-05-19 17:22:14 +03:00
Ben Sander a55ce5bee4 Add initial HIP_SYNC_NULL_STREAM=0 mode.
This eliminates host-synchronization for null stream.  Instead, the
null-stream uses GPU-side events to wait for other streams.
Default is OFF pending additional testing.

Add enhanced null-stream test.

Also refine HIP_TRACE_API.


[ROCm/hip commit: 27877f8854]
2017-05-16 19:04:25 -05:00
Ben Sander cbfc58660e Finish adding start/stop event support to hipHccModuleLaunchKernel.
Change interface to use hipEvent_t rather than hipEvent_t*

Change-Id: I259062dc087a13d51dc27f84e1e8861f332a104d


[ROCm/hip commit: 6656d33f75]
2017-04-06 21:02:50 -05:00
sunway513 eaeecbd461 Refactor events and add initial event option for hipHccModuleLaunchKernel
- Change hipEvent_t to a class.
- Move event logic inside the class.
- Add _type to support Independent, StartCommand, StopCommand events.
  StartCommand returns start timestamp from events.

Change-Id: I4ddd694f2645a3ff7170c9111dc1d3e39931ca21


[ROCm/hip commit: cfa3155082]
2017-04-06 21:02:50 -05:00
Aditya Atluri e66e4298c6 added debug support for HIP sample
Change-Id: Ia7265234082039b68114f7421f4dbcb7149d4d2b


[ROCm/hip commit: 3eed9aba5d]
2017-03-31 14:13:46 -05:00
Aditya Atluri ccf799c453 added new api hipHccModuleLaunchKernel
1. hipHccModuleLaunchKernel is same as hipModuleLaunchKernel with OpenCL workitem model
2. Added copy right
3. Fixed header naming

Change-Id: I6a7c35a3566e2f8d3f5056613e34193775d4b236


[ROCm/hip commit: b9091ba818]
2017-03-31 12:11:34 -05:00
Aditya Atluri d7b6039544 disabled metadata apis
Change-Id: Ifb8839c581644cccc2afcd18c38a866f649a4144


[ROCm/hip commit: 7ac438ed02]
2017-03-28 10:46:31 -05:00