- Add option to skip stream allocation on access.
- Avoid null stream allocation in ihipFree, so an inactive device
won't be initialized
Change-Id: Id24426640df59a5e7a08b2dd9dcd4d67758b84bf
[ROCm/clr commit: fca05eae5f]
This isn't the ideal solution, but a lot more cleanups are needed for
how install is used.
Change-Id: I63a9c1a46d0da13ee4373038ece228005207271a
[ROCm/clr commit: 80bc98afee]
This was already searching for the right threads library, but ignoring
the result.
Change-Id: I10d898245696135c1ef928c7715efce8ec6b939f
[ROCm/clr commit: 36432be962]
The build should never touch the source directory, and only write
generated files to the output directory.
Also track the dependency with a custom command and target, as is the
normal method for dependencies on generated files.
Change-Id: I9d835256c643aeef241d26ca05ab390ebba65111
[ROCm/clr commit: b618939e2e]
Don't rely on shell commands. On Ubuntu 20.04, /usr/bin/python no
longer exists, so I'm seeing some failures from somewhere assuming the
path.
The top level CMakeLists also repeats exactly this, which should be
fixed.
Change-Id: I56b26742920f0dc40b363b409892bd41cfa485ef
[ROCm/clr commit: bd4ec781f2]
This will update the hipcc script so that it will use HIP_PLATFORM, HIP_COMPILER, and HIP_RUNTIME variables correctly based on updated hipconfig file.
Removing HIP_PLATFORM=clang, only use hcc and nvcc for now. HIP_PLATFORM should eventually switch to amd or nvcc.
Change-Id: Ie527d07a1add974cc3aab8e9f61b0518147d7602
[ROCm/clr commit: c729d52681]
Apply the optimization to change for OpenCL too.
Clean up some unnecessary checks.
Change-Id: I840261fe35baeeadeba7388e86779d482f509aad
[ROCm/clr commit: 6c5a42b33c]
Embedded device binaries should not be cloned if we want the ROCR's
code object URI for this binary to point to the container (host
executable or shared library) instead of a memory location.
Depends-On: I7973bb0243f5a2d1b639b8a88445cfe6af919dd7
Change-Id: Id3afc981e027e5371114d011f2caaa6414f5fc58
[ROCm/clr commit: 4591b7469e]
Device binaries that are embedded inside the host binary do not
require a copy. Their lifetime is guaranteed to exceed that of the
loaded executable.
Add a 'make_copy' parameter to amd::Program::addDeviceProgram. If
make_copy is false the original image will be used and will not
get freed when the amd::Program is destroyed.
Change-Id: I7973bb0243f5a2d1b639b8a88445cfe6af919dd7
[ROCm/clr commit: 9e1964ddaa]
Remove queue limitation since we loop through HW queues now.
Add a DevLogError if we fail to create the hsa_queue. A ticket showed a regression there.
Change-Id: I4f58e405f88e75600a762f6d6352838c969cdb5e
[ROCm/clr commit: b54c3f7db9]
- Insert the stream into the list on the host queue creation,
instead of stream creation
Change-Id: Ib25053019f7df97e5bc786922a6587b9514852d3
[ROCm/clr commit: bc65ca64fc]
This workaround is to avoid performance penalty of SDMA engine
taking a while to clock up from a lower DPM state. Add env var
GPU_FORCE_BLIT_COPY_SIZE (1024 by default for HIP in KB). Forcing
Src and Dst agent to be amdgpu makes ROCr take blit copy path for
what otherwise should have been SDMA copy
Change-Id: I222f687155f86000d17d66d25182e490b6710463
[ROCm/clr commit: 5f64e6e7ad]
Maintain compatability with current hardcoded scheme for now for
commit order convenience.
Change-Id: I0b8299fceab1cc405ae5f26a129f2f1ea3d56773
[ROCm/clr commit: 585741a040]
Object libraries are weird, and producing a library by using the
target objects from them doesn't automatically import the interface
properties of the linked targets. These object libraries only have
single uses, so just directly create the final library from the
sources.
Leaves libelf as an object library, since there seems to be some cmake
oddity when trying to link an unexported target to an exported one.
Change-Id: Ic379612c89340c40085c9862cfe111fa4bbff425
[ROCm/clr commit: cba7a4d20e]