Gráfico de commits

156 Commits

Autor SHA1 Mensaje Fecha
Jeff Daily 8b0a909b2b add IPC event support (#1996)
[ROCm/clr commit: e943144b31]
2020-04-17 10:31:22 +05:30
Jeff Daily 1a434dccd3 fix hipStreamAddCallback, block future work on stream (#1934)
[ROCm/clr commit: 1444f850ac]
2020-03-19 16:16:04 +05:30
Evgeny Mankov d191980c6a [HIP] Clean-up deprecated HIP error codes
hipErrorMemoryAllocation -> hipErrorOutOfMemory
hipErrorInitializationError -> hipErrorNotInitialized
hipErrorMapBufferObjectFailed -> hipErrorMapFailed
hipErrorInvalidResourceHandle -> hipErrorInvalidHandle


[ROCm/clr commit: 4aaa2336a8]
2019-12-23 17:01:35 +03:00
satyanveshd e2a0a547ff fixed directed tests fail when hcc bumped to 3.0 (#1678)
Handled the HCC version check appropriately as few of the directed tests (SWDEV-212161) were failing when hcc was bumped to 3.0.

[ROCm/clr commit: d4dde7a27d]
2019-11-20 21:37:52 +05:30
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
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
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
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
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
Anusha Godavarthy Surya e643bae27d Added missing NULL checks and corrected API return values as per validation
[ROCm/clr commit: 4989452413]
2019-06-27 00:19:05 +05:30
Rahul Garg f364b32e29 Add extension for kernel concurrency on same stream
[ROCm/clr commit: 263e82a67a]
2019-03-06 12:55:39 +05:30
root 873c51bdf5 rebase to master, tracer related changes
[ROCm/clr commit: 0774b275c8]
2018-11-13 15:50:34 +00: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
Maneesh Gupta 127f7d0320 Make HIP functional again with HCC from ROCm 1.9.x
Change-Id: I214acdfd0b79dcf783993e44fe31baee64fd4dc3


[ROCm/clr commit: b01ac26948]
2018-10-24 10:41:56 +05:30
Maneesh Gupta c4ed6b18fb Implementation for stream priority
- Requires ROCm 1.9.x or higher
- Requires HCC with PR#886 merged

Change-Id: Id7c95ea091ee610e80c9ad815f1cb989cba570ca


[ROCm/clr commit: 07ee1f07d8]
2018-10-05 16:27:46 +05:30
Siu Chi Chan 07d06ef156 callback handler: don't need to wait for the thread to become ready
[ROCm/clr commit: e21e6ed3a0]
2018-06-02 17:55:37 -04:00
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 f761859993 hipStreamWaitEvent returns success if event created but not recorded
[ROCm/clr commit: b5911acce2]
2017-11-06 23:49:31 +00: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
Ben Sander 0c5ce41d7c Set event state AFTER it is recorded.
[ROCm/clr commit: 1c65bb1684]
2017-11-05 10:33:18 -06:00
Ben Sander 4df6b371ab 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/clr commit: dc7d993a02]
2017-10-30 20:20:51 +00:00
Ben Sander 5134d6a2e9 hipStreamQuery uses av::is_empty. Add HIP_FORCE_NULL_STREAM.
[ROCm/clr commit: fff74eee21]
2017-08-31 03:00:14 +00:00
Ben Sander b45217fef0 Refactor hipStreamWaitEvent
- Null streams use same flow as non-null.
- Add HIP_SYNC_STREAM_WAIT
- Resolve null stream.


[ROCm/clr commit: ed8c3ba7e7]
2017-08-31 03:00:14 +00:00
Ben Sander 070bdb3736 Lock streams when waiting on event completion or querying event safety.
[ROCm/clr commit: bc9ba7cd81]
2017-08-28 18:40:16 -05:00
Ben Sander 967ca1a44e Add some new HIP_TRACE_API options.
[ROCm/clr commit: d6aee9ad8f]
2017-08-16 04:00:33 +00:00
Ben Sander 7237ed04f3 Fix HIP_SYNC_NULL_STREAM=0 mode.
- Fix null-stream sync
- hipStreamDestroy of null stream returns hipErrorInvalidResourceHandle
- Update documentation.
- Add tests for null stream sync, hipEventElapsedTime.
- Rename internal enum hipEventStatusRecorded to hipEventStatusComplete
- refactor hipStreamWaitEvent to streamline control-flow


[ROCm/clr commit: 823281dcba]
2017-06-05 08:50:22 -05:00
Ben Sander d9587ae2f0 Add isDefaultStream() accessor.
Fix code that checked for stream==nullptr after stream had been
resolved to a "true stream".


[ROCm/clr commit: b2b620c12b]
2017-05-26 13:46:48 -05:00
Ben Sander ae983e1b09 Remove HIP_MAX_QUEUES (replaced with HCC_MAX_QUEUES)
[ROCm/clr commit: d43d57d39c]
2017-05-23 23:48:01 -05:00
Ben Sander 4ac6ac9d1d 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/clr commit: 8bc6ee5932]
2017-05-16 19:04:25 -05:00
Aditya Atluri 3651cb672a 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/clr commit: 1cead6a4cd]
2017-03-31 12:11:34 -05:00
Aditya Atluri a86633f210 changed copyright year from 2016 to 2017 in src directory
Change-Id: Idb97db509b2b4b1656b2df7a14a62ade38c9d574


