This PR is a follow-up on PR# #1698 and it makes two more APIs (hipLaunchCooperativeKernel/hipLaunchCooperativeKernelMultiDevice) inline so that they can work correctly with lazy binding.
[ROCm/hip commit: 6968aeb841]
SWDEV-151670: Issue with 3D texture with 4 components
SWDEV-151671: Issue with 2D layered texture with 4 components
Fixed memcpy when memory is allocated with driver API's.
Github issues: #1755
Fixed 3D default case when array type is not set during memory allocation.
[ROCm/hip commit: 391e99cd12]
Reverting #1673, #1697 and #1707.
Support for hipMemcpyWithStream and memcpy optimizations, will be brought in again once issues seen with these are resolved independently.
[ROCm/hip commit: e53fc316f1]
[Background] it was found that if lazy linking used for a library that calls hipExtLaunchMultiKernelMultiDevice API then this API can get the wrong program_state object for looking up device kernels leading to a "No device code available" error in this API.
To fix this issue, the API was refactored to be inline and get and pass the correct program_state to an internal hip API to request a multi-device kernel launch.
[ROCm/hip commit: 68cc787781]
Handled the HCC version check appropriately as few of the directed tests (SWDEV-212161) were failing when hcc was bumped to 3.0.
[ROCm/hip commit: 6b06911ef1]
* hipMemset et al can use HSA API directly for synchronous cases
* lock and flush stream in hipMemset, hold lock until complete
* move hipMemset async check to front of conditional
* use hsa_amd_memory_fill for additional sync memset cases
code cleanup/review for all memset calls
* Fix inversion of execution mutating value.
* ihipMemsetSync fall back to kernel if HSA memset fails
* Never fallback, never surrender.
* Allow NULL stream.
* Optimise memset kernel. Remove deadwood.
* Update hip_memory.cpp
* Clean up stream logic in sync memset
* Revert "Clean up stream logic in sync memset"
This reverts commit 6117dedf673367f44cc704192573a117a3d92477.
[ROCm/hip commit: e31e0ca12e]
The lifetime of the buffer given to
hsa_code_object_reader_create_from_memory must exceed that of the
code object reader. We need to create a copy of the code object
binary memory (file) that is kept allocated until the code object
reader is destroyed.
[ROCm/hip commit: 7473140a76]
Adds hipMemcpy2DFromArray and hipMemcpy2DFromArrayAsync equivalent to cudaMemcpy2DFromArray and cudaMemcpy2DFromArrayAsync.
[ROCm/hip commit: 356765a223]
* [hip] add support for implicit kernel argument for multi-grid sync
* modified code for calculating the prev_sum
* change the impCoopArg type to size_t
* add memory clean up
* launch init_gws and main kernels into two separate loops
[ROCm/hip commit: 359dc79101]
* guard against division by zero for no VGPR usage (e.g., in an empty kernel)
* fix bracket format
* clean up parenthesis
[ROCm/hip commit: 73ca2b0083]
Added new memory API's hipMemAllocPitch, hipMemAllocHost, hipMemsetD16, hipMemsetD16Async, hipMemsetD8Async
Modified to support all scenarios hipMemcpyParam2DAsync, hipMemcpyParam2D.
[ROCm/hip commit: ba9c6e13e4]
Addresses SWDEV-136570. hipMemGetInfo changed to compute free memory based on information from kfd instead of relying on hc::am_tracker.
[ROCm/hip commit: 3d661e4706]