Maneesh Gupta
160c509e23
Merge pull request #760 from eshcherb/roctracer-hip-frontend-181113
...
Roctracer hip frontend 181113
2018-11-23 11:08:25 +05:30
Michael Kuron
8610128c3e
Merge branch 'master' into getsymboladdress
2018-11-20 12:03:22 +01:00
Evgeny
e5ba097afd
renaming HIP_INIT_CB_API to HIP_INIT_API
2018-11-13 15:33:26 +00:00
Evgeny
cba2d42bbf
adding lost i the merge change
2018-11-13 15:33:26 +00:00
Evgeny
b8b1637ef7
adding activity prof layer
2018-11-13 15:33:26 +00:00
Rahul Garg
6b3cbc65ad
Fixed symbol tracking device index
2018-11-13 07:01:17 +05:30
Maneesh Gupta
e672dc8a55
Merge pull request #721 from fronteer/my-fix
...
Make correct checking of the returned hipDeviceptr_t from read_global…
2018-11-08 11:42:08 +05:30
Michael Kuron
31acf1c268
Introduce ihipModuleGetGlobal
2018-11-06 09:54:34 +01:00
Rahul Garg
b270313129
Fixes global symbols tracking in hip_module
2018-10-31 03:22:38 +05:30
Qianfeng Zhang
de5f47a984
Make correct checking of the returned hipDeviceptr_t from read_global_description()
2018-10-23 21:13:11 +08:00
Alex Voicu
cd6c979c27
Update hip_module.cpp
...
Typo.
2018-05-18 17:50:45 +01:00
Alex Voicu
5325b6535e
Update hip_module.cpp
2018-05-14 17:15:36 +01:00
Alex Voicu
1ba8a35dba
Don't use magic constants, they're evil.
...
Also clarify that the register count cannot be queried at the moment.
2018-05-11 11:31:46 +01:00
Alex Voicu
13274ce559
Add support for the hipFuncGetAttributes interface.
2018-05-11 03:35:10 +01:00
Rahul Garg
1446f78799
hip_module code cleanup
...
-Fixed missing ihipLogStatus in hipModuleLoad()
-Fixed some ihipXXX functions
2018-04-16 15:35:04 +05:30
Maneesh Gupta
1ba06f63c4
Apply .clangformat to all repo source files
...
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
2018-03-12 11:29:03 +05:30
Alex Voicu
baf50a5311
Re-sync with upstream.
2018-02-12 20:20:24 +00:00
Rahul Garg
24ab820a11
Fixed host allocated globals address lookup for host usage
...
Fixed texture driver APIs failure
2018-01-30 18:06:31 +05:30
Rahul Garg
8a060d194e
Fixed build error
2017-12-28 16:15:45 +05:30
Alex Voicu
b842394957
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.
2017-12-08 04:22:57 +00:00
Alex Voicu
5127ce67e8
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.
2017-12-03 23:09:06 +00:00
Alex Voicu
89e9399427
Choose whether or not to use functional grid_launch based on the version of HCC used to compile.
2017-11-29 00:17:44 +00:00
Alex Voicu
02c2bfc7ef
Re-sync with upstream and re-factor platform global management for texture references.
2017-11-28 19:15:29 +00:00
Alex Voicu
dc67ca3feb
Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
...
# Conflicts:
# src/hip_module.cpp
2017-11-28 17:29:11 +00:00
Rahul Garg
56862b1c35
Fixed review comments
2017-11-21 21:19:06 +05:30
Alex Voicu
9d088d2283
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.
2017-11-21 02:40:34 +00:00
Rahul Garg
f97c5f9a64
-Moved coGlobals in hipModule class (takes care of multi module case)
...
-Used mutex scope for updating coGlobals
2017-11-20 16:23:18 +05:30
Rahul Garg
c7d60a7a75
Update hipModuleGetTexRef API
2017-11-19 22:10:46 +05:30
Alex Voicu
f7726cd416
Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
2017-11-09 23:43:07 +00:00
Rahul Garg
ef09c4918d
Texture driver APIs support
2017-11-09 22:10:55 +05:30
Alex Voicu
328c18b886
This introduces correct support for agent global variables, and implements hipModuleGetGlobal as an actual equivalent for cuModuleGetGlobal.
2017-11-03 01:44:48 +00:00
Ben Sander
86f62accfd
Merge pull request #245 from scchan/centos_fixes
...
various fixes for centos/rhel
2017-11-01 18:10:29 +01:00
Alex Voicu
c2482d1255
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.
2017-11-01 15:09:59 +00:00
Siu Chi Chan
99d32a195f
Centos/RHEL - remove usage of constexpr since libc++ doesn't enable ctor for constexpr pair in C++11
2017-10-31 18:16:12 +00:00
Ben Sander
7e908bdec8
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.
2017-10-30 20:20:51 +00:00
Maneesh Gupta
b792f9f507
Make elfio headers private
...
Change-Id: I3ba174bb46e84a75380207d93a0da6fe3703689e
2017-10-23 10:24:36 +05:30
Alex Voicu
70786a5563
This fixes incorrect usage of the reader object, which created arcane
...
mismatches when one reader accessed another's section.
2017-10-09 15:46:38 +01:00
Alex Voicu
ffffe052b6
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.
2017-10-09 13:27:11 +01:00
Maneesh Gupta
8d6acec135
Bump min hcc_workweek required for named kernel dispatch to 17312
...
Change-Id: I8c7b58306b279ed113d03260e4bc6086bb8b4e68
2017-08-08 11:08:55 +05:30
Ben Sander
4980a6d3ab
Add workweek check to make sure we have a new enough compiler
2017-07-27 23:00:58 -05:00
Ben Sander
3a4dfc0f85
Pass kernel name to HCC dispatch_hsa_kernel, for debug/profile
2017-07-27 22:00:15 -05:00
Ben Sander
176ff824d1
Add option to pass names to HCC dispatch API (for debug)
2017-06-23 18:05:30 -05:00
Ben Sander
cb60763737
Set event->_stream on hipHccModuleLaunchKernel path if start/stop used
...
Ensure _stream is always non-null in recorded events.
Fixes isDefaultStream fault.
2017-05-30 21:55:46 -05:00
Evgeny Mankov
270f643c9c
[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.
2017-05-19 17:22:14 +03:00
Ben Sander
27877f8854
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.
2017-05-16 19:04:25 -05:00
Ben Sander
6656d33f75
Finish adding start/stop event support to hipHccModuleLaunchKernel.
...
Change interface to use hipEvent_t rather than hipEvent_t*
Change-Id: I259062dc087a13d51dc27f84e1e8861f332a104d
2017-04-06 21:02:50 -05:00
sunway513
cfa3155082
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
2017-04-06 21:02:50 -05:00
Aditya Atluri
3eed9aba5d
added debug support for HIP sample
...
Change-Id: Ia7265234082039b68114f7421f4dbcb7149d4d2b
2017-03-31 14:13:46 -05:00
Aditya Atluri
b9091ba818
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
2017-03-31 12:11:34 -05:00
Aditya Atluri
7ac438ed02
disabled metadata apis
...
Change-Id: Ifb8839c581644cccc2afcd18c38a866f649a4144
2017-03-28 10:46:31 -05:00