Add a hip::Stream::destroyAllStreams static function to destroy all streams
Also call MemObjMap::Purge
Change-Id: I6ee7e3f26ab1f1870a9271c65e99fb818134482b
Current packaging assumes that HIP runtime will always be installed in
/opt/rocm/lib. This is false to assume, because some distros like CentOS
will use the lib64 directory instead of lib. Relying on CMake to choose
the library directory for us will default in that case to lib64. Hence
there will be a mismatch between where HIP is installed and where CMake
thinks it is.
Change-Id: I46e405b25bda987e74b095fcb41319f8a504ae41
Currently build is only passing because amdhip64 is being built with
headers from /opt/rocm/include. It should be using the headers from
the hipamd project.
Change-Id: I27cb64b460547ef281d368322afac376fa49db51
Correctly reference the new amdocl target.
Do not use hardcoded paths to libamdocl64.so, instead query the path to
it from cmake.
Change-Id: I4738dd8d6d08f9fb72fdd725b6488b81342755a4
-Bsymbolic is required to make sure all AMD OpenCL runtime symbols are
resolved internally, otherwise ld might resolve them using symbols from
the OpenCL ICD. This will cause incorrect functions to be called.
Change-Id: I4ca0326a574ee2e537525bfda96ec20fabfe0158
This patch also includes additional cleanup logic to the installation
rules. The OpenCL ICD already defines its own installation rules, no
need to duplicate them.
Change-Id: Id1c386307a83b82e21f6fa132e41957d9b348fd3
Remove extra -isystem causing --cuda-device-only flag
to be dropped. Fix missing __hipRTC_header_size symbol.
Add macros which were consumed during pre-processor
generation. Add INT_MAX and CHAR_BIT macros used in
HIP headers.
Change-Id: Id5143e3c8a2b1e7c78658ba84d5ab3b55ac1fa72
CMake doesn't handle linker export files in a general way well. On
Windows it is able to recognize a .def file and pass it to the linker.
Unfortunately it cannot do the same thing on Linux, so we have to
manually specify it.
Note that CMake can't recognize the current Windows export file due to
the .in suffix, hence why the amdhip.def file is being added. The
hip_hcc.def.in file will be removed later, as the Makefile build still
uses it.
Change-Id: Id3e4645c95959e13f50efd88bc43f3a1d3e50d58
Some CI systems have a somewhat out of date version of cmake, which
does not have this functionality. Fall back to using
target_link_libraries() instead.
Change-Id: I2410b24bcb6f1be2c2c3303ccd0019b10c914d2e
Add coarse grain memory extension. The new advice will allow HMM
to disable cache coherency policy to improve performance
Change-Id: I3c792d6a96896b983a7ffccddaa0ded06d183212
CMake doesn't handle linker export files in a general way well. On
Windows it is able to recognize a .def file and pass it to the linker.
Unfortunately it cannot do the same thing on Linux, so we have to
manually specify it.
Note that CMake can't recognize the current Windows export file due to
the .in suffix, hence why the amdocl.def file is being added. The
amdocl.def.in file will be removed later, as the Makefile build still
uses it.
Change-Id: I33a4151af0257d56d46cd27cbd028b34b77b706b
HIP exports the runtime target as amdhip64. This target was recently
renamed to amdhip. It is unclear as to who uses this target, as HIP
clients need to use the device/host targets instead, but we still need
to support it for backwards compatability.
Change-Id: I68b9798ab967420e0642d50621d3c8b577a05435
HIP only has a dependency on ROCclr at build time. When exporting HIP,
ROCClr is already embedded into the shared/static library. There is no
reason to search for it.
Change-Id: I8d7e8e58164e5585a1dfc9c998ecf02ca42d8aac
Don't install HIP source code.
Correctly install the HIP shared library based on platform. On Linux,
it will be installed to lib/, but on Windows it will be installed to
bin/. CMake will handle this for us.
Change-Id: I00cc074ad8e13b1b953b21444f0c2b5f50dc03c0
git is invoked to populate OPENCL_VERSION_GITDATE, but the value is no
where to be used in the project.
Change-Id: Iceae650e6260c2ccd749f582034fc09205b4af7a
Don't use hardcoded install destinations. CMake will decide where things
should be installed based on platform.
Change-Id: Ifcf956181d3efb32d4ce6191a89c1ea225d0e8cc
HIP should block the stream until callback is done. This change
will introduce extra marker that will block the queue.
Note: MT path doesn't really require extra marker, but the logic
is identical to avoid extra checks for direct dispatch
Change-Id: Ib90fd2d751adf337f5e43ac6098e84767530233b