Change the scope of hostcall buffer access lock during destruction.
Make sure wait() returns the signal value after timeout. That
matches ROCr behaviour for HSA signal wait.
Change-Id: I3df34207e0c2e21972ec8052777e5742bda1dca0
[ROCm/clr commit: 9a9d10a10b]
Implementation to use a blit kernel to perform
a hipStreamWait/write instead of an AQL packet.
Change-Id: I462671ed5cec37144dfe97ff66439249196117c1
[ROCm/clr commit: cbb8d82bdb]
Implementation to use a blit kernel to perform
a hipStreamWait instead of an AQL packet.
Change-Id: I9d9bc1dd793c1454e91e68afb793460749e10d2e
[ROCm/clr commit: 4177d20877]
As part of the stack unification some of the application using
opencl seem to depend on libopencl.so provided from thirdparty
providers. For libopencl.so from thirdparty provider to find
libamdocl.so ldconfig path to {opencl install path}/lib is required
Change-Id: I8e12e463209a44177ee433644c75ef0781f1da2f
[ROCm/clr commit: b4b83e274e]
ATI_OS_WIN -> _WIN32
ATI_OS_LINUX -> __linux__
We should not rely on non-standard macros for platform detections.
Change-Id: If1d06e2e1187268df62a59609ea5496ab7eb709d
[ROCm/clr commit: c4aa6febe5]
The OCL_ICD_FILENAMES env var contains a list of OpenCL platforms that
the ICD should prepend to the list of reported platforms. Since the
built amdocl library will show up as the first platform, we can tell
ocltst to always run with platform 0. This way we guarantee that the
correct binary is being loaded.
Using this env var also makes programming LD_LIBRARY_PATH redundant
for Linux.
Change-Id: I8c1729e8b4dd1cd2df1a3da08c7b7addebd08b4f
[ROCm/clr commit: 6c9b07370c]
optind's starting value is 1 and it needs to be reset to 1 after each
getopt() invocation. Resetting it to 0 will cause getopt() to
reinitialize its internal state. This is only needed for some corner
cases. In our current usage, we should be resetting it to 1.
Change-Id: I68da7e41ee8b83b275e2a7bd660c13af569769f1
[ROCm/clr commit: 3d82092632]
info_.extensions_ and settings_ are deleted at amd::Device()::~Device().
Change-Id: I06f240a42e5c131dbd4e61a759f905bcdf84b45a
[ROCm/clr commit: f212fc91ca]
Cache coherency layer is OCL feature to support multiple devices in
single OCL context.
Change-Id: Ic66df9551fad5b0c4df95ab3e1db1da259919f25
[ROCm/clr commit: 6da9d18140]
clinfo should rely on OpenCL interface, headere file and library only
Change-Id: I8e09aa73b55f1a28c2e4403f52740803d0338c12
[ROCm/clr commit: 19ca123460]
The queue can be destroyed at the time the app will request
the event status. Hence just get the active state from the device.
Change-Id: I887ecb0cfe414c2119247228b0d1255b8308da1e
[ROCm/clr commit: f116959b54]
When unsetting runtime should use HSA_AMD_SVM_ATTRIB_AGENT_ACCESSIBLE
for the agent and not HSA_AMD_SVM_ATTRIB_AGENT_ACCESSIBLE_IN_PLACE
Change-Id: I3814802d1fb3b72c54e7566defafafed6b0d5cee
[ROCm/clr commit: d8a86e4870]
The original logic left only one slot for HW processing in the queue.
For some reason there is a race condition on CPU overwrite of the slot
before the current active. The workaround is to avoid the previous to
the current active slot for possible unfinished HW processing.
Change-Id: I565495a8feeaedffc9fc8a505edbee5ff5816975
[ROCm/clr commit: 65ddfcc6a8]
hipGetLastError/hipPeekAtLastError should really return the last error
produced by any of the runtime calls that did not successfuly complete,
not just the error code of the last runtime call.
For example, in this snippet of code:
1: hipLaunchKernelGGL(MyKernel, dim3(2), dim3(128), 0, 0, 10000,x);
2: hipDeviceSynchronize();
3: hipError_t error = hipGetLastError();
If the call to hipLaunchKernelGGL fails, hipDeviceSynchronize (which
succeeds) should not reset the last error to hipSuccess. hipGetLastError
should still return the non-success error code returned by
hipLaunchKernelGGL.
The last error is reset to hipSuccess after calling hipGetLastError.
Change-Id: Ib7c039067c53c94c99c8ecd83f54212bcef06f81
[ROCm/clr commit: 3dc47bc839]
HIP_RETURN(x) is not a value, it is a statement ending with a return,
this commit replaces all instances of "return HIP_RETURN(x)" with simply
"HIP_RETURN(x)"
Change-Id: I03293b2684a65367ff55e02b3a71ea49ec7a517a
[ROCm/clr commit: 3911184607]