Gráfico de Commits

73 Commits

Autor SHA1 Mensagem Data
German Andryeyev 3fa4e31180 SWDEV-311271 - Release freed memory from MemPools
Runtime has to release extra memory, held by the pools,
in synchronization points for event, stream or device.

Change-Id: Id533a5e1d137812aa72bdfe101b4b333c6a43d66
2023-12-19 13:47:04 -05:00
Ioannis Assiouras 8bdda90071 SWDEV-434702 - get the nullstream in constant time in iHipWaitActiveStreams
Change-Id: Ib92cc4d2ca1b725cf30b24cdd711c873fd513d95
2023-12-03 19:05:18 -05:00
Anusha GodavarthySurya 5e21f0c6bd SWDEV-351966 - Dispatch table for hip runtime
Change-Id: Ie4a44fa8cf1ff9c152146070bbbf6b0636d4e325
2023-11-22 01:11:19 -05:00
sdashmiz c089ef4a2b SWDEV-332969 - [ABI Break]Substitute hipArray* with hipArray_t
- hipArray will be an internal struct from rocm6.0

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Icf97fe96b87be8532098cd7f9ceaad099f99c9b9
2023-10-12 12:09:19 -04:00
Anusha GodavarthySurya c7e4e9c2f4 SWDEV-408701 - Avoid adding duplicates when no node is captured in cross stream
Change-Id: Iccbddaf9db73238aa938f8b3e8ec410f4a86d524
2023-10-09 13:15:47 -04:00
German Andryeyev fbea58ba11 SWDEV-423317 - Enable GPU wait for hip sync calls
hipStreamSynchronize and hipDeviceSynchronize won't longer wait
for CPU commands in DD mode

Change-Id: I079c8bbfc34ddc6d3e2d74c92a34665877e512a5
2023-09-22 13:04:27 -04:00
Sourabh Betigeri 3f88fe850b SWDEV-326798 - [ABI Break] Fixes null stream sync behavior
Change-Id: I84ad21f61779145c198dc68bf0fe02a57d34bf64
2023-09-21 11:57:58 -04:00
Anusha GodavarthySurya fd97dde1e6 SWDEV-407568 - Move graph implementation to hip namespace
Change-Id: I7023f202a7e3eb25b17db6d3e361205594ae81a5
2023-07-26 06:52:45 +00:00
sdashmiz 173de06658 SWDEV-408586 - set device active when malloc is called
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ib930d997b7d544d8b6fb42d2fea01fa8a4418e98
2023-07-13 11:39:58 -04:00
Anusha GodavarthySurya 2f83719d12 SWDEV-399098 - Change hip_init lock to use std::call_once
Updating hip_init lock to use std::call_once fixed Performance
drops in TF benchmarks for FP16

Change-Id: Ib1125ac66806b232057ba183e296ea4d0642d08d
2023-06-01 02:04:29 -04:00
sdashmiz 1e9dfdfe99 SWDEV-360031 - Event record clean up
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ic7b5edd501c5f61b2bce87252ac040cbc4083006
2023-05-29 11:42:16 -04:00
Ioannis Assiouras d88f0358b0 SWDEV-397356: Move HIP_API_PRINT after HIP_INIT so that the begin function call gets printed
Change-Id: I99b655596741c19bc483647794ae8b4f6e6f2843
2023-05-04 18:46:21 -04:00
German 31697779bb SWDEV-353281 - Don't add the same stream into the list
Change-Id: I7f41de68b669dc759bdb11657dd897ad57e368fc
2023-04-25 10:21:55 -04:00
Jaydeep Patel e8eb1772f2 SWDEV-391178 - Extern monitor to avoid copy in multithreading.
Defining monitor in header cause copy and hence it's moved to cpp.

Change-Id: Ib07bbde2808d9cb2af9349076f777e8a5b28d210
2023-04-19 00:58:49 -04:00
German 1e88d2c52f SWDEV-380703 - sync all streams individually
Avoid syncing blocking streams with the default stream,
since that introduces extra command dependencies and
doesn't allow to destroy memory after last submission

Change-Id: I618e9bd2091c4cf9157125612d8c4759030c5a80
2023-04-05 16:37:49 +00:00
Christophe Paquot 6e86d29a58 SWDEV-301667 - Optimize lock for graph global capture mode
Remove unneeded lock and add smaller scope

Change-Id: I03a437057d54ce2d72c07a080bb872693b7f3f6c
2023-04-05 10:58:14 +00:00
Sourabh Betigeri 7809d2846b SWDEV-387810 - Fixes to verify if the current stream matches the capture stream
- invalid to synchronize or query the execution status of a capturing stream but non-capturing streams can.

- If any local thread has an ongoing or concurrent capture sequence initiated with hipStreamCaptureModeGlobal, it is prohibited from unsafe calls

