Skip to content

feat: migrate wasi_nn #31

@0yi0

Description

@0yi0

Part of the C++ plugin migration (upstream: WasmEdge/WasmEdge#3840). Blocked by the pilot migration (see Relationships) — follow the recipe in docs/MIGRATING.md once it lands.

Migrate wasi_nn to build, test, and ship from this repository.

  • Enable wasi_nn in the standalone CMake build (its existing WASMEDGE_PLUGIN_* option) against the pinned WasmEdge SDK
  • Port tests from test/plugins/wasi_nn and make them pass locally — or add a smoke test if no upstream suite exists
  • Add CI following the pilot pattern: .github/workflows/build-wasi_nn.yml + .github/scripts/wasi_nn/
  • Add the plugin row to README.md
  • After the first release containing wasi_nn: tick it off in the core-removal tracking issue

Migration notes: largest plugin: one build/CI flavor per backend (GGML, PyTorch, TensorFlow Lite, OpenVINO, whisper, …) — split backends into checklist items when starting; PR #3 already prototypes the GGML workflow.

Known defect to fix when enabling the imported helper scripts: utils/wasi-nn/build-wasinn-ubuntu-openvino.sh, utils/wasi-nn/install-openvino.sh, and utils/wasi-nn/install-openvino-genai.sh use [[ ! -v "${VAR}" ]] (7 occurrences) — [[ -v ]] expects a variable name, not its value, so set variables can still be clobbered by defaults. Replace with [[ ! -v VAR ]] or : "${VAR:=default}". Found in review: #44 (comment)


🤖 Generated by Claude Fable 5 with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is neededmigrationWasmEdge/WasmEdge#3840 plugin migration

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions