Developer Tools#
Testing and Benchmarking#
The run.py script provides an easy interface for building, testing, benchmarking and more.
$ python run.py <command> <command> …
Below are the possible commands and what they do.
To explicitly test a custom algorithm, add 'custom'
to the
algorithms to use list.
- run.CONV2D_ALGOS_TO_USE = ['direct', 'smm']#
The conv2d algorithms to use
- run.USE_ALL_POSSIBLE_CONV = True#
Whether to automatically generate
CONV2D_ALGOS_TO_USE
to contain all possible algorithms
Installing#
install: Runs
pip3 install .
install.e: Runs
pip3 install --editable .
install.ev: Runs
pip3 install --editable --verbose .
Testing#
test: Runs all of the following tests
Unit#
test.unit: Runs all unit tests
test.unit.<operation>: Runs unit tests for the operation
Integration#
Ensures outputs are equivalent before and after after swapping conv2d modules for the framework’s implementations
Ensures outputs are equivalent before and after swapping all modules for the framework’s implementations
Benchmarking#
bench: Runs all of the following benchmarks
By Layer#
bench.layer: Shows latency for all operations, both original and framework implementations
bench.layer.<layer>: Shows latency for the specified operation, both original and framework implementations
By DNN#
Shows latencies before and after after swapping conv2d modules for the framework’s implementations
Shows latencies before and after swapping all modules for the framework’s implementations
Documentation#
docs: Generate the documentation in HTML format.
readme: Generate the README.rst
Develop#
clangd: Generate the .clangd file with the correct include paths