Files
rocm-systems/rocclr
German Andryeyev d9397590de Add option to skip AQL barrier
The change reuses HSA signals for dispatches as a wait signal.
Skipping the barrier requires to  disable L2 cache for sysmem
allocations and extra tracking for HDP access with the large bar.
ROC_BARRIER_SYNC=0 activates the new logic. Barrier sync is
still used by default.
ROC_ACTIVE_WAIT=1 enables unconditional active wait in ROCr.
The change also consolidated ROCr wait logic under single function.

Change-Id: I6bd1be30aa88258da1b1f9de319ef5a45852afd8
2020-10-06 08:37:12 -04:00
..
2020-10-06 08:37:12 -04:00
2020-09-09 14:55:29 -04:00
2020-09-21 11:52:01 -04:00
2020-09-12 20:16:09 -04:00
2020-10-06 08:37:12 -04:00
2020-02-18 11:09:50 -05:00
2020-09-09 10:55:35 -04:00
2020-04-20 16:12:32 -04:00
2020-05-30 01:26:03 -04:00

ROCclr - Radeon Open Compute Common Language Runtime

ROCclr is a virtual device interface that compute runtimes interact with to different backends such as ROCr or PAL This abstraction allows runtimes to work on Windows as well as on Linux without much effort.

Repository branches

The repository maintains several branches. The branches that are of importance are:

  • master: This is the default branch.

Building

Prerequisites

Getting the source code

git clone https://github.com/ROCm-Developer-Tools/ROCclr.git
git clone -b master-next https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git

Set the environment variables

export ROCclr_DIR="$(readlink -f ROCclr)"
export OPENCL_DIR="$(readlink -f ROCm-OpenCL-Runtime)"

Build ROCclr

Here is command to build ROCclr:

cd "$ROCclr_DIR"
mkdir -p build; cd build
cmake -DOPENCL_DIR="$OPENCL_DIR" -DCMAKE_INSTALL_PREFIX=/opt/rocm/rocclr ..
make -j$(nproc)

Optional steps to build HIP runtime

Enter the directory where git cloned the ROCClr and OpenCL. Run the following commands:

git clone -b master-next https://github.com/ROCm-Developer-Tools/HIP.git
export HIP_DIR="$(readlink -f HIP)"
cd "$HIP_DIR"
mkdir -p build; cd build
cmake -DHIP_COMPILER=clang -DHIP_PLATFORM=rocclr -DCMAKE_PREFIX_PATH="$ROCclr_DIR/build" ..
make -j$(nproc)

Release build

For release build, add "-DCMAKE_BUILD_TYPE=Release" to the cmake command line.