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
Add coarse grain memory extension. The new advice will allow HMM
to disable cache coherency policy to improve performance
Change-Id: I3c792d6a96896b983a7ffccddaa0ded06d183212
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
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
This change is tied to the ROCclr cmake rework. ROCclr will now be built
as part of HIP itself.
All the dependencies on comgr and rocr have been moved into ROCclr
itself. This allows HIP to pull in all the required compiler/runtime
dependencies by simply linking against ROCclr. Note that ROCclr needs to
be configured from HIP cmake command line. If not, we will default to
LC + ROCr support.
Since HIP depends on ROCclr and ROCclr depends on OpenCL, HIP will
transitevly pull in all the required OpenCL headers. No need to keep a
local copy of them anymore.
Change-Id: Ib39f4929e88da1248be962490c150b10fc7abd3a
Linux Pro build uses the LLVM_ROOT variable to
specify where llvm is located. We must use a different
name, HIP_LLVM_ROOT for LLVM's prefix location.
Change-Id: I28baf8672217a438a5dd45829d9af04b3553f615
Add memory filling performance test for large bar device memory,
hip managed memory, conherent/non-coherent host memory and fine
grained device memory
Change-Id: Id3f9bcad45d643e493daf9d5f47b3a012a427178
Temporarily disable __HIPCC_RTC__ in hip_vector_types.h
while the upstream clang headers are outdated on mainline.
Once upstream patch has landed in mainline, revert this
change. This is a workaround for hiprtc testing.
Change-Id: Ib2cf6023b71431bbfbe3c699076caa4f90f7170c
Run with multiple threads to catch possible race condition
Disable running the test by default on CI as this takes lot of time
Change-Id: I1c1a66fd5c72f8d2bf7ad120461384488b46abbd
- waitList was released before the awaitcompletion
causing stream sync after the async copies fail
- Enable the hipPeerToPeer_simple test
Change-Id: I1eeaa7e6320ab38c106902078f034dfec4c3f3ea
Add back the .type directive needed for ELF
format to add the section to symbol table.
For COFF format the symbol is already added
to the symbol table.
Change-Id: I4920e8dae0af23b4dcabd324b47abc228fcab10f
Always allocate managed memory in ROCclr and backend will decide
what kind of memory to use. Currently ROCclr should fall to
GPU accessible system memory if HMM isn't available
Change-Id: I71328687b2dd4a3f563571f2b755079d82dca433
Windows may expect long and ulong to be 4 bytes, while
Linux expects 8 bytes. Instead, use uint64_t for
unsigned long, and unsigned long long, and use int64_t
for long and long long to be consistent.
Change-Id: I6ed1cdde43721bcaaab0245644d607b1adbf9884
Add -r/--generate_rtc option to hip_embed_pch.sh to generate the
preprocessor expansion output of the HIP headers for hipRTC mode.
Generates an object hiprtc_header.o and shared library libhiprtc.so
which can be used for hipRTC online compilations. Enable
__HIP_ENABLE_RTC by default in the CMake files.
Change-Id: Ief51b695c9b31941d929e06f16872f95eea3619b
hip_rtc.cpp refers to the symbol __hipGetPCH(), but that one can only be
found in hip_global.cpp. It's not referenced anywhere else, hence it
should be moved.
Change-Id: Ifc67b2f3b1b8344dec0e6c30d083d62288fb5e24