Graphe des révisions

392 Révisions

Auteur SHA1 Message Date
Sarbojit2019 2c00d66995 Revert [HIP] Fixed hipStreamAddCallback (#1674)
This reverts commit 4d0b7e65bb.
Addresses SWDEV#212675.

[ROCm/clr commit: 8a3c36a424]
2019-11-20 11:55:46 +05:30
Jeff Daily 58d1ae32ee hipStreamSynchronize can skip marker if stream is empty (#1667)
[ROCm/clr commit: dfaaf04611]
2019-11-19 09:42:43 -08:00
Sarbojit2019 4d0b7e65bb [HIP] Fixed hipStreamAddCallback [SWDEV#165185] (#1425)
Fixed hipStreamAddCallback() as requested in SWDEV#165185
Added unit test to test the behavior


[ROCm/clr commit: 97fca3439d]
2019-11-07 13:18:12 +05:30
Rahul Garg cf648f7dbe Rename hip/hip_hcc.h to hip/hip_ext.h (#1341)
* Rename hip/hip_hcc.h to hip/hip_ext.h

* Deprecate hip_hcc.h


[ROCm/clr commit: dfee3ae279]
2019-11-07 13:17:10 +05:30
Jeff Daily 39a98df790 hipEventRecord only needs one lock; remove locked_eventIsReady
[ROCm/clr commit: b2af1820f5]
2019-11-06 15:56:32 +00:00
Rahul Garg 09bb83cf2c Fix PCI Domain ID query (#1424)
* Fix PCI Domain ID query

* Update BDF comment


[ROCm/clr commit: e2260d82a6]
2019-10-07 14:11:52 +05:30
satyanveshd 1c9dc1331e Reimplement hipMemGetInfo (#1447)
Addresses SWDEV-136570. hipMemGetInfo changed to compute free memory based on information from kfd instead of relying on hc::am_tracker.


[ROCm/clr commit: 1ae4cbed4d]
2019-10-01 12:40:36 +05:30
Sarbojit2019 3ef2e123bb [HIP] Add tccDriver info in hipDeviceProp
Fixes #1433.

[ROCm/clr commit: db4c0c0811]
2019-09-26 13:53:33 +05:30
ansurya 4436a38e65 Added new device attributes (#1377)
* Added new device attributes

* updated comment

* updated with new device attributes supported


[ROCm/clr commit: e2a934f377]
2019-09-16 08:31:30 +00:00
Jeff Daily 42c49b6ba9 fix bug where HIP_DB=1 seg faults at startup (#1388)
[ROCm/clr commit: 3d7c146296]
2019-09-05 10:04:19 +00:00
Sarbojit2019 15b80a759d Updated hipErrorString and CUDAErrorTohipError (#1365)
[ROCm/clr commit: b5ff9e71ed]
2019-08-29 01:02:59 +00:00
Siu Chi Chan 1436897785 Compile HIP runtime with hidden visibility by default (#1303)
* add default visibility to most APIs in program_state

* remove unwanted C++ headers

* Add symbol visibility pragmas and compiler flags

* Add visibility attribute to APIs in channel_descriptor and hip_hcc

* remove unused headers

* simplify build flags with hcc

* add pragma visibility hidden to functional_grid_launch

* [CMake] add gfx908 back


[ROCm/clr commit: 3cf2d7d385]
2019-08-08 08:33:04 +00:00
Alex Voicu a59924ae98 Fix hip_throw. (#1285)
* Fix hip_throw.

* Fix typo

* No, really fix typo


[ROCm/clr commit: e24df75cc1]
2019-08-05 09:52:22 +00:00
Jeff Daily 68f674205e consolidate thread local storage (#915)
* all thread local access now through single struct

* clean up old commented-out code, more use of GET_TLS()

* fewer calls to GET_TLS by passing tls as a funtion argument

* revert unnecessary change to printf

* fix failing tests due to TLS change

* fix merge conflicts in ihipOccupancyMaxActiveBlocksPerMultiprocessor


[ROCm/clr commit: f337ae1edb]
2019-08-05 09:51:02 +00:00
wkwchau 7b0f478767 Added CooperativeLaunch and CooperativeMultiDeviceLaunch flag and property for hipDeviceGetAttribute() and hipGetDeviceProperties() (#1247)
[ROCm/clr commit: ed04e96e2d]
2019-08-02 10:00:25 +00:00
wkwchau 75f1bb21b3 Added query of hipDeviceAttributeHdpMemFlushCntl and hipDeviceAttribu… (#1238)
* Added query of hipDeviceAttributeHdpMemFlushCntl and hipDeviceAttributeHdpRegFlushCntl

* Added NVCC blocker for the hip*FlushCntl test cases


[ROCm/clr commit: abe6776677]
2019-08-01 16:03:35 +00:00
Jeff Daily df457ce2bd remove stream locks where it is safe to do so
[ROCm/clr commit: 734c4b92c3]
2019-07-22 17:38:51 +00:00
ansurya 8b8946f78b Add Max Texture 1D,2D,3D device properties (#1226)
* Add Max Texture 1D,2D,3D device properties

* Corrected testcase to use enums defined in hipDeviceAttribute_t

* Added texture 1D,2D and 3D support for NVIDIA path


[ROCm/clr commit: 00aa42e05f]
2019-07-18 03:18:50 +00:00
Rahul Garg d92afe2277 Fix HIP_VISIBLE_DEVICES order (#1184)
* Fix HIP_VISIBLE_DEVICES order

* Fix device IDs mismatch

* Fix review comments- loop order and device range check

* Handle incomplete VISIBLE device env variable

* Revert "Handle incomplete VISIBLE device env variable"


[ROCm/clr commit: d2e8cdc8fb]
2019-07-18 03:18:04 +00:00
Aryan Salmanpour 4b06a21504 [hip] Move _criticalData of ihipStream_t class to private section and use criticalData() to access it (#1177)
[ROCm/clr commit: 7e48231252]
2019-07-04 00:42:19 +00:00
Aryan Salmanpour 362445220a [hip] implement the hipExtLaunchMultiKernelMultiDevice API (#1165)
* [hip] implement the hipExtLaunchMultiKernelMultiDevice API

* add a guard to check the HCC version for acquire_locked_hsa_queue() API which was introdued in HCC for ROCm 2.5

* modified code based on the requested changes

* changes to lock all streams before launching kernels for each device and unlock them after the dispatches

* check each stream to be valid before starting to lock all the streams


[ROCm/clr commit: d6ad690cb6]
2019-06-20 05:59:05 +05:30
Siu Chi Chan 304a1e2dbe move executable_cache into program_state.cpp
[ROCm/clr commit: 1a2d332e76]
2019-05-24 17:27:25 -04:00
Maneesh Gupta e0e30536e6 Merge pull request #1083 from gargrahul/fix_hip_impl_visible_agents
Maintain HIP_VISIBLE_DEVICES for kernel launch

[ROCm/clr commit: c9fdb42b91]
2019-05-13 14:20:18 +05:30
Siu Chi Chan 76f535b4ce migrate program_state logic from header into shared library (phase I) (#1077)
* Revert "Revert "Use COMgr to read Kernel Args Metadata (#1006)""

This reverts commit f8d108a815.

* Revert "Use COMgr to read Kernel Args Metadata (#1006)"

This reverts commit 10048a5631.

* Revert "improve program state commentary"

This reverts commit 5233d41c6c.

* Revert "load program state once per agent"

This reverts commit 9cee2c5311.

* start moving function_names() into the hip shared lib

* start moving code_object_blobs to a new "state" object

* Consolidate various program state related static objects into a
single program_state object

* minor clean up

* move more stuffs from functional_grid_launch into program_state

* debug make_kernarg

* moving lookup for kernargs size_align into program_state

* clean up old code for kernarg size and alignment

* update hip_module to use newer api in program_state

* Create public member functions for program_state

* move most program state functions into shared library

* Pass the data buffer size to load_executable
Otherwise, it can't figure what the data size is
just from the char* (since the data is not really a string)

* turning free functions in program state into members of program_state_impl

* change the free function globals() into a member of program_state_impl

* replace the static mutex used for populating globals

* moving associate_code_object_symbols_with_host_allocation into
program_state_impl

* move load_code_object_and_freeze_executable into program_state_impl

* moving executables and functions_names into program_state_impl

* moving kernels() into program_state_impl

* moving functions() into program_state_impl

* move get_kernargs into program_state_impl

* moving kernel_descriptor into program_state_impl

* moving kernargs_size_align calculation into program_state_impl

* Changing the handle to program_state_impl to a pointer

* moving program_state_impl into a separate inline source file

* fixing/cleaning up some header file includes

* moving member function for kernargs_size_align into program_state.cpp

* moving Kernel_descriptor into program_state.inl

* add a new class to manage agent globals

* moving all agent globals processing functions into agent_globals_impl

* load program state once per agent

re-merging PR991 against other program state changes

* fix per-agent program state member initialization

* cache executables based on elf name, isa, and agent.

This avoids program state reloading executables after a shared library is dlopened.

re-merging PR1057 against other program state changes

* protect executables cache by a global mutex

* return ref to executables cache

* adapt PR#981 Make hipModuleGetGlobal be in HIP runtime


[ROCm/clr commit: 05a1b696da]
2019-05-12 19:24:03 +05:30
wkwchau 7eaaf6f1ae Return hipErrorInsufficientDriver status when CPU device not found (#1064)
* Return hipErrorInsufficientDriver status when CPU device not found - no exception thrown

* Return hipErrorInsufficientDriver status when CPU device not found


[ROCm/clr commit: ebf986dcee]
2019-05-07 15:58:25 +05:30
Rahul Garg 3f65bec096 Maintain HIP_VISIBLE_DEVICES for kernel launch
[ROCm/clr commit: 3be54a903c]
2019-05-07 05:09:02 +05:30
Sameer Sahasrabuddhe 4f69390332 minor cleanup: eliminate repetition
[ROCm/clr commit: c74a97f756]
2019-04-25 20:41:16 +05:30
Jeff Daily cf4e198a91 In hipFree, synchronize owner of memory (#1018)
* In hipFree, if memory is associated with a device, synchronize that device's streams.

This changes the behavior from synchronizing the currently set TLS device.

* All devices sync in hipFree for _appId=-1 case.

* Revert "All devices sync in hipFree for _appId=-1 case."

This reverts commit 1efb34d6a8426661e45bc5f763422a1147aeac10.

* add HIP_SYNC_FREE env var


[ROCm/clr commit: cf8fb43e6b]
2019-04-16 08:35:55 +05:30
Maneesh Gupta 9e2774e81e Merge pull request #962 from gargrahul/add_2d_copy_fallback
Add 2D fallback to use copy kernel

[ROCm/clr commit: 9de28dfa5a]
2019-03-25 07:46:43 +00:00
Rahul Garg 66ce9921d5 2D Fallback needs hcc workweek 19101 or higher
[ROCm/clr commit: bec3995700]
2019-03-25 12:07:28 +05:30
Siu Chi Chan 597c06b6be 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


[ROCm/clr commit: fa9495841b]
2019-03-20 05:11:15 +00:00
Rahul Garg da6653482d Add 2D fallback to use copy kernel
[ROCm/clr commit: af72cde0a1]
2019-03-14 13:03:06 +05:30
Alex Voicu 45f4ac5023 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.


[ROCm/clr commit: ed48847237]
2019-03-06 17:31:44 +05:30
Maneesh Gupta 30ce297635 Merge pull request #608 from gargrahul/add_pinned_2d_sdma_copy
Added support for pinned 2D SDMA copy

[ROCm/clr commit: 6ce99b066c]
2018-12-12 07:44:16 +05:30
Maneesh Gupta d2b356d76f Merge pull request #773 from fronteer/master
Support of printing process ID for HIP tracing 

[ROCm/clr commit: 5bfde06bcc]
2018-11-23 11:16:22 +05:30
Qianfeng Zhang 13ed231435 Add support of printing process ID for HIP Tracing
[ROCm/clr commit: b88c8769ea]
2018-11-22 18:58:06 +08:00
Evgeny 96b7f0404e renaming HIP_INIT_CB_API to HIP_INIT_API
[ROCm/clr commit: e362688adf]
2018-11-13 15:33:26 +00:00
Evgeny 7519b3f75e adding activity prof layer
[ROCm/clr commit: 084a68be63]
2018-11-13 15:33:26 +00:00
Yaxun Sam Liu cc101b22ed Add HIP_DUMP_CODE_OBJECT
[ROCm/clr commit: 0027a54d8b]
2018-10-26 14:14:00 -04:00
Yaxun Sam Liu cbb7e4af8b Add HIP_DB=fatbin for debugging fat binary issues
[ROCm/clr commit: ce13c2061a]
2018-08-17 11:53:45 -04:00
Rahul Garg 17e35e382c Added support for pinned 2D SDMA copy
[ROCm/clr commit: 5eb11b58f3]
2018-07-31 14:05:35 +05:30
Sarunya Pumma 57c15b815d Remove device mapping from shareWithAll memory
When shareWithAll memory (e.g., host memory) is allocated, set appId
in hc::AmPointerInfo to -1 to indicate that this memory is not mapped
to any device.  Peer checking in ihipStream_t::canSeeMemory is not
necessary if memory is shared with all devices.  Thus, it is skipped.

Note that earlier host memory is always mapped to device 0 and HIP
always performs peer checking for all kinds of hipMemcpy.  Since the
peer checking process requires context locking, hipMemcpy from/to host
memory always grabs device 0's context lock.  Therefore, if there is
another thread holding the context lock of device 0 (e.g.,
hipDeviceSynchronize on device 0), hipMemcpy will have to wait for the
lock until it can actually perform memcpy.  This can significantly
deteriorate execution performance.

Signed-off-by: Sarunya Pumma <sarunya.pumma@amd.com>


[ROCm/clr commit: 84aadb9274]
2018-07-28 23:15:16 -07:00
Maneesh Gupta cb5549ac34 Merge pull request #491 from scchan/fix_wait
callback handling: don't need to wait for the thread to become ready

[ROCm/clr commit: f7c49dde38]
2018-06-06 14:38:25 +05:30
Siu Chi Chan 8cfbffb82b remove the _ready flag in ihipStreamCallback_t and the mutex that protects it.
[ROCm/clr commit: 0d719c514f]
2018-06-04 17:29:04 -04:00
Rahul Garg 065f0d8d8c Add integrated device property
[ROCm/clr commit: 94f086e9cd]
2018-06-02 13:11:16 +05:30
Maneesh Gupta 46ddefedee Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344


[ROCm/clr commit: 9e47fccc89]
2018-03-12 11:29:03 +05:30
Maneesh Gupta 290b5f1738 Implement hipStreamAddCallback
Change-Id: Ib851e4d86ba9c8406ca37b88162ea483ccbc9d36


[ROCm/clr commit: cd9ba0d1e1]
2017-12-19 16:06:14 +05:30
Ben Sander cabf4d817c Fix some cppcheck style issues.
[ROCm/clr commit: 5933ca7300]
2017-12-01 20:45:34 +00:00
Pierre 75a1e24519 Fix missing MARKER_END
Logging status of hipCtxSynchronize was missing
Test if hip profiling is active for MARKER_END in ihipPostLaunchKernel
Add MARKER_END after the completion of a kernel launched through
the "grid launch"


[ROCm/clr commit: e60a95d7dd]
2017-11-13 16:13:19 -05:00
Ben Sander 379b3fc7a0 Make hipEvent_t thread safe.
Support re-recording of same event by different threads.

- Add criticalData structure to hipEvent_t, similar to mechanism used
  for streams, contexts, device.  Events are always locked
  after streams to avoid deadlock.
- ihipEvent_t::locked_copyCrit can be used to copy critical state
  including marker.  The critical state in the event can then
  be re-recorded.
- refactor hipEventElapsedTime.  Remmove stale debug code, native signal
  refs.


[ROCm/clr commit: 955cfbfdc7]
2017-11-06 23:49:25 +00:00