Fix missing issue of kernel attributes including vec_type_hint,
work_group_size_hint and reqd_work_group_size.
Make WorkGroupInfo's meta attributes initialized before other parameters
are initialized.
This way workGroupInfo_'s compileSizeHint_, compileSize_ and
compileVecTypeHint_ will be valid when they are used to create kernel
signature in Kernel::createSignature().
Fix a typo of ".workgorup_size_hint".
Change-Id: I4a1ede2210a25596ad7a935cd4debb896e0147f8
[ROCm/clr commit: cb30ce4e06]
- stream capture should be done before any sync APIs.
Signed-off-by: sdashmiz <shadi.dashmiz@amd.com>
Change-Id: I3d65f67ee68777be71f97f48d460ccaefdd4e1af
[ROCm/clr commit: be966acb0c]
- Address an old bug in offset calculation that was causing out of bound
access.
- Improve logging
Change-Id: Iebdf34dddaa5e987cc72184a2152918adc6a96e0
[ROCm/clr commit: 033d4c0463]
Weirdly, the `requiredDump` argument to linkLLVMBitcode was used to enable/disable
the keeping temporary bytecode files (those generated by -save-temps=all) after linking.
This patch removes this argument as there is no obvious benefit from keepeing it
(the user would only rely on -save-temps=all to control this).
Change-Id: I0c00486f95eb1d4e296b5247c488407c47f0b2d9
[ROCm/clr commit: 8ab3fd58cf]
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
[ROCm/clr commit: eef47ca24a]
- 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
[ROCm/clr commit: 873bc03034]
- Return hipErrorInvalidValue if dependencies array contains a node from
different graph
Change-Id: I0dcfaaaeb50a89848ac546a0b86b185977e2128c
[ROCm/clr commit: a427d3cd10]
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
[ROCm/clr commit: 3e54bad5b3]
The uses have moved to using the proper __builtin_amdgcn_ds_swizzle.
Change-Id: I82159ebf41fb91ac6a9d07b33311e569dce5e754
[ROCm/clr commit: 91b851fad7]
- Use correct header for vendor packet
- Pass one dependent signal when submitting a marker if there is one
Change-Id: I4efc70dd5204b559de26f899d0637f50421c8834
[ROCm/clr commit: 77ceb7e9ad]
The current code generates a _optimized.bc regardlessly, so put back the original logic.
Change-Id: I3f84d10934b3e983f5f828af8d0943449a6e1d94
[ROCm/clr commit: 6647882773]
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
[ROCm/clr commit: c391af49dc]
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
[ROCm/clr commit: f39655c0c8]