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
- Kerbitat use KernelProfiler from habitat to get mangled kernel names of running DNN model.
- Kerbitat convert the mangled kernel names to feature vector.
- Kerbitat use a trained model to predict the performance of the target GPU from the feature vector.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10b62587c76bf92d0ff81f0d18cc4ad1ad561958e61a56a8c21eb364c888af66 |
|
MD5 | f982f363bed3c592959e2961d11722f1 |
|
BLAKE2b-256 | 8073f38800013589514d6a11c4bc0df015022dd5de9f7883728c47ef70a04191 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d1894778a55557c69cea59dba7e6d8c4b511eae050b93a7e152c12b91479bff |
|
MD5 | c06d777ef0f9eaaa0d83ef6e9171773b |
|
BLAKE2b-256 | a09a0eb5cc62d62f040b333e32ebeae55fb16a8452ebc4f16dba242a8daba33e |