Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

meta(ad): Enzyme coverage — operator pullbacks, packed/GPU parity, Julia 1.13

オープン
#82 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
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 の本文から書いたものです。

説明

enhancement

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

  1. #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.
  2. #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.
  3. #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 the dκ 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, Advection with a Field coefficient) — test/autodiff.jl guards dκ (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 を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

RallypointOne/MatrixFreeOperators.jl のほかの issue

RallypointOne/MatrixFreeOperators.jl の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。