Change-Id: Ifa641e807216d3b7c3e8c2fb1be2f7a50bd641df
2023-04-05 10:53:33 +00:00
Jaydeep Patel 57fa5938fe SWDEV-383056 - Don't sync with dst device for hipMemcpyAsync.
Change-Id: I28530e6bd870d617507592576295fc9e7eed1475
2023-02-28 23:21:01 -05:00
Sourabh Betigeri 08c8972d97 SWDEV-326798 - Revert "SWDEV-326798 - Changes in stream sync behavior"
This reverts commit 51adec2730.

Reason for revert: HIP tests on windows fails

Change-Id: I795ed19d76a41e2fd9971414cefa5bd3be45d4bc
2023-02-28 02:28:12 -05:00
Sourabh Betigeri 51adec2730 SWDEV-326798 - Changes in stream sync behavior
Change-Id: If6d0b3876a9bf197c7e49273eaa5ca5bfae46d0b
2023-02-27 16:48:14 -05:00
Ioannis Assiouras 06927fd3c1 SWDEV-381402 - Remove unused getNullStream() from device. Make stream destructor private.
Change-Id: Idde30a8bfe97a525bd9f9fb50698a5cb14b798fc
2023-02-24 10:42:46 +00:00
German Andryeyev 314bdba632 SWDEV-353281 - Add support for MemPool in graphs
Implement hipDeviceGetGraphMemAttribute, hipDeviceSetGraphMemAttribute
and hipDeviceGraphMemTrim

Change-Id: I4f8fc1250ce1e8b7636d43d59ba7343158e45088
2023-02-23 12:49:53 -05:00
Ioannis Assiouras e3633dc8f4 SWDEV-381402 - Derive hip::Stream from amd::HostQueue
Change-Id: I6c1aca5eb350c32d974ae4ffcc725705355956d8
2023-02-21 18:12:03 -05:00
Ioannis Assiouras 8b87ccb8cc SWDEV-381402 - convert host_device to host_context of type amd::Context*
Change-Id: Ic1cb9a3fa64e16699fad7e9ec6679f1d34b14bef
2023-02-16 17:49:12 -05:00
pghafari 03f62b90ef SWDEV-377571 - adding scopelock for hipDeviceReset
Change-Id: I3dd95a40d6abff721a4774f26e99d1162bafdfa1
2023-02-07 11:29:20 -05:00
Ajay GunaShekar 1f4176062b SWDEV-372757 - Don't destroy null queue in MT
This reverts commit f39655c0c8.

Reason for revert: patch does not fix all stream hangs. So another patch was merged which fixes all issues.

Change-Id: I332d1ea29c23747b46b7667fe3e34e0ceefd2b23
2023-01-25 23:41:16 -05:00
Anusha GodavarthySurya d422ad0ec1 SWDEV-376407 - Track manual nodes added during capture
Change-Id: Ic44f842c303eed0eff08b6ee5922976d96a52c71
2023-01-18 03:27:41 -05:00
sdashmiz be966acb0c SWDEV-360031 - check for stream capture finish.
- stream capture should be done before any sync APIs.

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I3d65f67ee68777be71f97f48d460ccaefdd4e1af
2023-01-16 13:09:24 -05:00
Ajay c6a7ce66bb SWDEV-369556 - Unit_hipMemGetAddressRange_Negative cases
- return value for invalid device ptr
- offset greater than size

Change-Id: I8bcf878c3c1c0a29836ea664bfb9048e1114b74e
2023-01-10 06:57:54 -05:00
German f39655c0c8 SWDEV-372757 - Don't destroy null queue in MT
Skip destruction of the null queue for MT. Windows can destroy worker
thread on exit during the stream destruction, causing a race condition.

Change-Id: I3e4bc3ab2b477d38c0aec1fc59e6f1af0f8f6b0f
2023-01-09 00:03:09 -05:00
German Andryeyev 38ad6234f9 SWDEV-360031 - Erase destroyed stream from capture
Parallel streams can be destroyed during capture. Make sure runtime
removes the destoryed streams from the list of parallel captured streams

