Sarbojit2019
77fd519260
hipEventElapsedTime should respect device ( #1992 )
...
Fixes SWDEV-228636.
Also added a unit test to verify this.
[ROCm/clr commit: 3523219b43 ]
2020-04-06 15:38:25 +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
Sarbojit2019
7d5bc56ab7
Added null check in hipEventSynchronize ( #1627 )
...
* Added missing null check in hipEventSynchronize
* Minor correction in the Event API description
[ROCm/clr commit: 7985ad218f ]
2019-11-18 12:18:55 +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
Jeff Daily
539d0c2ae3
remove ihipEvent_t::refreshEventStatus(), new hipEventElapsedTime
...
This fixes possible races in hipEventElapsedTime.
[ROCm/clr commit: 444122dfb9 ]
2019-11-06 15:46:46 +00:00
Jeff Daily
f7e255c3c4
fix race condition in hipEventRecord
...
[ROCm/clr commit: 6c3479a155 ]
2019-11-04 17:45:11 +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
Anusha Godavarthy Surya
27722855b4
Added missing NULL checks
...
[ROCm/clr commit: 1a7c7e3b06 ]
2019-06-27 20:19:30 +05:30
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
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
46ddefedee
Apply .clangformat to all repo source files
...
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344
[ROCm/clr commit: 9e47fccc89 ]
2018-03-12 11:29:03 +05:30
Ben Sander
2c95d48f87
Check for null event in hipEventElapsedTime
...
[ROCm/clr commit: e71456cc6c ]
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
Maneesh Gupta
db9b583cb6
Merge pull request #251 from ROCm-Developer-Tools/fix_event_state
...
Set event state AFTER it is recorded.
[ROCm/clr commit: dbb6b2bab8 ]
2017-11-06 07:28:11 +05:30
Ben Sander
0c5ce41d7c
Set event state AFTER it is recorded.
...
[ROCm/clr commit: 1c65bb1684 ]
2017-11-05 10:33:18 -06:00
Ben Sander
6e82cc25df
Add HIP_DB=warn + message if sync on dangerous event.
...
[ROCm/clr commit: 172b9f96e6 ]
2017-11-01 10:44:34 -07: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
Maneesh Gupta
a73a17763d
Don't crash for hipEventDestroy(NULL)
...
Change-Id: I3f4de1ad2712dbe8af81e10c5d3bef16d468c582
[ROCm/clr commit: 21de66889c ]
2017-07-18 11:01:02 +05:30
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
81354999e8
Set event->_stream on hipHccModuleLaunchKernel path if start/stop used
...
Ensure _stream is always non-null in recorded events.
Fixes isDefaultStream fault.
[ROCm/clr commit: 6cc5dc0326 ]
2017-05-30 21:55:46 -05:00
Ben Sander
0ca3262f0a
Add event controls for release fences.
...
Env var : HIP_EVENT_SYS_RELEASE
Event allocation flags : hipEventReleaseToDevice, hipEventReleaseToSystem
(remove hipEventDisableSystemRelease)
Update test for new functionality.
[ROCm/clr commit: 942ec0eff8 ]
2017-05-27 16:02:34 -05:00
Ben Sander
d6e8f5bbdc
Cleanup hipEvent. (Intermediate checkpoint)
...
Support hipEventDisableSystemRelease flag.
Update test.
Remove stray printf
[ROCm/clr commit: c8178c6838 ]
2017-05-27 16:02:34 -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
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
sunway513
1897ca4a20
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/clr commit: f442e975c6 ]
2017-04-06 21:02:50 -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
f6641ba37f
Fix event flag detection.
...
Change-Id: I0b0ba66c2339021320fe3d7760fdad1a0490a76b
[ROCm/clr commit: 214673a4fb ]
2016-10-18 22:27:16 -05:00
Ben Sander
1fc5bf0643
Update docs for event, review event TODO.
...
Change-Id: Iec491f9f22df163f01c0af6639fcbe33c81acdcc
[ROCm/clr commit: 54b20dbe0d ]
2016-10-18 22:27:16 -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
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
dbbd5ce037
Remove HIP command dependency tracking.
...
Change-Id: I991c13bc5108193959ba70f9f6f9c692c9ad3a5b
[ROCm/clr commit: c365785c5c ]
2016-09-22 14:21:19 -05:00
Maneesh Gupta
d9488e163f
Updates to doxygen documentation for HIP Event APIs
...
Change-Id: Ic2e4a5725aebca14ac824da43436aacd0fe0a45c
[ROCm/clr commit: b14d2c8c8e ]
2016-09-16 15:06:54 +05:30
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
Aditya Atluri
82deaeb581
Changed how hipEvent_t is typedefed internall
...
- Mapped hipEvent_t directly to ihipEvent_t* instead of a handle
Change-Id: I5a8bcca0ef962932e0738c03eb1fc914d23022ae
[ROCm/clr commit: 25be4fb532 ]
2016-08-25 14:34:41 -05:00
Ben Sander
c85f34bf8a
Code cleanup, use camelCase where appropriate.
...
Change-Id: I5a7ec50df8bbb3e7a3b313c0b12e2dd55ae4a09c
[ROCm/clr commit: ac173c3ae8 ]
2016-08-08 14:54:38 -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
Maneesh Gupta
64d0ffb404
Replace calls to ihipInit with use of HIP_INIT_API macro
...
Change-Id: Iabf7df79f0238a8ddffea4607fe945df36642850
[ROCm/clr commit: b485470819 ]
2016-07-22 15:46:55 +05:30
Ben Sander
a03c51dc9e
Clean up old work-week and USE_* refs
...
Change-Id: I929c979fa085f8e5205194cbccca46e9b5516aa9
[ROCm/clr commit: 44d117ba63 ]
2016-06-17 15:18:57 -05:00
Ben Sander
a079847536
comment change
...
[ROCm/clr commit: 07b5785da2 ]
2016-05-03 08:33:35 -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
Ben Sander
ef1314a91c
Improve debug print messages.
...
- Remove "call-to-call" for hipStreamCreate and hipEventCreate.
These now call an internal functions rather than calling through
hipStreamCreateWithFalgs and hipEventCreateWithFlags.
- Add HIP_INIT_API for more functions so they trace correctly.
- Use stream#DEVICE.STREAMID in debug messages via new specialization in
tace_helper.
[ROCm/clr commit: 82f57ca610 ]
2016-03-26 12:35:04 -05:00
Ben Sander
e16e848d55
Make ihipDevice_t thread-safe.
...
Move critical data into separate class and protect with LockAccessor
wrapper class.
For device, the streams list is the critical data since it is modified when
streams are created or destroyed. The streams list is accessed in
several places including when synchronizing across all streams on the
device (ie from the default stream).
Other device data is set once by the device cosntructor and is not critical
so
All functions which acquire the LockAccessor now named with "locked_" prefix.
[ROCm/clr commit: 4dd77c6612 ]
2016-03-26 10:46:20 -05:00
Aditya Atluri
fba45193cd
added CR and hipsetdeviceflags func
...
[ROCm/clr commit: eea49cb66b ]
2016-03-24 07:04:01 -05:00
Aditya Atluri
bd9979eda6
Split files based on functionality and changed cmake file
...
[ROCm/clr commit: 1c55019322 ]
2016-03-24 04:57:30 -05:00
Ben Sander
245d48de79
Partition hip_hcc into sections
...
Separate files for different categories of HIP API.
Currently just #include into hip_hcc.cpp
[ROCm/clr commit: e52c3d9fe0 ]
2016-03-24 09:28:54 -05:00