mirror of
https://github.com/RadeonOpenCompute/ROCm-docker.git
synced 2023-04-23 17:53:00 +03:00
Refactoring after ROCm 1.0 release
ROCm installation paths have changed, and the 1.0 release created a new installation heirarchy.
This commit is contained in:
@@ -24,17 +24,17 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ${rocr_volume}
|
- ${rocr_volume}
|
||||||
|
|
||||||
hcc-isa:
|
hcc-lc:
|
||||||
depends_on:
|
depends_on:
|
||||||
- rocr
|
- rocr
|
||||||
build:
|
build:
|
||||||
context: ./hcc-isa
|
context: ./hcc-lc
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
image: ${hcc_isa_name}
|
image: ${hcc_lc_name}
|
||||||
container_name: hcc-isa
|
container_name: hcc-lc
|
||||||
entrypoint: /bin/true
|
entrypoint: /bin/true
|
||||||
volumes:
|
volumes:
|
||||||
- ${hcc_volume}
|
- ${hcc_lc_volume}
|
||||||
|
|
||||||
hcc-hsail:
|
hcc-hsail:
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -46,7 +46,7 @@ services:
|
|||||||
container_name: hcc-hsail
|
container_name: hcc-hsail
|
||||||
entrypoint: /bin/true
|
entrypoint: /bin/true
|
||||||
volumes:
|
volumes:
|
||||||
- ${hcc_volume}
|
- ${hcc_hsail_volume}
|
||||||
|
|
||||||
# The following defines application containers, which depend on the data-only
|
# The following defines application containers, which depend on the data-only
|
||||||
# containers defiend above to provide their software layers
|
# containers defiend above to provide their software layers
|
||||||
@@ -64,7 +64,7 @@ services:
|
|||||||
volumes_from:
|
volumes_from:
|
||||||
- roct:ro
|
- roct:ro
|
||||||
- rocr:ro
|
- rocr:ro
|
||||||
- hcc-isa:ro
|
- hcc-lc:ro
|
||||||
|
|
||||||
rocm-project-hsail:
|
rocm-project-hsail:
|
||||||
build:
|
build:
|
||||||
|
|||||||
@@ -43,8 +43,8 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# App specific environment variables
|
# App specific environment variables
|
||||||
ENV HCC_INSTALL_PATH=${hcc_volume} HCC_BUILD_PATH=/usr/local/src/hcc-hsail
|
ENV HCC_BUILD_PATH=/usr/local/src/hcc-hsail
|
||||||
ENV PATH ${PATH}:${HCC_INSTALL_PATH}/bin
|
ENV PATH ${PATH}:${hcc_hsail_volume}/bin
|
||||||
|
|
||||||
# Build hcc, install to /usr/local
|
# Build hcc, install to /usr/local
|
||||||
RUN mkdir -p ${HCC_BUILD_PATH} && \
|
RUN mkdir -p ${HCC_BUILD_PATH} && \
|
||||||
@@ -52,17 +52,16 @@ RUN mkdir -p ${HCC_BUILD_PATH} && \
|
|||||||
git clone --depth=1 --branch=${repo_branch_hcc_hsail} https://github.com/RadeonOpenCompute/hcc.git ./ && \
|
git clone --depth=1 --branch=${repo_branch_hcc_hsail} https://github.com/RadeonOpenCompute/hcc.git ./ && \
|
||||||
mkdir -p build && \
|
mkdir -p build && \
|
||||||
cd build && \
|
cd build && \
|
||||||
|
ln -sr ${rocr_volume}/include ${rocr_volume}/include/hsa && \
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_INSTALL_PREFIX=${HCC_INSTALL_PATH} \
|
-DCMAKE_INSTALL_PREFIX=${hcc_hsail_volume} \
|
||||||
-DCMAKE_BUILD_TYPE=${build_config} \
|
-DCMAKE_BUILD_TYPE=${build_config} \
|
||||||
-DHSA_HEADER_DIR=${ROCR_INSTALL_PATH}/include \
|
-DROCM_ROOT=${rocr_volume} \
|
||||||
-DHSA_LIBRARY_DIR=${ROCR_INSTALL_PATH}/lib \
|
-DHSA_KMT_LIBRARY_DIR=${roct_volume}/lib/x86_64-linux-gnu \
|
||||||
-DHSA_KMT_LIBRARY_DIR=${HSATHK_INSTALL_PATH}/lib/x86_64-linux-gnu \
|
|
||||||
.. && \
|
.. && \
|
||||||
make -j $(nproc) world && \
|
make -j $(nproc) world && \
|
||||||
make install && \
|
make install && \
|
||||||
|
git log -n 3 > ${hcc_hsail_volume}/git-stamp.log && \
|
||||||
${hcc_hsail_cleanup} \
|
${hcc_hsail_cleanup} \
|
||||||
echo "${HCC_INSTALL_PATH}/lib" >> /etc/ld.so.conf.d/hcc.conf && \
|
echo "${hcc_hsail_volume}/lib" >> /etc/ld.so.conf.d/hcc.conf && \
|
||||||
ldconfig
|
ldconfig
|
||||||
|
|
||||||
COPY setenv-hcc.sh ${HCC_INSTALL_PATH}
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Build this dockerfile with `docker build -f hcc-isa-release-dockerfile -t roc/hcc .`
|
# Build this dockerfile with `docker build -f hcc-lc-release-dockerfile -t roc/hcc .`
|
||||||
|
|
||||||
# To reduce container rebuild time, place commands least likely to change at top to
|
# To reduce container rebuild time, place commands least likely to change at top to
|
||||||
# most changing at bottom
|
# most changing at bottom
|
||||||
@@ -34,24 +34,24 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# App specific environment variables; modify path to add hcc and repo commands
|
# App specific environment variables; modify path to add hcc and repo commands
|
||||||
ENV HCC_INSTALL_PATH=${hcc_volume} HCC_BUILD_PATH=/usr/local/src/hcc-isa
|
ENV HCC_BUILD_PATH=/usr/local/src/hcc-lc
|
||||||
ENV PATH=${PATH}:${HCC_INSTALL_PATH}/bin:~/bin
|
ENV PATH=${PATH}:${hcc_lc_volume}/bin:~/bin
|
||||||
|
|
||||||
# Compiling hcc-lc requires a custom build tool
|
# Compiling hcc-lc requires a custom build tool
|
||||||
RUN mkdir -p ~/bin && \
|
RUN mkdir -p ~/bin && \
|
||||||
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && \
|
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && \
|
||||||
chmod a+x ~/bin/repo
|
chmod a+x ~/bin/repo
|
||||||
|
|
||||||
# Build hcc-isa, install to /usr/local
|
# Build hcc-lc, install to /usr/local
|
||||||
RUN mkdir -p ${HCC_BUILD_PATH} && \
|
RUN mkdir -p ${HCC_BUILD_PATH} && \
|
||||||
cd ${HCC_BUILD_PATH} && \
|
cd ${HCC_BUILD_PATH} && \
|
||||||
~/bin/repo init --depth=1 -u https://github.com/RadeonOpenCompute/HCC-Native-GCN-ISA.git -b ${repo_branch_hcc_isa} && \
|
~/bin/repo init --depth=1 -u https://github.com/RadeonOpenCompute/HCC-Native-GCN-ISA.git -b ${repo_branch_hcc_lc} && \
|
||||||
~/bin/repo sync && \
|
~/bin/repo sync && \
|
||||||
cd llvm && \
|
cd llvm && \
|
||||||
mkdir -p build && \
|
mkdir -p build && \
|
||||||
cd build && \
|
cd build && \
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_INSTALL_PREFIX=${HCC_INSTALL_PATH} \
|
-DCMAKE_INSTALL_PREFIX=${hcc_lc_volume} \
|
||||||
-DCMAKE_BUILD_TYPE=${build_config} \
|
-DCMAKE_BUILD_TYPE=${build_config} \
|
||||||
-DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" .. && \
|
-DLLVM_TARGETS_TO_BUILD="AMDGPU;X86" .. && \
|
||||||
make -j $(nproc) install && \
|
make -j $(nproc) install && \
|
||||||
@@ -60,27 +60,27 @@ RUN mkdir -p ${HCC_BUILD_PATH} && \
|
|||||||
mkdir -p build && \
|
mkdir -p build && \
|
||||||
cd build && \
|
cd build && \
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_INSTALL_PREFIX=${HCC_INSTALL_PATH} \
|
-DCMAKE_INSTALL_PREFIX=${hcc_lc_volume} \
|
||||||
-DCMAKE_BUILD_TYPE=${build_config} \
|
-DCMAKE_BUILD_TYPE=${build_config} \
|
||||||
-DHSA_ROOT=${ROCR_INSTALL_PATH} \
|
-DHSA_ROOT=${rocr_volume} \
|
||||||
-DLLVM_DIR="${HCC_BUILD_PATH}/llvm/build" .. && \
|
-DLLVM_DIR="${HCC_BUILD_PATH}/llvm/build" .. && \
|
||||||
make -j $(nproc) install && \
|
make -j $(nproc) install && \
|
||||||
|
|
||||||
cd ../../hcc && \
|
cd ../../hcc && \
|
||||||
mkdir -p build && \
|
mkdir -p build && \
|
||||||
cd build && \
|
cd build && \
|
||||||
|
ln -sr ${rocr_volume}/include ${rocr_volume}/include/hsa && \
|
||||||
cmake \
|
cmake \
|
||||||
-DCMAKE_INSTALL_PREFIX=${HCC_INSTALL_PATH} \
|
-DCMAKE_INSTALL_PREFIX=${hcc_lc_volume} \
|
||||||
-DCMAKE_BUILD_TYPE=${build_config} \
|
-DCMAKE_BUILD_TYPE=${build_config} \
|
||||||
-DHSA_ROOT=${ROCR_INSTALL_PATH} \
|
-DROCM_ROOT=${rocr_volume} \
|
||||||
-DHSA_LLVM_BIN_DIR=${HCC_INSTALL_PATH}/bin \
|
-DHSA_LLVM_BIN_DIR=${hcc_lc_volume}/bin \
|
||||||
-DHSA_AMDGPU_GPU_TARGET=fiji \
|
-DHSA_AMDGPU_GPU_TARGET=fiji \
|
||||||
-DAMDPHDRS_DIR=${HCC_INSTALL_PATH}/bin \
|
-DAMDPHDRS_DIR=${hcc_lc_volume}/bin \
|
||||||
-DHSA_USE_AMDGPU_BACKEND=ON .. && \
|
-DHSA_USE_AMDGPU_BACKEND=ON .. && \
|
||||||
make -j $(nproc) world && \
|
make -j $(nproc) world && \
|
||||||
make install && \
|
make install && \
|
||||||
${hcc_isa_cleanup} \
|
git log -n 3 > ${hcc_lc_volume}/git-stamp.log && \
|
||||||
echo "${HCC_INSTALL_PATH}/lib" >> /etc/ld.so.conf.d/hcc-isa.conf && \
|
${hcc_lc_cleanup} \
|
||||||
|
echo "${hcc_lc_volume}/lib" >> /etc/ld.so.conf.d/hcc-lc.conf && \
|
||||||
ldconfig
|
ldconfig
|
||||||
|
|
||||||
COPY setenv-hcc.sh ${HCC_INSTALL_PATH}
|
|
||||||
32
roc-setup.sh
32
roc-setup.sh
@@ -68,16 +68,16 @@ done
|
|||||||
# hcc-hsail does not have a develop branch
|
# hcc-hsail does not have a develop branch
|
||||||
export repo_branch_hcc_hsail="master"
|
export repo_branch_hcc_hsail="master"
|
||||||
|
|
||||||
# hcc-isa conforms to a non git-flow naming scheme, 'master' changes the most
|
# hcc-lc conforms to a non git-flow naming scheme, 'master' changes the most
|
||||||
export repo_branch_hcc_isa=
|
export repo_branch_hcc_lc=
|
||||||
|
|
||||||
export repo_branch=
|
export repo_branch=
|
||||||
if [ -n "${build_master}" ]; then
|
if [ -n "${build_master}" ]; then
|
||||||
repo_branch="master"
|
repo_branch="master"
|
||||||
repo_branch_hcc_isa="testing"
|
repo_branch_hcc_lc="testing"
|
||||||
else
|
else
|
||||||
repo_branch="dev"
|
repo_branch="dev"
|
||||||
repo_branch_hcc_isa="master"
|
repo_branch_hcc_lc="master"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export build_config=
|
export build_config=
|
||||||
@@ -85,12 +85,12 @@ export build_config_roct=
|
|||||||
export roct_cleanup=
|
export roct_cleanup=
|
||||||
export rocr_cleanup=
|
export rocr_cleanup=
|
||||||
export hcc_hsail_cleanup=
|
export hcc_hsail_cleanup=
|
||||||
export hcc_isa_cleanup=
|
export hcc_lc_cleanup=
|
||||||
export rock_name=
|
export rock_name=
|
||||||
export roct_name=
|
export roct_name=
|
||||||
export rocr_name=
|
export rocr_name=
|
||||||
export hcc_hsail_name=
|
export hcc_hsail_name=
|
||||||
export hcc_isa_name=
|
export hcc_lc_name=
|
||||||
|
|
||||||
rocm_prefix="rocm/"
|
rocm_prefix="rocm/"
|
||||||
if [ -n "${build_release}" ]; then
|
if [ -n "${build_release}" ]; then
|
||||||
@@ -100,7 +100,7 @@ if [ -n "${build_release}" ]; then
|
|||||||
roct_name="${rocm_prefix}roct-${repo_branch}"
|
roct_name="${rocm_prefix}roct-${repo_branch}"
|
||||||
rocr_name="${rocm_prefix}rocr-${repo_branch}"
|
rocr_name="${rocm_prefix}rocr-${repo_branch}"
|
||||||
hcc_hsail_name="${rocm_prefix}hcc-hsail-${repo_branch_hcc_hsail}"
|
hcc_hsail_name="${rocm_prefix}hcc-hsail-${repo_branch_hcc_hsail}"
|
||||||
hcc_isa_name="${rocm_prefix}hcc-isa-${repo_branch_hcc_isa}"
|
hcc_lc_name="${rocm_prefix}hcc-lc-${repo_branch_hcc_lc}"
|
||||||
|
|
||||||
# Custom commands to clean up build directories for each component
|
# Custom commands to clean up build directories for each component
|
||||||
# This is to keep release images as small as possible
|
# This is to keep release images as small as possible
|
||||||
@@ -108,7 +108,7 @@ if [ -n "${build_release}" ]; then
|
|||||||
roct_cleanup='cd ~ && rm -rf ${HSATHK_BUILD_PATH} &&'
|
roct_cleanup='cd ~ && rm -rf ${HSATHK_BUILD_PATH} &&'
|
||||||
rocr_cleanup='cd ~ && rm -rf ${ROCR_BUILD_PATH} &&'
|
rocr_cleanup='cd ~ && rm -rf ${ROCR_BUILD_PATH} &&'
|
||||||
hcc_hsail_cleanup='cd ~ && rm -rf ${HCC_BUILD_PATH} &&'
|
hcc_hsail_cleanup='cd ~ && rm -rf ${HCC_BUILD_PATH} &&'
|
||||||
hcc_isa_cleanup='cd ~ && rm -rf ${HCC_BUILD_PATH} &&'
|
hcc_lc_cleanup='cd ~ && rm -rf ${HCC_BUILD_PATH} &&'
|
||||||
else
|
else
|
||||||
build_config='Debug'
|
build_config='Debug'
|
||||||
|
|
||||||
@@ -118,18 +118,20 @@ else
|
|||||||
roct_name="${rocm_prefix}roct-${repo_branch}-${build_config,}"
|
roct_name="${rocm_prefix}roct-${repo_branch}-${build_config,}"
|
||||||
rocr_name="${rocm_prefix}rocr-${repo_branch}-${build_config,}"
|
rocr_name="${rocm_prefix}rocr-${repo_branch}-${build_config,}"
|
||||||
hcc_hsail_name="${rocm_prefix}hcc-hsail-${repo_branch_hcc_hsail}-${build_config,}"
|
hcc_hsail_name="${rocm_prefix}hcc-hsail-${repo_branch_hcc_hsail}-${build_config,}"
|
||||||
hcc_isa_name="${rocm_prefix}hcc-isa-${repo_branch_hcc_isa}-${build_config,}"
|
hcc_lc_name="${rocm_prefix}hcc-lc-${repo_branch_hcc_lc}-${build_config,}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
export rock_volume='/opt/rocm/rock/'
|
||||||
export roct_volume='/opt/rocm/libhsakmt/'
|
export roct_volume='/opt/rocm/libhsakmt/'
|
||||||
export rocr_volume='/opt/rocm/hsa/'
|
export rocr_volume='/opt/rocm/hsa/'
|
||||||
export hcc_volume='/opt/rocm/hcc/'
|
export hcc_hsail_volume='/opt/rocm/hcc-hsail/'
|
||||||
|
export hcc_lc_volume='/opt/rocm/hcc-lc/'
|
||||||
|
|
||||||
# Uncomment below to print dockerfiles with template substitutions; debugging
|
# Uncomment below to print dockerfiles with template substitutions; debugging
|
||||||
cat rock/rock-deb-dockerfile.template | envsubst '${repo_branch}' > rock/Dockerfile
|
cat rock/rock-deb-dockerfile.template | envsubst '${repo_branch}:${rock_volume}' > rock/Dockerfile
|
||||||
cat roct/roct-thunk-dockerfile.template | envsubst '${rock_name}:${repo_branch}:${build_config_roct}:${roct_cleanup}:${roct_volume}' > roct/Dockerfile
|
cat roct/roct-thunk-dockerfile.template | envsubst '${rock_name}:${repo_branch}:${build_config_roct}:${roct_cleanup}:${roct_volume}' > roct/Dockerfile
|
||||||
cat rocr/rocr-make-dockerfile.template | envsubst '${roct_name}:${repo_branch}:${build_config}:${rocr_cleanup}:${rocr_volume}' > rocr/Dockerfile
|
cat rocr/rocr-make-dockerfile.template | envsubst '${roct_name}:${repo_branch}:${build_config}:${rocr_cleanup}:${roct_volume}:${rocr_volume}' > rocr/Dockerfile
|
||||||
cat hcc-hsail/hcc-hsail-dockerfile.template | envsubst '${rocr_name}:${repo_branch_hcc_hsail}:${build_config}:${hcc_hsail_cleanup}:${hcc_volume}' > hcc-hsail/Dockerfile
|
cat hcc-hsail/hcc-hsail-dockerfile.template | envsubst '${rocr_name}:${repo_branch_hcc_hsail}:${build_config}:${hcc_hsail_cleanup}:${roct_volume}:${rocr_volume}:${hcc_hsail_volume}' > hcc-hsail/Dockerfile
|
||||||
cat hcc-isa/hcc-isa-dockerfile.template | envsubst '${rocr_name}:${repo_branch_hcc_isa}:${build_config}:${hcc_isa_cleanup}:${hcc_volume}' > hcc-isa/Dockerfile
|
cat hcc-lc/hcc-lc-dockerfile.template | envsubst '${rocr_name}:${repo_branch_hcc_lc}:${build_config}:${hcc_lc_cleanup}:${roct_volume}:${rocr_volume}:${hcc_lc_volume}' > hcc-lc/Dockerfile
|
||||||
|
|
||||||
cat docker-compose.yml.template | envsubst '${hcc_isa_name}:${hcc_hsail_name}:${rocr_name}:${roct_name}:${hcc_volume}:${rocr_volume}:${roct_volume}' > docker-compose.yml
|
cat docker-compose.yml.template | envsubst '${hcc_lc_name}:${hcc_hsail_name}:${rocr_name}:${roct_name}:${hcc_hsail_volume}:${hcc_lc_volume}:${rocr_volume}:${roct_volume}' > docker-compose.yml
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
## ROCK-Kernel-Driver docker build context
|
|
||||||
This directory is the docker build context of the ROC kernel and kernel modules. Building the docker container will download, optionally build and install the linux kernel with the appropriate kernel modules enabled.
|
|
||||||
|
|
||||||
This dockerfile serves as an example, how-to, or as an isolated environment for kernel hackers, as build files and artifacts are isolated in the scope of the docker container.
|
|
||||||
|
|
||||||
### The host is not modified
|
|
||||||
---
|
|
||||||
| file | description |
|
|
||||||
|-----|-----|-----|
|
|
||||||
| *rock-deb-dockerfile* | `docker build -f rock-deb-dockerfile -t roc/rock .` |
|
|
||||||
| *rock-make-dockerfile* | `docker build -f rock-make-dockerfile -t roc/rock .` |
|
|
||||||
| *rock.config* | used to seed the kernel configuration step |
|
|
||||||
| *rock.config.diff* | what kernel options changed from the default generated .config |
|
|
||||||
|
|
||||||
All dockerfiles contain a dependency on the ubuntu-14.04 image. The `deb` dockerfile installs the kernel through packages contained in the repository. The `make` dockerfiles compile the code.
|
|
||||||
flags.
|
|
||||||
|
|
||||||
---
|
|
||||||
Once the docker image has been built, you can run a shell inside of the container with:
|
|
||||||
|
|
||||||
`docker run -it --rm roc/rock`
|
|
||||||
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
# This kfd has only been tested so far on linux-headers-generic-lts-vivid
|
# This kfd has only been tested so far on linux-headers-generic-lts-vivid
|
||||||
# ubuntu:14.04.3, the native kernel is '3.19'
|
# ubuntu:14.04.3, the native kernel is '3.19'
|
||||||
FROM ubuntu:14.04.3
|
FROM ubuntu:14.04
|
||||||
MAINTAINER Kent Knox <kent.knox@amd>
|
MAINTAINER Kent Knox <kent.knox@amd>
|
||||||
|
|
||||||
# Constant environment variables
|
# Constant environment variables
|
||||||
@@ -39,5 +39,6 @@ RUN mkdir -p ${ROCK_BUILD_PATH} && \
|
|||||||
git checkout ${repo_branch} -- packages/ubuntu && \
|
git checkout ${repo_branch} -- packages/ubuntu && \
|
||||||
DEBIAN_FRONTEND=noninteractive dpkg -i packages/ubuntu/compute-*.deb && \
|
DEBIAN_FRONTEND=noninteractive dpkg -i packages/ubuntu/compute-*.deb && \
|
||||||
DEBIAN_FRONTEND=noninteractive dpkg -i packages/ubuntu/linux-*.deb && \
|
DEBIAN_FRONTEND=noninteractive dpkg -i packages/ubuntu/linux-*.deb && \
|
||||||
|
git log -n 3 > ${rock_volume}/git-stamp.log && \
|
||||||
cd ~ && rm -rf ${ROCK_BUILD_PATH} && \
|
cd ~ && rm -rf ${ROCK_BUILD_PATH} && \
|
||||||
echo "KERNEL==\"kfd\", MODE=\"0666\"" | sudo tee /etc/udev/rules.d/kfd.rules
|
echo "KERNEL==\"kfd\", MODE=\"0666\"" | sudo tee /etc/udev/rules.d/kfd.rules
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# App specific environment variables
|
# App specific environment variables
|
||||||
ENV ROCR_INSTALL_PATH=${rocr_volume} ROCR_BUILD_PATH=/usr/local/src/ROCR-Runtime/
|
ENV ROCR_BUILD_PATH=/usr/local/src/ROCR-Runtime/
|
||||||
|
|
||||||
# Configure, build and install the runtime
|
# Configure, build and install the runtime
|
||||||
# HSAIL based tools need the finalizer libraries, provided in the included deb file
|
# HSAIL based tools need the finalizer libraries, provided in the included deb file
|
||||||
@@ -38,19 +38,17 @@ ENV ROCR_INSTALL_PATH=${rocr_volume} ROCR_BUILD_PATH=/usr/local/src/ROCR-Runtime
|
|||||||
RUN mkdir -p ${ROCR_BUILD_PATH} && \
|
RUN mkdir -p ${ROCR_BUILD_PATH} && \
|
||||||
cd ${ROCR_BUILD_PATH} && \
|
cd ${ROCR_BUILD_PATH} && \
|
||||||
git clone --depth=1 --branch=${repo_branch} https://github.com/RadeonOpenCompute/ROCR-Runtime.git ./ && \
|
git clone --depth=1 --branch=${repo_branch} https://github.com/RadeonOpenCompute/ROCR-Runtime.git ./ && \
|
||||||
dpkg --fsys-tarfile packages/ubuntu/*.deb | tar -xf - -C / --wildcards *.so* --exclude=libhsa-runtime64* && \
|
|
||||||
mkdir -p build && \
|
mkdir -p build && \
|
||||||
cd build && \
|
cd build && \
|
||||||
cmake \
|
cmake \
|
||||||
-DHSATHK_BUILD_INC_PATH=${HSATHK_INSTALL_PATH}/include \
|
-DHSATHK_BUILD_INC_PATH=${roct_volume}/include \
|
||||||
-DHSATHK_BUILD_LIB_PATH=${HSATHK_INSTALL_PATH}/lib/x86_64-linux-gnu \
|
-DHSATHK_BUILD_LIB_PATH=${roct_volume}/lib/x86_64-linux-gnu \
|
||||||
-DCMAKE_INSTALL_PREFIX=${ROCR_INSTALL_PATH} \
|
-DCMAKE_INSTALL_PREFIX=${rocr_volume} \
|
||||||
-DCMAKE_BUILD_TYPE=${build_config} \
|
-DCMAKE_BUILD_TYPE=${build_config} \
|
||||||
../src && \
|
../src && \
|
||||||
make -j $(nproc) install && \
|
make -j $(nproc) install && \
|
||||||
cp -r ../src/inc ${ROCR_INSTALL_PATH}/include && \
|
cp -r ../src/inc ${rocr_volume}/include && \
|
||||||
|
git log -n 3 > ${rocr_volume}/git-stamp.log && \
|
||||||
${rocr_cleanup} \
|
${rocr_cleanup} \
|
||||||
echo "${ROCR_INSTALL_PATH}lib" >> /etc/ld.so.conf.d/rocr.conf && \
|
echo "${rocr_volume}lib" >> /etc/ld.so.conf.d/hsa-rocr-dev.conf && \
|
||||||
ldconfig
|
ldconfig
|
||||||
|
|
||||||
COPY setenv-rocr.sh ${ROCR_INSTALL_PATH}
|
|
||||||
|
|||||||
@@ -27,16 +27,18 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
|
|||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# App specific environment variables
|
# App specific environment variables
|
||||||
ENV HSATHK_INSTALL_PATH=${roct_volume} HSATHK_BUILD_PATH=/usr/local/src/ROCT-Thunk-Interface
|
ENV HSATHK_BUILD_PATH=/usr/local/src/ROCT-Thunk-Interface
|
||||||
|
|
||||||
COPY setenv-roct.sh ${HSATHK_INSTALL_PATH}
|
COPY setenv-roct.sh ${roct_volume}
|
||||||
|
|
||||||
RUN mkdir -p ${HSATHK_BUILD_PATH} && \
|
RUN mkdir -p ${HSATHK_BUILD_PATH} && \
|
||||||
cd ${HSATHK_BUILD_PATH} && \
|
cd ${HSATHK_BUILD_PATH} && \
|
||||||
git clone --depth=1 --branch=${repo_branch} https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git ./ && \
|
git clone --depth=1 --branch=${repo_branch} https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git ./ && \
|
||||||
make -j $(nproc) ${build_config_roct} all deb && \
|
make -j $(nproc) ${build_config_roct} all deb && \
|
||||||
mkdir -p ${HSATHK_INSTALL_PATH}/lib/x86_64-linux-gnu && \
|
mkdir -p ${roct_volume}/lib/x86_64-linux-gnu && \
|
||||||
cp -a include/ ${HSATHK_INSTALL_PATH} && \
|
cp -a include/ ${roct_volume} && \
|
||||||
cp -a build/lnx64a/lib*.so* ${HSATHK_INSTALL_PATH}/lib/x86_64-linux-gnu && \
|
cp -a build/lnx64a/lib*.so* ${roct_volume}/lib/x86_64-linux-gnu && \
|
||||||
|
git log -n 3 > ${roct_volume}/git-stamp.log && \
|
||||||
${roct_cleanup} \
|
${roct_cleanup} \
|
||||||
${HSATHK_INSTALL_PATH}/setenv-roct.sh
|
echo "${roct_volume}lib/x86_64-linux-gnu" >> /etc/ld.so.conf.d/x86_64-libhsakmt.conf && \
|
||||||
|
ldconfig
|
||||||
|
|||||||
Reference in New Issue
Block a user