Change-Id: I46b6cbb951e8711f0bf02f2826c3b890b2541ffe
2023-01-03 13:34:07 -05:00
pghafari a643c199de SWDEV-356549 - del Null strm in destroyAllStreams
Change-Id: Ie04172ee39e6333247d07791dffda753a8b9ef41
2022-12-29 15:45:54 -05:00
Ioannis Assiouras b83271b4ca SWDEV-374402 - Added check for invalid events in hipExtLaunchKernel
Change-Id: I8dfd69aa1ef38971a72b98c723d2099347a66d11
2022-12-21 12:37:12 -05:00
Ioannis Assiouras 30e740023b SWDEV-369548 - Disallow opening an ipc mem handle in the originating process.
Change-Id: Icce5e41a220566141bd7d92b7199d477f60bed8e
2022-12-14 04:52:21 -05:00
sdashmiz b665b9a6e8 SWDEV-365587 - reuse the id from capturing stream
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I65f5be3fcc4cffcf3eb5762fd0b43fd051c145c2
2022-11-24 10:35:14 -05:00
sdashmiz c5e7b56463 SWDEV-366974 - add proper error
- Null stream correct error when blocing stream is being captured

Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I0d902a4f4ef02736a6db60ba7bffa7c20011bc84
2022-11-21 10:39:21 -05:00
Rakesh Roy 8b391ef18c SWDEV-351969 - TLS Optimization
- Aggregate all TLS(Thread Local Storage) variables into a single class
- This is to improve cache accesses per thread

Change-Id: Ic8361eaeae290fff00254684e309471958365eb9
2022-10-09 22:08:14 -04:00
Saleel Kudchadker 1ea4d588ef SWDEV-301667 - Pretty print logs
Change-Id: Ide95a5f8d35d81d4a9eb658f40ae2e82ffa3d97f
2022-08-30 12:32:11 -04:00
Anusha Godavarthy Surya 0e2b348ef4 SWDEV-344166 - Updated HIP APIs to return hipErrorNoDevice when there are no devices in the system
Change-Id: I636828ff39d3b404f89bcc6e2cb7348d92c897ff
2022-07-22 06:59:19 -04:00
Sarbojit Sarkar 1074b22c48 SWDEV-333073 - HIP_INIT_API to handle no return case
Change-Id: I78d43e88cc196047a4cb5d6fcf756339c0e46e80
2022-06-24 12:53:18 -04:00
Jaydeep 1032581ded SWDEV-336548 - Check for valid hipArray pointer in hipFreeArray
Change-Id: Icf0d47eeca7b5dd390a6a9c53b622b3680688ca4
2022-06-18 00:56:33 -04:00
Ajay 1abd0d6ecf SWDEV-332522 - ipcEvents Avoid deadlock b/w streamWait & Event
Using device write to set 0 to signal while streamWaitEvent is checking
the signal.
Use app in SWDEV-314307 to verify this fix
Requires vdi #668012 change to work

Change-Id: Ie329a29cfaeb5d144b92cda36773646f913ca73d
2022-04-26 11:59:01 -04:00
German Andryeyev b4c5a01fbc SWDEV-333607 - Avoid synchronization of all GPU(s)
Use the original device from creation to sync before host memory
free.

Change-Id: I510e34afa7accf69e3d01338587bbc817b981cec
2022-04-21 15:36:04 -04:00
Sarbojit Sarkar 71b5235c64 SWDEV-332809 - Fix for OpenMp crash
Change-Id: I70445edf76261ab8ecf174614f23bd9fb8d60881
2022-04-19 11:29:19 -04:00
Sarbojit Sarkar fc1f02bbed SWDEV-323441 - support for default stream per thread
Change-Id: I0032da0357f5cffbf5e4ec4a02435d2a128a262b
2022-04-18 23:19:55 -04:00
German Andryeyev 5957ff9f7b SWDEV-311271 - Make sure memory pool can accept default stream
Add lock protection for access to the pool list.
Remove destroyed stream from the list of the safe streams

Change-Id: I1863b89bd3f5e188c161227cc790c3adaf72cc58
2022-04-18 10:34:21 -04:00
German Andryeyev fb835c6f3e SWDEV-328670 - Pass the size of allocation
The actual size of allocation can be different from the original
request due to alignments. Pass the size of the original request
for validation during the arena object look-up

Change-Id: I30000046b1ec56abe743e43113046144fd3edbc6
2022-04-01 11:18:55 -04:00
German Andryeyev 539d264eb0 SWDEV-311271 - Initial mempool implementation
HIP_MEM_POOL_SUPPORT controls memory pool support in runtime.
Currently it's disabled by default. The initial change doesn't
include: IPC, MGPU, virtual memory alloc, suballoc, defragmentation,
internal dependencies.

Change-Id: Ibed8528ebec698b045ebb247e49c0ecd6e587ed7
2022-03-31 09:21:37 -04:00
Sourabh Betigeri c47a55f371 SWDEV-328295 - Returns a vector of graphNodes with reference to retain scope
Change-Id: Ib51c9bdbcb5e5cea76f111cb54bde724053073ff
2022-03-18 12:28:57 -04:00
Christophe Paquot 925c742d42 SWDEV-323472 - Fix hipThreadExchangeStreamCaptureMode
Matching CUDA's described behavior: Threads have their own mode.

Change-Id: I3ea15826305a607bff73eb317c4ef62728ed5dc8
2022-03-15 10:53:02 -04:00