Feature request: Coverage in DifferentiationInterfaceTest
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia leggendo gli scenari di DifferentiationInterfaceTest (DIT) e gli entry point esistenti per CI, documentazione e benchmarking descritti nell’issue. Determina se la coverage può essere definita in modo coerente tra i backend AD supportati e come potrebbe essere collegata agli scenari condivisi. Il lavoro è completato quando esiste un workflow di coverage documentato e funzionante, oppure una spiegazione chiaramente motivata del motivo per cui non è fattibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
To preface, this may be impossible and I really like DIT as it stands.
Ask
I would like to be able to use DifferentiaionInterfaceTest as my unit testing interface, benchmarking tool, and code coverage generator when creating packages meant to work well with AD (both a specific AD package and for multiple as far as I am aware, none of them has good tools for this). Related package level issue: https://github.com/EpiAware/CensoredDistributions.jl/issues/272
The missing part of this is having an understanding of what is being covered by my DIT scenarios which it seems code coverage is designed for.
The reason I want this is we are moving towards making a larger Julia ecosystem of packages and we really want them on a firm base/with some good practices established before hand.
What we are doing at the moment:
We currently run DIT in our CI per benchmark, in our docs (https://censoreddistributions.epiaware.org/stable/getting-started/tutorials/ad-backends) and in our benchmarking suite from a shared set of scenarios. Early days but very happy with DIT as it stands. The only additional nice to have would be a shared way to test rules but that seems like the real wild west so I imagine is out of scope.
Solution
I don't know. I don't know anything about how the AD version of the code interacts with the original version or if there is enough commonality between backends to make this a thing that is plausible to do across backends.
- Lingua principale
- Julia
- Stelle
- 316
- Fork
- 38
- Merge medio
- 2g 15h
- PR unite (30g)
- 3
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di JuliaDiff/DifferentiationInterface.jl
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
JuliaDiff/DifferentiationInterface.jl#1069 · 1 commento ·
-
bot
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
JuliaDiff/DifferentiationInterface.jl#1011 · 3 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
AutoEnzyme Jacobian preparation scalar-indexes Reactant traced arraysForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Apertabackend wontfix
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
JuliaDiff/DifferentiationInterface.jl#1066 · 10 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Tutte le issue di JuliaDiff/DifferentiationInterface.jl
Issue simili
-
`ShallowWaterModel` allocates ~9 KiB per grid point per RK3 stage on the CPUForse già presa @ali-ramadhan l’ha presa oggi. Apertaperformance 🏍️
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
CliMA/Oceananigans.jl#6421 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
`AMSGrad` state starts at `epsilon` instead of zero, so zero gradients move parameters and small gradients are dampedForse già presa @parth-patel010 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
FluxML/Optimisers.jl#247 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
OpenFUSIONToolkit/GPEC#644 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 62/100
SciML/DataDrivenDiffEq.jl#694 ·