Glossary
The words this repository’s documents use. Symbols are spelled as the code spells them.
| Word | Meaning |
|---|---|
| Engine | The facade a caller holds. It creates tensors, sets the execution mode, owns the task graph and hands out one view object per operation family (include/SushiBLAS/engine.hpp) |
| Tensor | Shape, stride, rank, dtype and layout metadata over a Storage. transpose(), reshape() and slice() return new views over the same storage |
| Storage | A ref-counted SushiRuntime USM allocation that one or more tensors view |
| Task graph | SushiRuntime’s TaskGraph. An operation call adds one task to it; engine.execute() compiles and runs it |
| Record time | The moment an operation call adds its task to the graph, before anything runs. Input checks throw here |
| Dtype | A member of Core::DataType: HALF, FLOAT32, FLOAT64, COMPLEX32, COMPLEX64, INT32, INT64 |
| Domain | Dispatch::Domain, the dtype families an operation admits: REAL, COMPLEX, INTEGRAL and their unions |
| Layout | Core::Layout, ROW_MAJOR or COLUMN_MAJOR; how a matrix operand is addressed |
| Reference kernel | The plain C++ implementation of an operation, under kernels/reference/. Correctness is judged against it |
| SYCL kernel | The device implementation of an operation, under kernels/sycl/ |
| Execution mode | ExecutionMode: AUTO and FORCE_SYCL run the SYCL kernel, FORCE_REFERENCE runs the reference kernel on the host, VERIFY runs the SYCL kernel and then the reference kernel over the same output without comparing them |
| Dispatch helper | Internal::execute_typed_task and Internal::dispatch_with_mode in engine/task.hpp: the first records a task and switches on the dtype, the second applies the execution mode |
| Dispatch seam | The public SushiBLAS::Dispatch functions that take a caller-written functor and run it as one SYCL kernel, such as execute_binary and execute_gemm |
| Epilogue | A functor GEMM applies to each output element just before the store; it receives the value, the row and the column |
| Launch shape | How a kernel maps work onto the device: per element (launch_1d.hpp), a whole-tensor fold (reduce_1d.hpp) or a segmented fold (reduce_axis.hpp) |
| Segment | The run of elements an axis reduction folds into one output element |
| Accumulation policy | A type such as Reduce::CompensatedSum or Reduce::RunningMax that states how a fold combines values |
| Device profile | Device::Profile, the facts about a device that a kernel dispatches on, probed once per device (support/device_policy.hpp) |
| Register block | The square of accumulators one GEMM work-item keeps in registers; 8x8 for 4-byte and narrower element types, 4x4 for wider ones |
| Tile | The block of an operand a GEMM work-group stages in local memory |
| AOT target | A device target compiled ahead of time through SB_SYCL_TARGETS, as opposed to SPIR-V compiled by the runtime |
| Quarantine | The headers under include/SushiBLAS/experimental/: declared, outside the umbrella header and the Engine facade, and not all defined |
| Functional suite | The CTest tests labelled unit, integration or regression; the default of sb test |
| Package suite | sb test --suite package: installs the package and builds and runs tests/package/ against it |
| Sibling checkout | A SushiRuntime checkout in the folder beside this repository, ../sushiruntime |
| Workspace | A SushiStack folder that holds several module checkouts and one dependencies/ tree |
hub |
SushiStack’s CLI; it provisions the toolchains and libraries of a workspace |
sb |
This repository’s CLI, also installed as sushiblas; see cli/README.md |
| Dependency fragment | cli/sushistack.deps.toml, where this module declares what sb setup and hub install provision for it |
| D1 | The decision that moved LinalgOps and TransformsOps out of the Engine facade into the quarantine. It is recorded in SushiAI’s docs/design/ROADMAP.md |
| D3 | The three-step resolution of the SushiRuntime dependency in cmake/Runtime.cmake: a superproject target, then find_package(SushiRuntime), then a sibling add_subdirectory |
| SB-0 to SB-12 | Numbered slices of the SushiBLAS build-out, used in commit subjects and in older documents. SB-6 is the packaging slice. The numbering comes from SushiAI’s docs/design/ROADMAP.md |

