Skip to content
Christopher Liu edited this page Sep 24, 2021 · 3 revisions

Welcome to the heterogeneous compute wiki!

About

We are investigating running a heterogeneous configuration of kernels on different portions of a graph to accelerate computing. Quite the mouthful!

Getting Started

Cloning This Repo

This project has a couple of dependencies, namely Professor Scott Beamer's GAP Benchmark Suite. To clone this repo, use this command.

git clone --recurse-submodules git@github.com:chrisliu/hetero-compute.git

If you've already cloned this repo without --recurse-submodules, don't worry! Just run this in the project directory.

git submodule update --init --recursive

Workflow

From getting a graph to an optimized kernel.

  1. Generate/Convert graph into serial graph .sg or weighted serial graph .wsg for BFS and SSSP respectively.
    • Expected Input: Kronecker graph parameters or existing graph.
    • Expected Output: serial graph .sg (all edge weights are 1) or weighted serial graph .wsg (edges have defined weights).
    • More info in graph_info.
  2. Get benchmark results for each segment (and each epoch for BFS).
    • Expected Input: serial graph .sg or weighted serial graph .wsg.
    • Expected Output: profiles for each device for each kernel in .yaml format.
    • More info in benchmarking.
  3. Create a heterogeneous kernel based on the benchmark results.
    • Expected Input: profiles for each device for each kernel in .yaml format.
    • Expected Output: "compiled" <your kernel>_hetero.cuh (heterogeneous kernel).
    • More info in scheduling.
  4. Run results based on the official Graph500 specification.
    • Expected Input: serial graph .sg or weighted serial graph .wsg.
    • Expected Output: official GTEPs numbers.
    • More info in benchmarking.

Contributors

This project is currently maintained by Christopher (Chris) Liu. The principal investigator is Professor Tyler Sorensen.

Contact

Feel free to contact Chris over Slack or email (chrisliu@cs.ucla.edu).

Clone this wiki locally