Dateien
rocm-systems/rocclr
Freddy Paul 6b8ae3dd77 Align to new hsa cmake target usage.
HIP or any ROCm component above HIP may not be calling
hsa-runtime directly. OpenCl and HIP are the two components
calling ROCclr and to bring in the transitive dependency of
thunk,ROCR,amd_comgr it is better to have the dependency
chain set correctly in the ROCclr cmake target. With this
change OpenCl or HIP should not be setting ROCR dependency
directly.

This helps to link OpenCl(libamdocl.so) link statically with
comgr,hsa,thunk.

Change-Id: I0d538b7abc6a0ce700ec3332b97fc144db5fc5ff
2020-07-22 11:21:09 -04:00
..
2020-07-16 09:36:26 -04:00
2020-02-18 11:09:50 -05: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.