Cascade Profiler
GPU workload profiling, Nsight Systems timing reconciliation, and NVBit instruction tracing for vLLM. Python 3.10+ can import and inspect runs; GPU workloads require CUDA, vLLM, and the tracing tools. Modal images use Python 3.12.
pip install 'cascade-profiler[modal]'
from cascade_profiler import Workload, profile
workload = Workload("facebook/opt-125m", ["Hello, my name is"], max_tokens=32, repeats=4)
result = profile(workload, "/data/phases", trace_steps="plan", trace_repeat=1)
print(result.run_dir, result.stage_wall_s)
profile needs a GPU environment with vLLM, Nsight Systems and the NVBit tracer
installed. cascade_profiler.image() supplies the optional Modal GPU image;
register(app, volume, gpu="H100!") registers only the GPU .profile function.
See PROFILER_RUNS.md and examples/modal_app.py.
Profile, then simulate
From this checkout:
modal run accelsim_trace.py::e2e_main --run-name my-run --trace-steps plan
# Timing only (no CPU simulator image is built):
modal run accelsim_trace.py::e2e_main --run-name timing-run --timing-only
Accel-Sim CPU execution lives in the separate cascade.sim simulator package on
the simulator branch of atoniolo76/cascade.
From that checkout, using the same Modal volume:
modal run scripts/simulate_accelsim.py --run-name my-run --gpu-config SM90_H100 --propagate interp
The run directory is the interface: run.json, corrected_timeline.json,
trace_alignment.json, and traced/traces/ are produced by the profiler. The
simulator consumes them and writes sim_durations.json and sim/.
The profiler does not build or execute the CPU simulator.
Metadata
Release files for cascade-profiler 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cascade_profiler-0.1.0.tar.gz | 51.4 kB | Without provenance | Details for cascade_profiler-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cascade_profiler-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for cascade_profiler-0.1.0-py3-none-any.whl |
Total release size: 95.8 kB
Release files / cascade_profiler-0.1.0.tar.gz
| Download URL | cascade_profiler-0.1.0.tar.gz |
|---|---|
| Size | 51.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
584c802e84a0670b80c4c6d1dd06530826221e39644e7a406dfec52d736a2ffd
|
|
BLAKE2b-256 checksum How to use checksums |
7e5cccf0a8913471629156997b2c463a7c5645ca2af7d292172e33169de0e3f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / cascade_profiler-0.1.0-py3-none-any.whl
| Download URL | cascade_profiler-0.1.0-py3-none-any.whl |
|---|---|
| Size | 44.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bbf9fcec467b4e9c4330bba04fee1d4f4dff5dcbdcbcb8b77e7c45a692f1a109
|
|
BLAKE2b-256 checksum How to use checksums |
2f57121ad1d14636a1c49269c624ea1416f6e91d6b27aef26b8850ba35b4c90f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Security for cascade-profiler 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.