Skip to main content

G-Watch is a toolbox for GPU profiling and program analysis.

Project description

G-Watch

G-Watch is a toolbox for GPU profiling and program analysis. It features rich Profiling capabilities on both NVIDIA and AMD GPUs. Additionally, G-Watch offers Program Analysis tools for inspecting compiler-generated GPU binaries, facilitating secondary development tasks such as register analysis and binary instrumentation.

Features

We would release guidance for using G-Watch soon, currently please take refer to examples

Installation

Install from package

You can install G-Watch directly from PyPI:

# prerequisites for gwatch
apt-get update
apt-get install -y  python3 python3-pip libelf-dev protobuf-compiler libwebsockets-dev libnuma-dev
# install from PyPI source
pip install gwatch==0.0.2

Install from source [CUDA]

  1. Clone this repository

    git clone --recursive https://github.com/G-Watch/G-Watch-dev.git
    
  2. Start official nvidia container for building and testing

    cd scripts/docker
    bash run_cuda_12_8.sh -s 1  # start and enter a container with id 1
    
    # don't need to run, just noted here
    bash run_cuda_12_8.sh -e 1  # enter a container with id 1
    bash run_cuda_12_8.sh -c 1  # close and remove a container with id 1
    
  3. Install prerequisites

    # inside the container
    apt-get update
    apt-get install -y  git pkg-config python3 python3-pip cmake meson build-essential libeigen3-dev \
                        python3-dev wget libelf-dev libwebsockets-dev libnuma-dev protobuf-compiler \
                        gdb curl libcurl4-openssl-dev xxd libdwarf-dev python-is-python3
    pip3 install perfetto PyYAML tqdm pyyaml packaging loguru PrettyTable matplotlib pandas ninja==1.11.1.3 --break-system-packages
    
    # for most of our test workloads, we use PyTorch, so it's recommended to install torch as well
    # https://pytorch.org/get-started/locally/
    pip3 install torch torchvision torchaudio --break-system-packages
    
  4. Build and install python package from source

    # inside the container
    cd /root
    
    python3 setup.py clean  
    
    # build and install gwatch
    python3 setup.py install
    

Install from source [ROCm]

  1. Clone this repository

    git clone --recursive https://github.com/G-Watch/G-Watch-dev.git
    
  2. Start official nvidia container for building and testing

    cd scripts/docker
    bash run_rocm_7_2.sh -s 1  # start and enter a container with id 1
    
    # don't need to run, just noted here
    bash run_rocm_7_2.sh -e 1  # enter a container with id 1
    bash run_rocm_7_2.sh -c 1  # close and remove a container with id 1
    
  3. Install prerequisites

    # inside the container
    apt-get update
    apt-get install -y  git pkg-config python3 python3-pip cmake meson build-essential libeigen3-dev \
                        python3-dev wget libelf-dev libwebsockets-dev libnuma-dev protobuf-compiler \
                        gdb curl libcurl4-openssl-dev xxd libdwarf-dev python-is-python3 libdw-dev libsqlite3-dev
    pip3 install perfetto PyYAML tqdm pyyaml packaging loguru PrettyTable matplotlib pandas ninja==1.11.1.3 --break-system-packages
    
    # for most of our test workloads, we use PyTorch, so it's recommended to install torch as well
    # https://pytorch.org/get-started/locally/
    pip3 install torch torchvision --index-url https://download.pytorch.org/whl/rocm7.1
    
  4. Build and install python package from source

    # inside the container
    cd /root
    
    python3 setup.py clean  
    
    # build and install gwatch
    python3 setup.py install
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gwatch_cu128-0.0.3-cp312-cp312-manylinux_2_34_x86_64.whl (75.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

File details

Details for the file gwatch_cu128-0.0.3-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for gwatch_cu128-0.0.3-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 03b6a6dd1a561789c2010c0c2e59a74ca18a52899aff661f532d1bb27e4451a6
MD5 f2e6445bf7a750b8deb09ae35766c4d2
BLAKE2b-256 d3b1b606f16041471d738c04329b835625647f36375c604ee274a07f78752f4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page