Skip to main content

A small tool to pridict running time of a DNN model on NVIDIA GPUs.

Project description

Kerbitat

Kerbitat is a profiling tool for pridicting running time of a DNN model on NVIDIA GPUs. It can predict the performance of the target GPU from the profiling result of the source GPU.

How it works

  1. Kerbitat use KernelProfiler from habitat to get mangled kernel names of running DNN model.
  2. Kerbitat convert the mangled kernel names to feature vector.
  3. Kerbitat use a trained model to predict the performance of the target GPU from the feature vector.
  4. Kerbitat use the predicted performance to estimate the execution time of the target GPU. A Big Thanks to habitat team for providing KernelProfiler and all the other great thoughts.

How to use

from kerbitat import Kerbitat, GPU_TYPE
... # your own code
kerbitat_instance = Kerbitat(GPU_TYPE.A40)
kerbitat_instance.profiling(lambda: train_one_step(model, optimizer, x, y))
kerbitat_instance.get_target_time(GPU_TYPE.RTX2080Ti)
# 0.03143 sec per mini batch predicted on GPU RTX 2080 Ti
kerbitat_instance.convert_rate(GPU_TYPE.M40)
# The execution time on GPU M40 is 4.722 times longer than on GPU A40

Acknowledgement

This work is based on CentML's Habitat, A very big thanks to them.

DeepView.Predict (aka Habitat) began as a research project in the EcoSystem Group at the University of Toronto. The accompanying research paper appeared in the proceedings of USENIX ATC'21. If you are interested, you can read a preprint of the paper here.

@inproceedings{habitat-yu21,
  author = {Yu, Geoffrey X. and Gao, Yubo and Golikov, Pavel and Pekhimenko,
    Gennady},
  title = {{Habitat: A Runtime-Based Computational Performance Predictor for
    Deep Neural Network Training}},
  booktitle = {{Proceedings of the 2021 USENIX Annual Technical Conference
    (USENIX ATC'21)}},
  year = {2021},
}

Project details


Download files

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

Source Distribution

kerbitat-0.0.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

kerbitat-0.0.1-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file kerbitat-0.0.1.tar.gz.

File metadata

  • Download URL: kerbitat-0.0.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for kerbitat-0.0.1.tar.gz
Algorithm Hash digest
SHA256 10b62587c76bf92d0ff81f0d18cc4ad1ad561958e61a56a8c21eb364c888af66
MD5 f982f363bed3c592959e2961d11722f1
BLAKE2b-256 8073f38800013589514d6a11c4bc0df015022dd5de9f7883728c47ef70a04191

See more details on using hashes here.

File details

Details for the file kerbitat-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: kerbitat-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for kerbitat-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6d1894778a55557c69cea59dba7e6d8c4b511eae050b93a7e152c12b91479bff
MD5 c06d777ef0f9eaaa0d83ef6e9171773b
BLAKE2b-256 a09a0eb5cc62d62f040b333e32ebeae55fb16a8452ebc4f16dba242a8daba33e

See more details on using hashes here.

Supported by

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