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
[ROCm/clr commit: e037632fbd]
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
[ROCm/clr commit: 815e8dd2a3]
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
[ROCm/clr commit: 60e9b25650]
Add kernelVerify for data verification and memory
reading performance checking in kernel.
Change-Id: Id3f9bcad75d643f493daf9d5f47b3a012a427179
[ROCm/clr commit: f7e3347215]
Test is modified as hipMemAttachHost is accepted now by hipMallocManaged
Change-Id: If73d210297cde7a92960eef57a902dbd6402a173
[ROCm/clr commit: 3488785a89]
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
[ROCm/clr commit: 8716b0f4de]
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
[ROCm/clr commit: e34a7e8c0c]
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
[ROCm/clr commit: ec22410ca5]
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
[ROCm/clr commit: e594ae6581]
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
[ROCm/clr commit: 414c80644b]
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
[ROCm/clr commit: 247a1e1fee]
- waitList was released before the awaitcompletion
causing stream sync after the async copies fail
- Enable the hipPeerToPeer_simple test
Change-Id: I1eeaa7e6320ab38c106902078f034dfec4c3f3ea
[ROCm/clr commit: e9ac835e0e]
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
[ROCm/clr commit: 561310c6d6]
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
[ROCm/clr commit: 302e527225]
Let clock64() read s_memtime to prevent rolling over
Add wall_clock64() to read s_memrealtime
Change-Id: I706387355add75852c570be2656131ef99e8968f
[ROCm/clr commit: 26235f49e6]
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
[ROCm/clr commit: dd643ec517]
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
[ROCm/clr commit: 9c873353cc]
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
[ROCm/clr commit: 20eff6c298]
hipGraphAddHostNode and hipGraphAddMemcpyNode1D are not part of the HIP
graph implementation, hence they should not be exported.
Change-Id: Ia3d0188895fb4f64ebfa23d4a0a09c44438f878d
[ROCm/clr commit: 0782883cb3]
- Accept hipMemAttachHost flag
- Don't allocate HMM memory if HMM is disabled in KFD
Change-Id: I3d386eb0a109a19c16a87a728944a3a6669f643a
[ROCm/clr commit: 5d8cafef2d]