Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Feature request: vectorized finite difference evaluation

Aperta
#210 1 commento 1 reazione 0 assegnatari Vedi su GitHub

@ChrisRackauckas-Claude ci sta già lavorando.

Dal 6/4/2026.

  • #211 di @ChrisRackauckas-Claude — aperta

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
julia
Ambito
performance

Direzione di ricerca

Inizia leggendo le API esistenti di FiniteDiff e AutoFiniteDiff e il caso d’uso GPU vettorizzato manualmente descritto nell’issue. Determina come un argomento dims rappresenterebbe le tangenti delle differenze finite riga per riga e come la forma dell’output dovrebbe essere mappata sulla matrice jacobiana. Il lavoro è concluso quando un’API generalizzata può eseguire la valutazione vettorizzata con una sola chiamata di funzione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I have an implicit function that is extremely expensive to evaluate. However, it is fully GPU parallelized, in that if a matrix is provided, then each row is evaluated in parallel. For this particular function, the output is a matrix of size = (something, number of rows)

Doing finite differences through this is then easily parallelizable by making each row be a finite difference "tangent" (sorry if I'm misusing that word), so that the full Jacobian can be constructed in one single function evaluation as opposed to many evaluations.

I am doing this now manually, but it would be nice if this functionality could be generalized into FiniteDiff. perhaps a dims argument could be provided to AutoFiniteDiff specifying the dimension about which the evaluation is vectorized (in my case across the rows, so dims=1).

Lingua principale
Julia
Stelle
305
Fork
42
Merge medio
24m
PR unite (30g)
2

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di JuliaDiff/FiniteDiff.jl

Tutte le issue di JuliaDiff/FiniteDiff.jl

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.