Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Schedule Viewer

The Schedule Viewer loads a schedule JSON file generated by cargo furiosa-opt and displays it as an interactive execution timeline. Use it to inspect which operations run in parallel, which context or resource each operation occupies, and which operations block pipeline progress.

Getting Started

Install and Run the Viewer

Install furiosa-schedule-viewer binary from crates.io:

cargo install furiosa-schedule-viewer

Run the viewer to start the local web UI:

furiosa-schedule-viewer

By default the server binds to 127.0.0.1:9254 and opens the page in your default browser. Use --host and --port to change the address that the server listens on:

furiosa-schedule-viewer --host 127.0.0.1 --port 9254

Generate a Schedule JSON File

--dump-schedule writes the compiled schedule to a JSON file. It is available when compiling a single kernel with cargo furiosa-opt compile:

cargo furiosa-opt compile <device-function> \
  --dump-schedule <path-to-json-file>

Provide the function name as the positional filter. If the function name is ambiguous, use the full Rust path, such as kernel::gemm_kernel::gemm_kernel. The command still emits the normal kernel artifacts; the JSON file is the input for the Schedule Viewer.

Usage

Click the drop zone or drag a schedule JSON file onto the page to visualize it.

Inspect Tensors and Operators

Click any node to inspect it. The left sidebar shows details such as its name, lifetime, context, and connected nodes.

When you hover over or select a node, related nodes are highlighted. For example, selecting an operator highlights its input and output tensors. Selecting a tensor highlights operators connected to that tensor.

Because tensors and operators are based on actual hardware instructions, they may differ from the tensors and operators defined in vISA. Whenever possible, the Schedule Viewer shows the vISA tensor name and shape, and the operator description.

Zoom In on the Schedule

You can zoom in on the schedule to inspect a specific region.

To adjust only the cycle range, drag across the timeline at the top or use the Cycle Range inputs at the top right. To adjust the memory-address range, click Enable Brush, then drag across the schedule view. The brush sets both the cycle range and the memory-address range.

To restore the full schedule view, click the timeline background or click Reset at the top right.