[ROCm/clr commit: e9ff23e5f9]
2017-01-11 18:05:41 -06:00
Ben Sander 13bf4c39cc Add HIP_MAX_QUEUES feature.
Includes some tricky manipulation of the locks for contexts and streams.
issue is that stealing a stream requires we lock the context to
walk the streams to find a victim.  To avoid deadlock, we can't
have a stream locked when we lock the context.  This implementation
releases the stream lock, then acquires the context and selects the
victim.
A more stable implemenation might be to copy the stream list
from a context so that a lock is not required to walk all streams.
Smart shared_ptr could be used to prevent the streams from being
deallocated during the walk.


[ROCm/clr commit: b29fbf736d]
2017-01-09 21:02:56 -06:00
Ben Sander 82cf0397c5 First pass at virtualized queue support.
Also updated stream debug messages to consistently use trace_helper.


[ROCm/clr commit: c9f5fe34e6]
2017-01-09 21:02:53 -06:00
Ben Sander 9d22c4f727 tolerate spaces in hip args
[ROCm/clr commit: 49d1477b9d]
2017-01-09 20:57:13 -06:00
pensun b0a039cd5e Add workaround for hipStreamAddCallback function: call stream synchronize on host and then add execute the call back function
Change-Id: If361f8e053949904b19b9e09245d267f05e29f7b


[ROCm/clr commit: 7a0375854a]
2016-10-22 23:59:39 -05:00
Ben Sander d6ffcdb9b0 Move some internal headers from "include/hip/" to src.
Change-Id: I7041bd5c803d9318979f4a7c1d658445c614691e


[ROCm/clr commit: 403cdf93c3]
2016-10-18 22:27:16 -05:00
Maneesh Gupta 2655c96ab9 src/*: Update copyright header
Change-Id: I455f5d0d12fe9cb39a3ba873bd22b4c25ed07cbf


[ROCm/clr commit: 88d6cad3fb]
2016-10-15 22:55:22 +05:30
Ben Sander c348792a58 Don't save error status on ihip function.
[ROCm/clr commit: 3ea5aac9a3]
2016-10-05 12:18:42 -05:00
Maneesh Gupta 46feb7dcf2 Move include/* to include/hip/*
Change-Id: I7a7b2839b4df59c7a4c503550f99fdc9e45c0f54


[ROCm/clr commit: bbfc08f419]
2016-10-04 22:17:18 +05:30
Ben Sander 2f4c30ff79 Remove USE_AV_COPY, USE_PEER_TO_PEER fallback paths.
Change-Id: I9c20173e62029c4caebabc98784c6d7697758e4f


[ROCm/clr commit: 60f797cc5a]
2016-09-22 14:21:19 -05:00
Ben Sander c75953a822 Add hipStreamQuery
Change-Id: Ib0813b1065feba4fe9ae861d24cfc6f9c5f580be


[ROCm/clr commit: fd67689114]
2016-09-07 15:18:34 -05:00
Ben Sander b47c7dc8aa remove printf
Change-Id: I36510a7ff0425f05a6d0b9c65cda4397c9cc2d95


[ROCm/clr commit: 3c90766c70]
2016-09-02 17:50:31 -05:00
Ben Sander 589f28547e hipStreamWaitEvent update.
Add passed to hipStreamWaitEvent test.
Fix pointerAttrib test to work with new and old HCC versions.
Minor code touchup.

Change-Id: I139ba6ce9f6bf2b4bee89aebdec5981b4346ffc0


[ROCm/clr commit: 8e883ab666]
2016-09-02 09:46:59 -05:00
Ben Sander fe85edad3f Use create_blocking_marker for WaitEvent implementation
Change-Id: Ib3113f69a14e48b9fe0558d7b455148e478d8eed


[ROCm/clr commit: 9a99000a62]
2016-09-02 09:46:59 -05:00
Ben Sander 938933ca2f Refactor for stream->_av.
- move _av into stream critical section.  ( HCC accelerator_view is not
  thread-safe but HIP steram is. )
- Refactored many places in code that need to acquire critical section.
some were previously thread races, ie enqueueing marker.

-remove support for GRID_LAUNCH_VERSION < 20
-Enable USE_AV_COPY based on HCC work-week.
- Review hipModule docs, some calrity/editing.

Change-Id: I3ce7c25ece048c3504f55ecd4683e506bb1fc8b6


[ROCm/clr commit: 02f65a483c]
2016-09-02 09:46:59 -05:00
Ben Sander 3ee6e7f8ab Split ihipCtx_t into ihipCtx_t and ihipDevice_t .
Major change to existing code base.
    Ctx holds streams, enables peers, and flags.
    Device holds accelerator, hsa-agent, device props.

Add hipCtx_t.

Add peer APIs that accept hipCtx_t (in addition to deviceId)

Compiles and passes directed tests.

Change-Id: Iddab1eb9edbf90caad2ef5959c6b811d658197f1


[ROCm/clr commit: d09b19bb6c]
2016-08-08 11:55:57 -05:00
Ben Sander e5300e2b40 Change Device->Ctx
Change ihipDevice_t -> ihipCtx_t (new)
Change ihipGetTlsDefaultDevice->ihipGetTlsDefaultCtx
Some other changes from device->ctx where appropriate.

Change-Id: I5c4ae93b2fd42c6303aa23d748eb166b7431925d


[ROCm/clr commit: 0d16565061]
2016-08-07 21:47:12 -05:00
Ben Sander 96412bdea2 Stream thread-safe checkpoint.
Moving data structures to critical / protected section.


[ROCm/clr commit: 6cab7862ae]
2016-03-28 09:46:40 -05:00