Reduce the size of the queueLock and lastCmdLock critical sections
to improve lock contention performance. The smaller the critical
sections are the better.
lasCmdLock is still needed to guarantee that getLastEnqueueCommand_
can retain the command before it is swapped out and released.
Change-Id: Id35d4a77c035b2da0de4c15568b153d49e958bb7
[ROCm/clr commit: 080dcfe857]
This reverts commit 6443ff4197.
Reason for revert: All the PSDBs on the CI are failing with the below error and its been root caused to this commit:
......................................................................................... Passed 0.59 sec 99% tests passed, 1 tests
failed out of 211 Total Test time (real) = 287.02 sec The following tests FAILED: 139 - directed_tests/runtimeApi/memory/hipMemcpyNegativeMThrdMSize_Negative_tests.tst
(Child aborted) Errors while running CTest Restoring clocks to: auto
Change-Id: I4ea0e14ba5f92cd61677f4a3b9482fea00902310
[ROCm/clr commit: f2d9d83a7c]
Replace constexpr with const in kernel source
codes because some kernel compiler doesn't
support constexpr.
Replace scheduler with __amd_rocclr_scheduler
due to name change.
Change-Id: I1ad4ddcdf1df5237b83e1ea2447eb39a19f7dc4a
[ROCm/clr commit: 9c5465f9e1]
getLastQueuedCommand(true) will implictly retain the last command, hence if we're not putting it in the waitlist, we should release it.
Change-Id: I1ad4ddcdf1df5237b83e1ea2447eb39a59f7dc3a
[ROCm/clr commit: 9998067174]
When header==0, the legitimate packet->header is wiped out, so also add an assert.
Change-Id: I6b3037d4618719262b0d7c1792bd54f768a63660
[ROCm/clr commit: 19d1497fa2]
root cause - cooperative queue is not inserted into queuePool_ (HSA queues) of ROC device calss causing a crash when creating hostcall buffers for printf
Change-Id: I3f9aceb4e5fe6a7c7a2a549a4bb0a3511fe02799
[ROCm/clr commit: d2b9d267b2]
There is no synchronize with relationship between the monitor micro-
lock and the onDeck microlock, so it is possible for an onDeck.load to
move above a contendersList.store, or a contendersList.load to move
above an ondeck.store.
To fix this issue a full memory fence (mm_mfence on x86) is needed
after the last store in the contendersList and onDeck critical regions.
Change-Id: I5beb7dfe0d21010c5bf00cd65d59b9c7af58e919
[ROCm/clr commit: f10435a1ef]
On teamcity clang --version returns something like
clang version 12.0.0
Target: x86_64-unknown-linux-gnu
currently hipcc does not handle it correctly since [^ ] causes new line and Targe:
matched. \S will make sure only version string matched.
Change-Id: I3659d6daf89b709d2b001e6b8024d69d8b79efc0
[ROCm/clr commit: 5e5fb829ed]
APIs tested: hipMemcpy, hipMemcpyAsync, hipMemcpyHtoD, hipMemcpyHtoDAsync
hipMemcpyDtoH, hipMemcpyDtoHAsync, hipMemcpyDtoD,
hipMemcpyDtoDAsync
-Scenario-1:: The aim of this test case is to cover all the negative test cases
for 8 hipMemcpy apis
-Scenario-2:: This test launches NUM_THREADS threads. Each thread in turn tests
the working of 8 hipmemcpy apis
-Scenario-3:: This test case verifies the working of Memcpy apis for range of
Memory sizes from smallest one unit transfer to 1GB.
SWDEV-238517 for enhancing hip unit tests
Change-Id: Iace19cc54e865fae8450448d6f37abed88597f19
[ROCm/clr commit: becc687747]
With recent changes in ROCclr to take HSA cmake target it require
HIP to have CMAKE_PREFIX_PATH added for install location for HSA,
amd_comgr,llvm.
User can provide CMAKE_PREFIX_PATH if above
packages are built/installed at custom location as:
cmake -DCMAKE_PREFIX_PATH="<path_hsa> <path_amd_comgr> <path_llvm>"
For default ROCm installation adding a default path will help.
Change-Id: Iefa443dc198da76b57422a641c9821c63cde4922
[ROCm/clr commit: 95729c31e8]