Add cooperative-matrix capability and reflection contracts
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
- Lĩnh vực
- backend-api-design, compilers, testing-qa
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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của CrossGL/compiler
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Track CrossTL project-porting report and source-remap compatibilityCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
Tất cả issue của CrossGL/compiler
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
OpenSpace/OpenSpace#4353 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 5 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
macOS: a double-click on a notarized altairsim is refused, and the docs give only the offline caseCó thể đã có người làm @anhaoXie đã nhận hôm nay. Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
mutationpp/Mutationpp#337 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
bulletphysics/bullet3#4819 ·