Skip to content
This repository was archived by the owner on Apr 29, 2026. It is now read-only.

Commit 0b58982

Browse files
committed
Enhance CUDA support and telemetry in synthesis process
- Added new CUDA telemetry features to collect and report per-pass statistics, improving insight into GPU utilization during synthesis. - Introduced `cuda_trace` functionality to enable detailed tracking of CUDA operations, including call counts and performance metrics. - Updated documentation to reflect new command-line options for CUDA tracing and window expansion, enhancing user experience and optimization capabilities. - Refactored existing CUDA context management to ensure efficient resource handling and in-place construction of non-copyable context types.
1 parent 5ebb222 commit 0b58982

6 files changed

Lines changed: 684 additions & 160 deletions

File tree

include/phy_engine/verilog/digital/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,12 @@ The optimization pipeline supports LLVM/GCC-like levels via `pe_synth_options::o
158158
- `cmake --build build_cuda -j`
159159
- Run example (2x V100 -> mask 3):
160160
- `./build_cuda/verilog2plsav out.sav in.v -Ocuda --cuda-device-mask 3`
161+
- If you want to understand GPU utilization and CPU fallbacks:
162+
- `./build_cuda/verilog2plsav out.sav in.v -Ocuda --cuda-device-mask 3 --report --cuda-trace`
161163
- Notes:
162-
- `-Ocuda` is shorthand for `-Omax` (aka `-O5`) + enabling CUDA-assisted optimization, and also increases some default bounded windows (e.g. sweep/resub vars).
164+
- `-Ocuda` is shorthand for `-Omax` (aka `-O5`) + enabling CUDA-assisted optimization.
165+
- To also increase some bounded windows by default (e.g. sweep/resub vars), pass `--cuda-expand-windows`.
166+
- `--cuda-trace` collects per-pass CUDA telemetry and prints it as part of `--report` output.
163167

164168
#### Two-level minimization (Espresso / full cover)
165169
- [x] Espresso “industrial-strength” loop (additional heuristics beyond EXPAND/REDUCE/IRREDUNDANT, e.g. cube ordering + bounded last-gasp)

0 commit comments

Comments
 (0)