meta(ad): Enzyme coverage — operator pullbacks, packed/GPU parity, Julia 1.13
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
- 技術スタック
- julia
- 領域
- testing-qa
調査の方向性
Start with test/autodiff.jl and the three linked sub-issues (#41, #40, and #43), then rerun the mixed pointer/isbits MWE and inspect the Linux x86_64 CI matrix. Treat each sub-issue as a separate investigation: isolate the rule-body allocation failure, assess packed-field and GPU parity, and verify the declared-transpose invariants. Done means the causes and support boundaries are tested and documented without violating the listed constraints.
索引モデルが issue の本文から書いたものです。
説明
Umbrella for the open Enzyme-rule and Enzyme-coverage issues. The exchange and BC sweeps have declared-transpose rules over raw storage (_exchange_storage! / _bc_storage! + BlockLayout); the operator sweeps do not, one crash is fixed but not root-caused, none of it is tested on a GPU or a packed field, and four gradient tests are skipped on Julia 1.13.
Sub-issues
- #41 — linear-operator pullback rules (DESIGN §6). The upstream tracker it cited closed in February; first step is to re-run the mixed pointer/isbits MWE on current Enzyme and either unblock or re-point.
- #43 — packed-field and GPU AD parity for the exchange rules. Decide and document whether GPU reverse mode is supported or refused; today it is untested.
- #108 — re-enable the Enzyme gradient tests skipped on Julia 1.13 (
test/autodiff.jl,test/enzyme_rules.jl). CI runs only 1.10 and 1.13, so thedκparameter-gradient guard now runs on half the matrix.
Optional, no issue: the Linux x86_64 segfault fixed in 9fc1b02 (formerly #40) was never root-caused. That commit removed the single-grid apply_bc!/fold_bc! rule and made the remaining rule bodies allocation-free in one step, so the candidates are allocation in the rule body and the removed rule's mixed pointer/isbits AbstractGrid argument (same class as EnzymeAD/Enzyme.jl#2707). Re-bisect with an upstream MWE only if a single-grid rule is ever wanted again.
Invariants that bind every sub-issue
- A rule is an exact substitution of a declared transpose, never an approximation, and never fires on a path carrying operator parameters (
ScalingOp,Advectionwith aFieldcoefficient) —test/autodiff.jlguardsdκ(skipped on Julia 1.13 until #108 lands). - Rule arguments may not mix GC pointers with inline floats (Julia 1.12 calling convention); rule bodies may not allocate. Both are documented in DESIGN §6 and CLAUDE.md.
- A local macOS/aarch64 green run is not evidence about Linux x86_64. Push and read the CI matrix.
—
🤖 Claude refreshed this one: #40 left, #108 joined.
claude-opus-5-5[1m] (high) · claude-code 2.1.285 · unreviewed
- 主要言語
- Julia
- スター
- 3
- フォーク
- 1
- 平均マージ
- 1日 28分
- マージ済み PR(30日)
- 6
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
RallypointOne/MatrixFreeOperators.jl のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
performance
難易度 5/5 1週間以上 初心者へのやさしさ 45/100
-
perf(forest): thread the reference BlockForest path — leaf sweeps and exchange descriptor loopsオープンperformance
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
RallypointOne/MatrixFreeOperators.jl#81 · コメント 1 件 ·
RallypointOne/MatrixFreeOperators.jl の issue をすべて見る
似ている issue
-
`SplitRungeKutta` time steppers never call `update_lagrangian_particle_state!`, so particle `tracked_fields` are never updated対応中かも @ali-ramadhan が今日担当しました。 オープンbug 🐞
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
CliMA/Oceananigans.jl#6381 ·
メンテナーはふだん 1 日以内に返信
-
ci system:windows test
難易度 1/5 1時間未満 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
Single-column TKE example: boundary-layer depth description doesn't match Han & Bretherton (2019)オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 82/100
NumericalEarth/Breeze.jl#1143 ·
メンテナーはふだん 1 日以内に返信
-
format-check (Runic) is red on master: formatter drift on ~200 files対応中かも @ChrisRackauckas-Claude が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
SciML/ModelingToolkit.jl#5337 · コメント 1 件 ·
メンテナーはふだん 3 日以内に返信
-
bug parsers
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
lanl-ansi/GasModels.jl#366 ·