ENH: `lazy_while` (and friends)
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- python
- Bereich
- backend-api-design
Rechercherichtung
Es wird keine Repository-Datei oder kein Test genannt. Beginne damit, die bestehenden Dispatch-Muster von array-api-extra und die verlinkte Dokumentation zu JAX lax.while_loop zu lesen; als abgeschlossen gilt die Aufgabe, wenn die Unterstützung für lazy_while spezifiziert und implementiert wurde und gleichzeitig festgestellt wurde, ob für fori_loop und Dask Folgearbeiten erforderlich sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
While converting to the array api for magpylib in https://github.com/magpylib/magpylib/pull/844, a few of the functions(algorithms for some elliptic integrals) have the unavoidable pattern
tol = 1e-6
while (xp.all(val < tol)):
val = make_val_better(val)
return val
This doesn't directly work for jit in jax(and I assume other lazy backends). jax offers a jax.lax.while_loop primative to replace this, so it would be good to dispatch to that with an array_api_extra.lazy_while.
There's also a jax.lax.fori_loop primitive that may be similarly useful. I have never used dask, and have no clue how to do this in dask, but I assume it also needs to be dispatched somehow.
I'll likely do this as part of https://github.com/magpylib/magpylib/pull/844, and I can upstream it after.
- Vorherrschende Sprache
- Python
- Sterne
- 33
- Forks
- 32
- Ø Merge
- 5 Std. 58 Min.
- Gemergte PRs (30 T.)
- 47
Entwicklungsumgebung
Die Einrichtungsdateien dieses Projekts haben wir noch nicht geprüft. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus data-apis/array-api-extra
-
enhancement new function
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
data-apis/array-api-extra#992 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
testing
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
data-apis/array-api-extra#901 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
testing upstream issue
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
data-apis/array-api-extra#900 · 8 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
blocked testing xpx.testing
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
data-apis/array-api-extra#833 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement help wanted
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 55/100
data-apis/array-api-extra#811 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in data-apis/array-api-extra
Ähnliche Issues
-
docs pydanty:is-working
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
pydantic/pydantic-ai#8863 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
run-llama/llama_index#23278 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
documentation from-review-extraction github-actions priority: low severity:nit
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
LearningCircuit/local-deep-research#6946 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
oracle/langchain-oracle#323 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
tenstorrent/tt-metal#58057 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag