open-standards/wai/wai-ops-npu/Cargo.toml
Transaction Science d7425f89a2 wai-ops-npu: the bench, CI, and the corpus held to npu.jsonl
- ops-npu-bench: time and energy of the corpus and of an int_synth graph on
  the device and on the CPU, every device result compared with the
  interpreter's first; the package's energy counter (a vendor counter) and the
  device runtime's own estimate (a model), each named as what it is.
- wai-ops-npu.yml: on the linux-amd runner, the probes, the corpus, the twelve
  kernel edits and the width test on the device, with the device declared and
  required; on linux-arm64, the crate builds and an absent device is SKIPPED
  without WAI_OPS_NPU_REQUIRE and a failure with it.
- The corpus test requires the vectors it runs to be exactly those npu.jsonl
  lists in the subset.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 07:12:32 -04:00

34 lines
1.1 KiB
TOML

# `wai-ops/1-npu` on neural processors: the integer operator set's arithmetic
# operators as kernels for one compute core of a tile array, built at run time
# with the array's open toolchain and run through its device runtime, exact for
# every graph of the accelerator subset (extensions/integer-operators.md §9.2,
# §9.5).
#
# A SEPARATE crate with its own lockfile and no dependency but `wai-ops`, so
# that `wai-ops` stays `no_std` and `wai-rs` never sees a device runtime. The
# device is found, and the program and host side are built, only on Linux with
# the device present; everywhere else the crate builds and its device tests
# say SKIPPED.
[package]
name = "wai-ops-npu"
version = "0.1.0"
edition = "2024"
rust-version = "1.97"
license = "Apache-2.0"
publish = false
description = "WAI integer operator set wai-ops/1-npu on neural processors: tile-array kernels exact for the accelerator subset"
[lib]
name = "wai_ops_npu"
path = "src/lib.rs"
[dependencies]
wai-ops = { path = "../wai-ops" }
# Time and energy of graphs on the device and on the CPU (src/bin/bench.rs).
[[bin]]
name = "ops-npu-bench"
path = "src/bin/bench.rs"
[profile.release]
debug = false