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
- waitList was released before the awaitcompletion
causing stream sync after the async copies fail
- Enable the hipPeerToPeer_simple test
Change-Id: I1eeaa7e6320ab38c106902078f034dfec4c3f3ea
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
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
hipGraphAddHostNode and hipGraphAddMemcpyNode1D are not part of the HIP
graph implementation, hence they should not be exported.
Change-Id: Ia3d0188895fb4f64ebfa23d4a0a09c44438f878d
On StreamBegincapture captures the parameters passed to APIs and respective node will be created and added to graph
All parameters are passed to STREAM_CAPTURE macro, it checks if stream in capture mode and redirects the call to the capture function and returns
Updated hipStream and hipEvent with capture parameters
Added handling for hipStreamBeginCapture & hipStreamEndCapture
Change-Id: Ic8926a7b4336c2cc81f0b3a9a224aa392c474134
Currently LiquidFlash cannot be supported from Github Enterprise,
hence we need to be able to build with out it.
Allow this by setting -DWITH_LIQUID_FLASH=0.
Change-Id: If59afe45c02a1623639360dbcc3927360f16ebd3
Fix wrong mixing of current device and stream device in
ihipModuleLaunchKernel() and hipLaunchCooperativeKernel().
Fix missing hipSetDevice() in hipMemcpyWithStream* tests.
Change-Id: I09333bb40d239bb42c832df5ea16d17eeaeff5e7
hipAddressModeClamp corresponds to CL_ADDRESS_CLAMP_TO_EDGE.
This change fixes incorrect sampling near texture edges.
https://github.com/ROCm-Developer-Tools/HIP/pull/2229
Change-Id: Ia2af9f3cb582a74af7b1f65bad1ed0310eab2628
If the width is 0, hipMemset2D or 3D APIs should return success
doing nothing
Change-Id: I97f8825d090a73ee63145e52d2b6d2cc0eddade3
Change-Id: I9d62fee70929ad0c79b947aa4cbbc8ab898fb64a
Early notification allows CPU command state to be processed earlier.
Otherwise state update will be delayed until the actual possible
wait.
Change-Id: I0e9d6c2ad88e3723eab2f6dc9a20f288f6c1ca0c
Addresses the scenarios when the size passed is more than
the allocated size and when the deviceid is invalid
Change-Id: I6c9b62639096f655ffb61976905b1ce8c5f51ee7
Change-Id: I8a0d660924a8e2300c517aba6f9088626b8f6ef5
For addMarker, assume T1 comes in first and enqueues a command C1.
Before T1 grabs the event_::lock_ it gets preempted. At this time,
T2 comes in, enqueues C2 and grabs the lock_ and updates event_. Now T1
wakes up and updates a older command C1 for the event.
Change-Id: Ia423782b23026302c40976385623cfdede32d70b
Add device_id_ in hip::event to match cuda behaviour in
hipEventQuery() and hipEventRecord().
Enable hipEventElapsedTime test on AMD platform.
Workarround sporadic crash of hipEventIpc test due to
some bug of event ipc.
Add missing hipEventDestroy() in some event tests.
Fix some logic code errors.
Fix typo in comment.
Change-Id: I9ec74c475161b3e31df48d193449023e921f2924
HIP assumes that image width is in bytes, but OCL/ROCclr assumes that
it's in pixels. AtoD/DtoA need to account for this.
Change-Id: I275bd41d8b03e141caaf951bc6b714e51ca72dfc