Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Add cooperative-matrix capability and reflection contracts

Đang mở
#38 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
cpp

Hướng nghiên cứu

Start by locating the reflection/package metadata, target-explanation output, package verifier, target profiles, and runtime capability declarations. Trace how requirements are encoded and validated, then design the cooperative-matrix contract around the listed fields and provenance. Done includes forward-compatible JSON encoding plus schema round-trip, verifier, and target-explanation tests covering unsupported capabilities and inconsistent declarations.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Problem

Portable shader packages need to distinguish ordinary per-invocation matrices from cooperative matrices whose storage and operations are distributed across a subgroup or wave. The compiler reflection and target-explanation contracts do not currently expose enough information for a runtime or package verifier to decide whether a translated cooperative-matrix artifact is executable on a device.

This is required independently of any one source language. Examples include Metal simdgroup_matrix, SPIR-V OpTypeCooperativeMatrixKHR, HLSL vk::CooperativeMatrix, emerging dx::linalg::Matrix facilities, and Slang cooperative matrix abstractions.

Requested contract

  • Add a stable cooperative-matrix requirement record to reflection/package metadata.
  • Represent component type, rows, columns, execution scope, operand/use role, memory layout, subgroup-size constraints, and required target extensions or shader model.
  • Distinguish native lowering from an explicit software fallback and record any workgroup-size/shared-memory requirements introduced by that fallback.
  • Include cooperative-matrix requirements in target explanation output with actionable unsupported-capability reasons.
  • Make package verification reject artifacts whose declared requirements are inconsistent with their target profile or missing from runtime capability declarations.
  • Preserve source provenance for each requirement so diagnostics can identify the originating type or operation.
  • Document forward-compatible JSON encoding and add schema round-trip, verifier, and target-explanation tests.

Interoperability

CrossTL can mirror this development contract while remaining independently usable, then emit compatible metadata when the compiler package API stabilizes. The translator must not require a published compiler release to lower source code.

Real-world driver

MLX Winograd, attention, and GEMM Metal kernels use subgroup-distributed matrix fragments. Translating the syntax is insufficient: runtime selection must know whether the target device supports the required shape/scope and whether a generated fallback has additional launch constraints. The requested contract should be general enough for other Metal, Vulkan, DirectX, and Slang repositories.

Ngôn ngữ chính
C++
Star
0
Fork
0
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của CrossGL/compiler

Tất cả issue của CrossGL/compiler

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.