* SWDEV-520352 - Remove HostThread and legacy monitor
Remove HostThread, semaphore and legacy monitor.
Make original logics of thread and command queue stricker.
Add more comments to make logics clearer.
Some other minor improvement.
Also part of SWDEV-458943.
- Header files inside rocclr/utils when included from hipamd or opencl should be included as #include "rocclr/utils/xxx.h" instead of "utils/xxx.h"
Change-Id: Ic0760c33b9d091f5620dec67e5482c9698d22093
1. Fix LDSSize type to be uint32_t.
2. Prevent clWaitForEvents running on complete events whose
HostQueue have been destructed.
Change-Id: I829e915f56b37db2ba76bb876c9656166534f154
Updating field num_mip_levels to better align with OpenCL specification that mip-mapped images can not be created for CL_MEM_OBJECT_IMAGE1D_BUFFER images. Added check for miplevels value used for ClCreateImage call.
Change-Id: I82a25b83ef0637a877409572b7976d9e4413dfac
When CL-GL interop is used, a GL context are used by two or more threads at the same time, which causes race condition.
Solution:
Add lock when accessing GL functions during CL-GL interop.
Change-Id: I3a34da3cbdf74c401111cc4e3a04ad84cc52709e
- Create a vector to allow multiple TS to be stored in Command.
- This would mean we dont wait for entire batch in Accumulate command
to finish when we exhaust signals.
- Reduce the number of signals created at init to 64. This min value
may still need to be tuned but the KFD allows max of 4094 interrupt
signals per device.
- Store kernel names whenever they are available and not just when
profiling. If we dynamically enable profiling like for Torch, a crash
can happen if hipGraphInstantiate wasnt included in Torch profile scope
beacuse we previously entered kernel names only when profiler is
attached.
Change-Id: I34e7881a25bbc763f82fdeb3408a8ea58e1ec006
This header file is used by ROCclr and might be used by HIP too.
ROCclr folder is a right place for this header file.
Change-Id: Ie2307331f9bd445f3c295d2ccbfc4924b0fa9510
The extension was devloped for AMDIL path only.
OCL runtime doesn't support AMDIL path anymore.
The new debugger interfaces don't require any runtime calls either.
Change-Id: I6215545f9b6ae5c70b5f076c3cbfbfd3b5eef42b
This looks unused. This should allow building rocm-opencl without any
dependency on any particular OCL ICD.
Signed-off-by: Jeremy Newton <Jeremy.Newton@amd.com>
Change-Id: Ib9229ede8400fd0e883275659ab99513b03952cb
ATI_OS_WIN -> _WIN32
ATI_OS_LINUX -> __linux__
We should not rely on non-standard macros for platform detections.
Change-Id: If1d06e2e1187268df62a59609ea5496ab7eb709d
-Bsymbolic is required to make sure all AMD OpenCL runtime symbols are
resolved internally, otherwise ld might resolve them using symbols from
the OpenCL ICD. This will cause incorrect functions to be called.
Change-Id: I4ca0326a574ee2e537525bfda96ec20fabfe0158
Some CI systems have a somewhat out of date version of cmake, which
does not have this functionality. Fall back to using
target_link_libraries() instead.
Change-Id: I2410b24bcb6f1be2c2c3303ccd0019b10c914d2e
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 amdocl.def file is being added. The
amdocl.def.in file will be removed later, as the Makefile build still
uses it.
Change-Id: I33a4151af0257d56d46cd27cbd028b34b77b706b