- remove node dependency before checking parents
- reduce edge level acording to new value of node
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Id4bff1684f7e0b42beeebc4d2e009bfdb507fb5f
- nodes should belong to graph
- num of passed dependency cant be larger than graph nodes
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Ia6f2283546bc44edee705b0483bfe506b7b1177a
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
- if the stream is null ptr and there is capture ongoing return an error
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: Iff33e4aebc253fb7bb56daf5c455722d726c6705
- For !__HIPCC_RTC__ case, operator<<(std::ostream& os, const hip_bfloat16& bf16) calls itself in endless recursion
- Convert hip_bfloat16 to float to fix this
Change-Id: I252a656817550caf43c587cebf461474f12b8c0c
- stream capture should be done before any sync APIs.
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I3d65f67ee68777be71f97f48d460ccaefdd4e1af
- null stream should return error on host function
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I17659ad7af0814091dbf6cb4a2cb2644514551f0
Add memory allocation support in graph. Current implementation uses
cache from mempool to hold the allocations which belong to the graph.
Also the resource tracking is disabled at this moment because mempool
operates with hip::Stream objects, but graph has execution with
amd::HostQueue objects.
Change-Id: I54fe3250126d24f5a26ada975f37d429bb4ef17b
- API should return error if the size passed is more than the
bytes allocated
- Passing invalid device should return error except for the
advise hipMemAdviseSetReadMostly
Change-Id: I1c4c15136b825215bf1e1f5ee7a9a08e5895d870
The device libraries provide hip.bc, which only contains
__atomic_work_item_fence. This is identical to OpenCL's
atomic_work_item_fence, except prefixed with __. This only existed to
switch over the unknown values the OpenCL function provides. There's
no need to go through the wrapper here since it's using constant
values, and without it we can drop one of the bitcode libraries. I'm
guessing this was a holdover from before the fence builtin existed.
Change-Id: I8b04614f96194eafddeba295215c12c3856e6c42
Consider the case where cmake is invoked as follows:
cd <parent_dir>
cmake -S<source_dir> -B<build_dir> ...
If `WORKING_DIRECTORY` parameter is not specified in `execute_command`,
`hip_pch.o` is created outside `<build_dir>`, in `<parent_dir>/hip_pch.o`.
Change-Id: I751f4390628315ad70c36148e09824c19c93ae9e
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