Skip to content

Docker Images and Usage

Yehia Arafa edited this page Mar 21, 2022 · 11 revisions

Welcome to the PPT-GPU docker wiki!

There are two types of images:

  1. traces, to extract/collect the instructions traces
  2. simulation, to run the PPT-GPU on the extracted traces

Trace extraction

We are still working on the LLVM image for PTX trace extraction. The below is for SASS/memory traces only using the tracing_tool

  1. pull the image with the correct Cuda version you want to use (currently, we support Cuda 11.0 and 10.2 versions)

    docker pull yarafa/ppt-gpu:traces-cuda11.0
    
  2. Build the tracing_tool using docker

    a. Navigate to the tracing_tool directory

    cd PPT-GPU/tracing_tool
    

    b.

    • Set ARCH variable in the Makefile to point to the underlying GPU architecture correctly
    • Set NVCC_VER_REQ variable in the Makefile to point to the nvcc version
      • if using yarafa/ppt-gpu:traces-cuda11.0 image --> NVCC_VER_REQ=11.0
      • if using yarafa/ppt-gpu:traces-cuda10.2 image --> NVCC_VER_REQ=10.2

    c. Build the tool

    UUID=$(id -u) GID=$(id -g) ; docker run --user $UUID:$GID --rm -v $(pwd):/docker/tool/tracing_tool -w /docker/tool/tracing_tool yarafa/ppt-gpu:traces-cuda11.0 make                           
    
  3. Follow the instructions in ppt-gpu-trace-extraction.sh script to extract and collect the traces for any GPU application. The script is simple. It accepts the app/workload executable path, PPT-GPU tool path, and the docker image as arguments and extracts the traces for you.

    ppt-gpu-trace-extraction.sh --help
    

Simulations

  1. pull the simulation-latest image. The image has the correct MPICH installed along with other dependencies

    docker pull yarafa/ppt-gpu:simulation-latest