Skip to content

uwsampl/nexus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b436191 · Jul 28, 2020
Feb 20, 2019
Jun 9, 2020
Feb 12, 2020
Feb 19, 2020
Jul 28, 2020
Apr 18, 2019
Jul 28, 2020
Feb 21, 2020
Feb 12, 2020
Feb 21, 2020
Feb 19, 2020
Feb 21, 2020
Feb 12, 2020
Feb 21, 2020
Feb 19, 2020
Feb 21, 2020

Repository files navigation

Nexus

Docker Image

Nexus is a scalable and efficient serving system for DNN applications on GPU cluster.

SOSP 2019 Paper

  • Check out our SOSP 2019 paper here.
  • Check out the Google Drive that contains a sample of video dataset.

Building Nexus

See BUILDING.md for details.

Docker and Examples

We provide a Docker image so that you can try Nexus quickly. And there is an example that goes step by step on how to run Nexus with a simple example application. We recommend you to take a look here.

Deployment

Download Model Zoo

Nexus publishes public model zoo on our department-hosted GitLab. To download, you need to install Git LFS first. Then, run:

git clone https://gitlab.cs.washington.edu/syslab/nexus-models
cd nexus-models
git lfs checkout

Run the Profiler

Nexus is a profile-based system. So before running Nexus, make sure you have profiled all the GPUs. To profile a certain model on a certain GPU, run:

nexus/tools/profiler/profiler.py --gpu_list=GPU_INDEX --gpu_uuid \
    --framework=tensorflow --model=MODEL_NAME \
    --model_root=nexus-models/ --dataset=/path/to/datasets/

The profile will be saved to the --model_root directory. See examples for more concrete usage.

Run Nexus

To run Nexus, you need to run the scheduler first, then spawn a backend for each GPU card, and finally run the Nexus frontend of your application. See examples for more concrete usage.