Skip to content

Phase 1: Enhance kernel registry for vectorized dt-robust functions #248

@ztripez

Description

@ztripez

Phase 1: Enhance Kernel Registry for Vectorized Functions

Part of Epic #247

Objective

Extend the kernel registry system to support vectorized execution hints and registration of both scalar and vectorized implementations for dt-robust operators.

Tasks

Enhance Kernel Registry Types

  • Add VectorizedKernelDescriptor struct to kernel-registry
  • Add VectorizedImpl function type for vectorized execution
  • Extend registration to track vectorized implementations

Update Registration Macros

  • Add vectorized = true attribute to #[kernel_fn] macro
  • Create #[vectorized_kernel_fn] macro for vectorized implementations
  • Update macro documentation with examples

Registry API Extensions

  • Add get_vectorized(name: &str) function to kernel-registry
  • Add has_vectorized_impl(name: &str) check function
  • Update all_names() to indicate vectorized capability

Testing

  • Add tests for vectorized registration
  • Test macro expansion with vectorized attributes
  • Verify registry lookup functions work correctly

Files to Modify

  • crates/kernel-registry/src/lib.rs
  • crates/kernel-macros/src/lib.rs
  • crates/kernel-registry/src/types.rs (if exists)

Success Criteria

  • Kernel functions can register vectorized implementations
  • Registry can lookup vectorized variants
  • Macros generate correct registration code
  • All tests pass

Dependencies

None - this is the foundation for other phases.

Estimated Time: 1 week

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestphase-1Phase 1 of epic implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions