GeniusVentures / GeniusVentures/SGProcessingManager

Dispatch processors by pass type and execution backend

Open
#11 0 comments 0 reactions 1 assignee View on GitHub

@itsafuu is already working on this.

Since Jul 28, 2026.

Dominant language
C++
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Problem

Processor selection currently uses only the global input DataType, so a texture selects MNN_Image regardless of whether the active pass is INFERENCE, COMPUTE, RENDER, DATA_TRANSFORM, or RETRAIN.

The schema already describes pass type, model format, shader configuration, inputs, and outputs. SGProcessingManager must use those fields to select the correct executor while reusing the execution systems already present in SuperGenius.

Scope

  • Replace the input-type-only processor lookup with a pass-aware executor registry.
  • Select an executor from pass type, operation/backend declaration, model or shader format, resource types, and available node capabilities.
  • Route MNN inference to the existing MNN processors.
  • Route COMPUTE and RENDER to the existing SuperGenius Vulkan execution path when their schema requirements are satisfied.
  • Route built-in DATA_TRANSFORM operations to explicit transform processors.
  • Reject unsupported RETRAIN, model formats, transforms, or shader requirements during validation rather than accepting them and running an unrelated MNN processor.
  • Keep executor registration extensible without adding one central switch for every future workload.

Acceptance criteria

  • Identical input resource types can select different executors based on pass type.
  • COMPUTE and RENDER never fall through to MNN merely because their input is a texture, tensor, or buffer.
  • Unsupported executor combinations fail before input download and processing.
  • Registry tests cover MNN inference, Vulkan compute, Vulkan render, and built-in data transform selection.

Depends on issue #8 and supports issues #7 and #9.

Base implementation and review work on the branch consumed by SuperGenius/develop.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.