diff --git a/projects/rocprofiler-compute/README.md b/projects/rocprofiler-compute/README.md index b7ed73b217..f913e5ad47 100644 --- a/projects/rocprofiler-compute/README.md +++ b/projects/rocprofiler-compute/README.md @@ -38,8 +38,8 @@ python3 -m pip install -r requirements.txt ## Testing -Populate the variable in `docker/docker-compose.customrocmtest.yml`. -Populate the variable in `docker/Dockerfile.customrocmtest` based on latest ROCm CI build information. +Populate the variable in `docker/docker-compose.customrocmtest.yml`. +Populate the variable in `docker/Dockerfile.customrocmtest` based on latest TheRock nightly build information. To quickly get the environment (bash shell) for building and testing, run the following commands: * `cd docker` diff --git a/projects/rocprofiler-compute/docker/Dockerfile.customrocmtest b/projects/rocprofiler-compute/docker/Dockerfile.customrocmtest index 47ec351559..020f8b0e4c 100644 --- a/projects/rocprofiler-compute/docker/Dockerfile.customrocmtest +++ b/projects/rocprofiler-compute/docker/Dockerfile.customrocmtest @@ -1,32 +1,52 @@ # Use a base image -FROM +FROM ubuntu:22.04 -# Set the working directory -WORKDIR /app +# Install curl first (needed for ROCm download) +RUN apt-get update && apt-get install -y curl + +# Define the tarball name as a variable +# Check https://therock-nightly-tarball.s3.amazonaws.com/index.html for latest builds +# Use therock-dist-linux-gfx-dcgpu-.tar.gz naming convention +ARG TARBALL_NAME= + +# Install ROCm from TheRock Nightly build +RUN mkdir -p /rocm && \ + curl -fLO https://therock-nightly-tarball.s3.amazonaws.com/${TARBALL_NAME} && \ + tar -xf ${TARBALL_NAME} -C /rocm && \ + rm ${TARBALL_NAME} + +# Set environment variables for ROCm +ENV PATH="/rocm/bin:${PATH}" \ + ROCM_PATH="/rocm" \ + LD_LIBRARY_PATH="/rocm/lib:/rocm/lib/rocm_sysdeps/lib:${LD_LIBRARY_PATH}" \ + HIP_DEVICE_LIB_PATH="/rocm/llvm/amdgcn/bitcode" \ + HIP_PLATFORM=amd # Update package list and install prerequisites RUN apt-get update && apt-get install -y \ - software-properties-common cmake locales git curl \ + software-properties-common cmake locales git \ && add-apt-repository ppa:deadsnakes/ppa \ && apt-get update -# Allows running git commands in /app -RUN git config --global --add safe.directory /app - # Generate the desired locale RUN locale-gen en_US.UTF-8 # Install Python 3.10 and pip RUN apt-get install -y python3.10 python3.10-venv python3.10-dev python3-pip libsqlite3-dev -RUN python3.10 -m venv venv -ENV PATH="venv/bin:$PATH" +RUN python3.10 -m venv /venv +ENV PATH="/venv/bin:$PATH" RUN python -m pip install --upgrade pip -# Install any dependencies specified in requirements.txt -WORKDIR /app/projects/rocprofiler-compute +# Install any rocprofiler-compute dependencies specified in requirements.txt COPY projects/rocprofiler-compute/requirements.txt /app/projects/rocprofiler-compute/requirements.txt COPY projects/rocprofiler-compute/requirements-test.txt /app/projects/rocprofiler-compute/requirements-test.txt -RUN python -m pip install -r requirements.txt -r requirements-test.txt +RUN python -m pip install -r /app/projects/rocprofiler-compute/requirements.txt -r /app/projects/rocprofiler-compute/requirements-test.txt + +# Set the working directory +WORKDIR /app + +# Allows running git commands in /app +RUN git config --global --add safe.directory /app # Run interactive bash shell CMD ["/bin/bash"]