During hipGraphExecKernelNodeSetParams kernel function can also be updated.
Hence size required for kernel parameters differs from what is allocated during graphInstantiation.
So, create new 128KB kernel pool and allocate kernel args from the pool.
If the pool is full create new 128KB pool. Release kernel pools when graph exec object is destroyed.
Change-Id: I9567946d63400c79cbfd4c5439c654c92557ceae
use AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE action
to compile source to realoc. Currently we have source->bc,
link->bc and bc->realoc. This new action replaces the
three steps with one.
Change-Id: I8089cbef681e079702fefc2d2085a23bc3578d02
The precompiled header files have hard coded paths in comments. Using the disable linemarker option(-P) will skip the generation of comments
Change-Id: Ifb134052996c343f5405e954784b4b2c286c36b1
use AMD_COMGR_ACTION_COMPILE_SOURCE_TO_RELOCATABLE action
to compile source to realoc. Currently we have source->bc,
link->bc and bc->realoc. This new action replaces the
three steps with one.
Change-Id: I6ba551b8d04c7e06f41c4324026e4dcd2db1970f
Dont track the status of fence_dirty_ flag on the host, instead clear it
when we submit a barrier on the respective stream.
Change-Id: I4d98dbf20c81379c9c5da9f5b67629a8f9f6dfcd
- Add API table versioning defines to hip_api_trace.hpp
- Add rocprofiler-register implementation in hip_api_trace.cpp
- created ToolInit implementation
- moved some local functions into anonymous namespace
- renamed some function to be overloads
- made most of the initialization code templated (reduced code duplication)
- enforce ABI
- Updated hipamd/src/CMakeLists.txt
- find rocprofiler-register package (enabled by default but not required)
- Address review comments
- simplify size calculation for dispatch table
- remove setting .size field in GetDispatchTableImpl
- Fix windows build
- Do not enforce ABI on Windows
Change-Id: I08766e8a083528a1236996274bf4522e0e8a1b9f
The following builtins from the CUDA spec are implemented:
- __all_sync, __any_sync, __ballot_sync and __activemask
- __match_any_sync and __match_all_sync
- __shfl_sync, __shfl_up_sync, __shfl_down_sync, and __shfl_xor_sync
The following builtins are NOT implemented, pending support in the compiler:
- __reduce_add_sync, __reduce_min_sync, __reduce_max_sync
- __reduce_and_sync, __reduce_or_sync, __reduce_xor_sync
Change-Id: I07dedbbfe5449f4b5c9b040bed59f5603ccec8c3
- Use isFenceDirty() check in hipStreamQuery.
In case if there is a stopEvent for hipExtLaunch* API we avoid system
scope if there are consecutive hipExtLaunch* and replace them with agent
scope, but then if one uses hipStreamQuery it should detect we need a
barrier with system scope.
Change-Id: I539810f659d4e1c49104e3a0da6ff2803c6b3dee
hipIpcOpenMemHandle can be used to open memory handle and fetch
a device pointer on a different device than the actual device
where the memory was allocated. The device Id must be set to
the current device in such cases and not the original device.
Change-Id: Ie1c7eada928d02124a41125876876f96015552e5
Runtime has to release extra memory, held by the pools,
in synchronization points for event, stream or device.
Change-Id: Id533a5e1d137812aa72bdfe101b4b333c6a43d66
When an offset is applied to the source or destination pointers plus the kind is set to
hipMemcpyDefault and the source or destination is allocated with hipMallocManaged
hipMemCpy2D erroneously fails with hipErrorInvalidValue.
Change-Id: I0db4c17514f743652d8f9a2691da6601a2abb2a1