Command Line Interface
Neutrino envisions Command-Line(CLI) as the user entry with interfaces similar to strace
, bpftrace
, valgrind
, etc.
Fundamental CLI of Neutrino is neutrino -p [probe] <program>
, like:
neutrino -p <probe> python train.py
for PyTorch/Triton/JAX codesneutrino -p <probe> ./main
for compiled CUDA C++ code.
<probe>
shall be the path to probes in .toml
or .py
of DSL.
Relative path will be resovled by taking Neutrino installation directory as root.
Moreover, neutrino
provide more CLI options:
--tracedir TRACEDIR
: specifying parent folder of traces (default: ./trace)--driver DRIVER
: path to the real cuda/hip driver shared library. The default value will be dynamically resolved in installing neutrino.--python PYTHON
: path to python executable used. The default value will be dynamically resolved in installing neutrino.--filter FILTER
: filter OUT buggy kernels by (part of) name, split by : (default: None)--kernel KERNEL
: filter the kernel by (part of) name, split by : (default: None)--memusage
: prevent the profiling and only measure the memory usage, helpful to prevent OOM in profiling (default: False)--benchmark
: enable benchmark mode to evaluate overhead w.r.t. the original kernel (default: False)