Grafico dei commit

964 Commit

Autore SHA1 Messaggio Data
Wen-Heng (Jack) Chung 4b7177ac42 Make hipModuleGetGlobal be in HIP runtime so it can be discovered at runtime (#981)
* Make hipModuleGetGlobal be in HIP runtime so it can be discovered at runtime

In HIP PR #929, quite a few HIP public APIs were made as inline functions with
hidden visibility. It was necessary to support applications with shared
libraries with GPU kernels launched via hipLaunchKernelGGL(), after HIP runtime
is initialized.

In empirical tests, the implementation has been proved to be a bit too
excessive, especially for hipModuleGetGlobal(). The function is used by another
type of client applications which relies on the existence of this function
within HIP runtime so global symbols from HSA code objects loaded dynamically
at runtime can be retrieved programmtically.

This commit moves hipModuleGetGlobal() back to src/hip_module.cpp, and makes it
visible and not inline, to fulfill requirements for applications
aforementioned. It does not change the behavior of applications depending on
hipLaunchKernelGGL().

* Add HIP_INIT_API into the implementation of hipModuleGetGlobal

Address review comments.

* Fix failing HIP unit tests
2019-03-29 03:45:04 +00:00
Jeff Daily 7aada87cbd improve program state commentary
Disambiguate calling many varibles "agent".
More detail in exception message.
Create and discard map placeholders; no need to call std::vector::clear() on map value.
2019-03-27 21:40:27 +00:00
Jeff Daily c9117de8eb load program state once per agent 2019-03-27 18:19:10 +00:00
Maneesh Gupta e66dfa6ea3 Merge pull request #990 from mhbliao/hliao/master/sw
SWDEV-184380 Fix hcc compilation
2019-03-27 05:23:26 +00:00
Michael LIAO 939d153c1a SWDEV-184380 Fix hcc compilation
- `hcc` has no builtin. Need to invoke LLVM intrinsic directly.
2019-03-26 15:20:17 -04:00
Michael LIAO b3497824ec [hip] Fix typo in macro hipLaunchKernel 2019-03-25 12:06:46 -04:00
Maneesh Gupta 30b5c02ec4 Merge pull request #970 from mangupta/swdev-172995
hipExtMallocWithFlags implementation
2019-03-25 07:46:53 +00:00
Maneesh Gupta a75f375788 Merge pull request #982 from ROCm-Developer-Tools/hack_swdev-173477
HACK for SWDEV-173477
2019-03-22 09:14:38 +00:00
Wen-Heng (Jack) Chung d941f19399 HACK for SWDEV-173477
For code objects with global symbols of length 0, ROCR runtime would
ignore them even though they exist in the symbol table. Therefore the
result from read_agent_globals() can't be trusted entirely.

As a workaround to tame applications which depend on the existence of
global symbols with length 0, always return hipSuccess here.

This behavior shall be reverted once ROCR runtime has been fixed to
address SWDEV-173477
2019-03-21 17:18:16 +00:00
Nico Trost 7bb5a14a4e fixed loss of accuracy in hipCfma() 2019-03-21 10:30:10 +01:00
Maneesh Gupta 6ade928535 Merge pull request #972 from yxsamliu/global
Add declaration of symbol related API for VDI
2019-03-20 05:12:21 +00:00
Maneesh Gupta 87551e29f6 Merge pull request #973 from mhbliao/hliao/master/build
[Device Function] Fix typos.
2019-03-20 05:12:14 +00:00
eshcherb 673cdeea55 adding prof primitives generator (#967)
* adding prof primitives generator

* minor change, renaming

* minor cosmetic changes, comments correcting and dead code removing

* minor changes and renaming

* minor chane, fixing comments
2019-03-20 05:11:40 +00:00
Siu Chi Chan 24d08beef8 reimplement HIP_INIT as hip_impl::hip_init(), add hip_init() to some of the inlined API (#966)
* reimplement HIP_INIT as a function, expose it as hip_impl::hip_init()
so that it could be called from hipLaunchKernelGGL and other inlined
HIP functions

* Don't call hip_init from ihipPreLaunchKernel
2019-03-20 05:11:15 +00:00
Michael LIAO e51fa174c8 [Device Function] Fix typos. 2019-03-19 15:32:19 -04:00
Yaxun Sam Liu e9bc4034d8 Add declaration of symbol related API for VDI 2019-03-19 11:11:49 -04:00
Maneesh Gupta 4094824b9e Merge pull request #965 from mhbliao/hliao/master/immarg
[Device Function] Support immediate argument.
2019-03-19 18:41:31 +05:30
Maneesh Gupta 91ebfadabf Merge pull request #954 from mhbliao/master
[hip] Re-implement hipLaunchKernelGGL as macros.
2019-03-19 18:39:27 +05:30
Maneesh Gupta 73ec5d54b5 hipExtMallocWithFlags implementation
Change-Id: Iee9e119796472200b2933d5e23be60813f33bc75
2019-03-19 11:59:22 +05:30
Michael LIAO 950b6efe72 [Device Function] Support immediate argument.
- `immarg`, immediate argument, is enabled on all AMDGPU intrinsics.
  Revise device functions using these intrinsics with immediate
  arguments.
2019-03-15 12:38:04 -04:00
Evgeny 31475c5ac8 tracing callback layer update 2019-03-14 22:43:52 -05:00
Maneesh Gupta 419127172e Merge pull request #958 from aaronenyeshi/cxxabi-mismatch-workaround
CXX11 ABI Mismatch Workaround
2019-03-15 06:15:46 +05:30
Siu Chi Chan 10d3084e20 remove visibility hidden attribute 2019-03-13 11:58:32 -04:00
Evgeny 4ffe413cfd adding memset32d 2019-03-11 21:28:27 -05:00
Siu Chi Chan cb9ea5cefc minor cleanup 2019-03-11 19:51:57 +00:00
Siu Chi Chan d37f9e6b2d remove old style triple name 2019-03-11 19:51:51 +00:00
Siu Chi Chan 824ee1aa72 move triple_to_hsa_isa into the header 2019-03-11 19:51:44 +00:00
Siu Chi Chan bf1d48bf78 Fix memory leak introduced by previous change to Agent_global.
Make Agent_global manage the lifetime of the name string
2019-03-11 19:51:32 +00:00
Aaron Enye Shi 00d24d254d Fix Agent_global variables failing hipTestDeviceSymbol
Issue: Header uses std::vector<Agent_global> agent_globals which is created by hip_module.cpp
  - Move iterator fails to copy Agent_global from library source into header version
  - Due to different versions of std::string name in struct Agent_global
Fix: Change Agent_global to use char* name instead of std::string name
2019-03-11 19:51:25 +00:00
Aaron Enye Shi 23e9968752 Fix hash_for undefined reference in hipTestConstant test
Issue: mismatch undefined symbols in different user env
  - Binary expects modified return value std::string&
  - Fails to match libhip_hcc.so: return value is std::string& but doesn't match modified C++ env
Fix: Change return value to char*, create new key std::string in header from char*
2019-03-11 19:51:18 +00:00
Michael Liao 30185b4114 [hip] Re-implement hipLaunchKernelGGL as macros. 2019-03-08 09:10:51 -05:00
Maneesh Gupta 250bd58254 Merge pull request #951 from tycho/nvcc-hipDeviceSetCacheConfig
nvcc_detail/hip_runtime_api.h: add missing hipDeviceSetCacheConfig API
2019-03-08 09:22:25 +05:30
Yaxun Sam Liu 6e9e90addd Fix HIP/VDI build failure due to dlopen change 2019-03-07 14:45:45 -05:00
Steven Noonan ee750d5ea4 nvcc_detail/hip_runtime_api.h: add missing hipDeviceSetCacheConfig API
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2019-03-06 11:21:36 -08:00
Maneesh Gupta 352b17346c Merge pull request #949 from gargrahul/single_stream_concurrent_kernels
Add extension for kernel concurrency on same stream
2019-03-06 17:34:54 +05:30
Alex Voicu ea0fcf3e61 dlopen() fixes (#929)
* Initial attempt to switch over to internally linked state.

* Add missing CMake update.

* hipLaunchKernelGGLImpl must be inline as well. Ensure internal linkage.

* Ensure global retrieval uses internally linked state.

* Hide HC in the implementation. Minimise ADL woes.

* Strange software exists, and must be catered to.

* Use a less spammy mechanism for ensuring internal linkage / non-export.

* Remove leftover internal detail.
2019-03-06 17:31:44 +05:30
Rahul Garg 59081c69fc Add extension for kernel concurrency on same stream 2019-03-06 12:55:39 +05:30
Maneesh Gupta 8db717c769 Update hip_runtime_api.h
Use hipCUResultTohipError instead of hipCUDAErrorTohipError in hipMemsetD32 & hipMemsetD32Async.
2019-03-05 12:10:01 +05:30
Wen-Heng (Jack) Chung 5cbd28f29b Address code review comments to use hipDeviceptr_t 2019-03-05 05:51:05 +00:00
Wen-Heng (Jack) Chung 0337b686ef Add implementation for NVCC path 2019-03-04 20:11:12 -08:00
Wen-Heng (Jack) Chung 7ebbbd3525 Add hipMemsetD32 and hipMemsetD32Async
Add 2 extra memset functions which fills memory with integer-typed data

Also change the parameters of ihipMemset to better explain the semantic
2019-03-04 17:00:33 +00:00
Maneesh Gupta 07b0e9574c Merge pull request #937 from yxsamliu/nan2
Fix nan for windows
2019-02-28 07:14:27 +05:30
Yaxun Sam Liu 278007218a Fix nan for windows 2019-02-27 12:33:26 -05:00
Rahul Garg 55145feae6 Fix forceinline for non HCC compilation 2019-02-26 07:50:09 +05:30
Maneesh Gupta f0618df8f4 Fix signature for unsigned long long variant of atomicExch
This fixes #888

Change-Id: I2b2dc5ed1ff2a26083ad9d102eccac90f67801ae
2019-02-13 09:45:07 +05:30
Maneesh Gupta ca7a53b13d Merge pull request #913 from aaronenyeshi/fix-texture-constant-addrspace
Fix texture using constant addrspace 4
2019-02-13 08:59:01 +05:30
Maneesh Gupta f9daeb1c51 Merge pull request #912 from ROCm-Developer-Tools/remove-cpp-function-templates-for-malloc
Remove C++ function templates for hipMalloc and hipHostMalloc
2019-02-13 08:58:26 +05:30
Aaron Enye Shi 63b400beea Fix texture using constant addrspace 4 2019-02-12 16:56:22 +00:00
Wen-Heng (Jack) Chung eba3bd3082 Introduce __HIP_DISABLE_CPP_FUNCTIONS__ macro to disable C++ wrappers
hipMalloc and hipHostMalloc are C++ function templates by default. In some
applications they need to discover the decltype of underlying C functions. In
this commit, a new macro __HIP_DISABLE_CPP_FUNCTIONS__ is introduced to
suppress the C++ function templates.

Existing HIP applications don't need to be changed. hipMalloc and hipHostMalloc
will behave just the same.

For new applications which depends on identifying decltypes of underlying C
functions, __HIP_DISABLE_CPP_FUNCTIONS__ shall be defined prior to including
HIP headers.
2019-02-11 09:33:15 -06:00
Maneesh Gupta 87673d0750 Merge pull request #907 from yxsamliu/nan
Fix nan() for windows
2019-02-11 11:24:12 +05:30